Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Си.doc
Скачиваний:
31
Добавлен:
04.06.2015
Размер:
2.75 Mб
Скачать

Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке Cи

Автор: старший преподаватель Лучников В.А.

Иркутск

2012

Лучников В.А.Программирование на языке Си. Учебное пособие – Иркутск: ИрГУПС, 2012.-157 с.

Учебное пособие предназначено для студентов специальностей “Информационные системы и технологии”, “Программная инженерия” и “Информационная безопасность”. Оно может быть также полезно для студентов других специальностей, изучающих программирование и использующих его в прикладных задачах при выполнении расчетно-графических и курсовых работ по специальным дисциплинам.

Учебное пособие содержит последовательное изложение основ программирования на примере алгоритмического языка Си, необходимую для практической работы справочную информацию. Пособие снабжено большим количеством примеров, иллюстрирующих основные приемы программирования. Рассматривается структурная и объектно-ориентированная технологии программирования, методы проектирования, отладки и тестирования программ, использование основных структур данных для решения конкретных практических задач. В конце каждой темы приводятся часто встречающиеся ошибки программирования, относящиеся к этой теме. Изложение материала опирается на учебник автора “Программирование на языке Паскаль”.

Данное учебное пособие является вторым в серии учебных пособий по программированию на алгоритмических языках высокого уровня, написанных автором. Следующими будут выпущены учебники по программированию на языках PHP и Java, необходимые студентам специальностей Института информационных технологий и моделирования.

Содержание

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Алфавит языка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Служебные слова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Константы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

Комментарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

Переменные. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Математические функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

Математические константы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

выражения целого типа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

выражения вещественного типа. . . . . . . . . . . . . . . . . . . . . . . . . . 22

Операторы присваивания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Ввод и вывод данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

стандартный ввод-вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

посимвольный ввод-вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ввод-вывод строк. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

форматированный вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

форматированный ввод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Структура программы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Директивы препроцессора. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

включение файлов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

подстановка имен. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

макросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

Структуры данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

массивы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Алгоритм и его свойства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

схемы алгоритмов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Базовые структуры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

цепочка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

ветвления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

альтернатива. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

переключатель. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

циклы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

бесконечные циклы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

циклы с предусловием. . . . . . . . . . . . . . . . . . . . . . . . . . . .77

циклы с постусловием. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

циклы с параметром. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

рекурсия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Адреса и указатели. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123

операции над указателями. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126

указатели и массивы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127

указатели и функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130

указатели и строки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

функции для работы со строками. . . . . . . . . . . . . . . . . . . . . . . . .139

Файлы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

текстовые файлы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

бинарные файлы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]