8.10. Перечисления. Работа с клавиатурой IBM PC.. 46
8.11. Пример организации светового меню... 49
9. Массивы. Адресная арифметика языка Си.. 52
9.1. Описание массива.. 52
9.2. Ввод-вывод массива.. 53
9.3. Инициализация массива.. 55
9.4. Программа вычисления длины строки символов. 56
9.5. Двумерные массивы (массивы массивов) 57
9.6. Адресная арифметика языка Си.. 59
9.7. Указатели и одномерные массивы.. 64
9.8. Указатели и двумерные массивы.. 66
9.9. Указатели и функции.. 68
9.10. Оператор typedef. 69
9.11. Дополнительные описания указателей для IBM PC.. 71
9.12. Непосредственная работа с экранной памятью... 73
10. Дополнительные сведения о функциях.. 75
10.1. Области видимости и глобальные данные. 75
10.2. Время жизни переменных и классы памяти языка Си.. 78
10.3. Передача аргументов в функцию... 80
10.4. Возврат значений из функций.. 81
11. Работа с динамической памятью.... 83
11.1. Стандартные функции управления динамической памятью... 83
11.2. Пример использования динамической памяти.. 86
11.3. Особенности работы с двумерными массивами.. 88
11.3.1. Пересчет индексов вручную.. 88
11.3.2. Массивы с постоянной длиной строки. 89
11.3.3. Общий случай двумерного массива. 91
11.4. Особенности работы с массивами большого размера.. 97
12. Модульное программирование в системе Turbo C.. 99
12.1. Обеспечение корректной стыковки модулей.. 100
12.2. Создание библиотек функций.. 101
13. Некоторые библиотечные функции языка Си.. 102
13.1. Функции консольного ввода/вывода (уникальны для TC) 102
13.2. Функции обработки строк. 105
13.3. Функции распознавания вида символа.. 108
13.4. Функции преобразования данных.. 109
14. Структуры языка C. 111
14.1. Описание структуры.. 111
14.2. Трактовка имени структуры. 112
14.2.1. Доступ к элементу структуры. 112
14.3. Инициализация структур. 113
14.4. Структуры и функции. 113
14.5. Поля бит в структурах. 114
15. Объединения. 116
16. Дополнительные сведения о препроцессоре языка C. 117
22. Условное выражение. 119
22.1. Приоритеты и направления операций. 119
23. Динамические данные. 121
23.1. Линейные списки. 121
23.2. Организация данных в виде стека. 128
23.3. Организация данных в виде очереди. 129
23.4. Организация данных в виде деревьев. 131
24. Библиотека ввода-вывода языка C. 132
24.1. Открытие потока. 132
24.2. Закрытие потока. 133
24.3. Предопределенные указатели потоков. 134
24.4. Функции ввода-вывода. 134
Брянский Государственный Технический Университет
Язык Си создан в начале 70х годов Дэнисом Ритчи в Bell Telephone Laboratories для ОС UNIX. Предшественником Си является язык Би, созданный Кэном Томпсоном, который в свою очередь имеет корни в языке Мартина Ричардсона BCPL.
В 1978 г. Брайн Керниган и Денис Ритчи написали книгу "Язык программирования Си", которую можно рассматривать как некоторый стандарт языка "K & R". Ее называют белой книгой.
В 1983г. ANSI сформировал технический комитет X3J11 для создания стандарта языка Си. Этот стандарт усовершенствуется до сих пор и поддерживается большинством фирм разработчиков компиляторов.