ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ СИ
Учебное пособие
по дисциплине «Языки высокого уровня»
Иркутск 2014
УДК 004.43
ББК 32.973-018
Л 87
Рекомендовано к изданию редакционным советом ИрГУПС
Рецензенты:
С. В. Мишин , к. т. н., доцент, декан факультета авиационных систем и комплексов Иркутского филиала Московского государственного технического университета гражданской авиации;
С. И. Круглов , д. т. н., профессор, заведующий кафедрой «Управление техническими системами» Иркутского государственного университета путей сообщения
Лучников В. А.
Программирование на языке СИ : учебное пособие / В. А. Лучников. – Иркутск : ИрГУПС, 2014. – 159 с.
Учебное пособие предназначено для студентов направления подготовки «Программная инженерия». Оно может быть также полезно для студентов других специальностей, изучающих программирование и использующих его в прикладных задачах при выполнении расчетно-графических и курсовых работ по специальным дисциплинам.
Учебное пособие содержит последовательное изложение основ программирования на примере алгоритмического языка Си, необходимую для практической работы справочную информацию. Пособие снабжено большим количеством примеров, иллюстрирующих основные приемы программирования. Рассматриваются структурная и объектно-ориентированная технологии программирования, методы проектирования, отладки и тестирования программ, использование основных структур данных для решения конкретных практических задач. В конце каждой темы приводятся часто встречающиеся ошибки программирования, относящиеся к этой теме. Изложение материала опирается на учебник автора «Программирование на языке Паскаль».
Данное учебное пособие является вторым в серии учебных пособий по программированию на алгоритмических языках высокого уровня, написанных автором.
УДК 004.43
ББК 32.973-018
© Лучников В. А., 2014
© Иркутский государственный университет
путей сообщения, 2014
ОГЛАВЛЕНИЕ
Предисловие ..................................................................................................................... 5
Алфавит языка .................................................................................................................. 7
Служебные слова ............................................................................................................. 8
Константы ........................................................................................................................... 9
Комментарии ................................................................................................................... 11
Переменные ..................................................................................................................... 11
Математические функции ............................................................................................... 15
Математические константы ............................................................................................ 17
Выражения ........................................................................................................................ 18
выражения целого типа ...................................................................................... 18
выражения вещественного типа ........................................................................ 22
Операторы присваивания .............................................................................................. 23
Ввод и вывод данных ...................................................................................................... 27
стандартный ввод-вывод ...................................................................................... 27
посимвольный ввод-вывод ................................................................................. 28
ввод-вывод строк ................................................................................................. 28
форматированный вывод .................................................................................... 29
форматированный ввод ....................................................................................... 32
Структура программы ..................................................................................................... 36
Директивы препроцессора .............................................................................................. 38
включение файлов ............................................................................................... 38
подстановка имен ................................................................................................. 41
макросы ................................................................................................................. 41
Алгоритм и его свойства ................................................................................................. 43
схемы алгоритмов ................................................................................................ 43
Базовые структуры ........................................................................................................... 47
цепочка .................................................................................................................. 48
ветвления ............................................................................................................... 49
альтернатива ............................................................................................. 49
переключатель ........................................................................................... 61
циклы ..................................................................................................................... 68
бесконечные циклы .................................................................................. 68
циклы с предусловием .............................................................................. 69
циклы с постусловием .............................................................................. 78
циклы с параметром ................................................................................. 90
Структуры данных ........................................................................................................... 97
массивы ................................................................................................................. 98
файлы ................................................................................................................... 109
текстовые файлы ................................................................................... 110
бинарные файлы ..................................................................................... 117
Функции ......................................................................................................................... 121
рекурсия ............................................................................................................. 129
Адреса и указатели ......................................................................................................... 135
операции над указателями ................................................................................. 138
указатели и массивы ........................................................................................... 139
указатели и функции .......................................................................................... 142
указатели и строки ............................................................................................. 150
функции для работы со строками ...................................................................... 152