- •В. А. Лучников программирование на языке си
- •Оглавление
- •Предисловие
- •Алфавит языка
- •Служебные слова
- •Константы
- •Комментарии
- •Переменные
- •Int I,j,k; //переменные I, j, k – целого типа
- •Математические функции
- •Математические константы
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа
- •Примеры вычислений выражений целого типа
- •Выражения вещественного типа
- •Примеры записи выражений вещественного типа
- •Примеры вычислений выражений вещественного типа
- •Операторы присваивания
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Стандартный ввод-вывод
- •Посимвольный ввод-вывод
- •Ввод-вывод строк
- •Форматированный вывод
- •Форматированный ввод
- •Scanf(“формат”, аргументы);
- •Int age, rost;
- •Vasja Pupkin
- •Vasja Pupkin
- •Структура программы
- •Void main()
- •Int main()
- •Int age, rost;
- •Директивы препроцессора
- •Включение файлов
- •Int main()
- •Int age, rost;
- •Int main()
- •Int age, rost;
- •Подстановка имен
- •Макросы
- •#Define vyvod puts(“Programma studenta Vasi Pupkina”)
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Int main()
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования
- •Int main()
- •Переключатель
- •Int main()
- •Int month;
- •Часто встречающиеся ошибки программирования
- •Бесконечные циклы
- •Циклы с предусловием
- •Int main()
- •Программа
- •Int main()
- •Программа
- •Int main()
- •Часто встречающиеся ошибки программирования
- •Циклы с постусловием
- •Программа
- •Int main()
- •Int main()
- •Программа
- •Int main()
- •Int main()
- •Int main()
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Int main()
- •Int top, bottom;
- •Int main()
- •Int num, sum, factor;
- •Int main()
- •Int main()
- •Int main()
- •Структуры данных
- •Массивы
- •Int vect[5];
- •Int vect[count];
- •Vect[0] vect[1] vect[2] vect[3] vect[4]
- •Int main()
- •Int temp;
- •Int matr[row][col];
- •Int main()
- •Int I, m, vector_min, vector_max, temp;
- •Int vector[n];
- •Int main()
- •Int vector_min, vector_max, temp;
- •Int vector[n];
- •Текстовые файлы
- •Int vector[k];
- •Vector_1:
- •Vector_2:
- •Int ocenka;
- •Imja: Vasilij
- •Imja: Ivan
- •Int ocenka;
- •Бинарные файлы
- •Функции
- •Void main()
- •Int summa(int a, int b)
- •Int summa(int a, int b)
- •Void swap(int a, int b)
- •Int temp;
- •Void poplavok(int n, int vector[n])
- •5 * 4 * Factorial(3)
- •5 * 4 * 3 * Factorial(2)
- •5 * 4 * 3 * 2 * Factorial(1)
- •Int fibo(int n)
- •Int binom(int m, int n)
- •Int max_element(int k, int n, int vector[])
- •Int temp;
- •Void quick_sort(int left, int right, int vector[])
- •Адреса и указатели
- •Операции над указателями
- •Указатели и массивы
- •Int mass[5];
- •Int trio[5][2][3];
- •Указатели и функции
- •Int sloshenie(int a, int b);
- •Int sloshenie(int a, int b)
- •Int main()
- •Указатели и строки
- •Функции для работы со строками
- •Vtorokursnik
- •Vtorokursnik
- •Itoa(I, str, 16);
- •Лучников Владимир Александрович программирование на языке си
федеральное агентство железнодорожного транспорта
Иркутский государственный университет путей сообщения
В. А. Лучников программирование на языке си
Учебное пособие
по дисциплине «Языки высокого уровня»
Иркутск 2014
УДК 004.43
ББК 32.973-018
Л 87
Рекомендовано к изданию редакционным советом ИрГУПС
Рецензенты:
С. В. Мишин, к. т. н., доцент, декан факультета авиационных систем и комплексов Иркутского филиала Московского государственного технического университета гражданской авиации;
С. И. Круглов, д. т. н., профессор, заведующий кафедрой «Управление техническими системами» Иркутского государственного университета путей сообщения
Л
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