Этап 7: сопровождение и модификация программы 38
Комментирование 38
Механика программирования 38
Файлы объектного кода, исполняемые файлы и библиотеки 39
Операционная система Unix 41
Коллекция компиляторов GNU и проект LLVM 43
Системы Linux 43
Компиляторы командной строки для РС 44
Интегрированные среды разработки (Windows) 44
Опция Windows/Linux 46
Работа с языком С в системах Macintosh 46
Как организована эта книга 47
Соглашения, принятые в этой книге 47
Шрифты и начертание 47
Вывод программы 48
Специальные элементы 49
Резюме 49
Вопросы для самоконтроля 50
Упражнения по программированию 50
Содержание 7
Глава 2. Введение в язык С 51
Простой пример программы на языке С 52
Пояснение примера 53
Проход 1: краткий обзор 54
Проход 2: нюансы программы 55
Структура простой программы 63
Советы по обеспечению читабельности программ 64
Еще один шаг в использовании языка С 65
Документирование 65
Множественные объявления 66
Умножение 66
Вывод нескольких значений 66
Множество функций 66
Знакомство с отладкой 68
Синтаксические ошибки 68
Семантические ошибки 69
Состояние программы 70
Ключевые слова и зарезервированные идентификаторы 71
Ключевые понятия 72
Резюме 73
Вопросы для самоконтроля 73
Упражнения по программированию 74
Глава 3. Данные в языке С 77
Демонстрационная программа 78
Что нового в этой программе? 79
Переменные и константы 80
Ключевые слова для типов данных 81
Сравнение целочисленных типов и типов с плавающей запятой 82
Целые числа 82
Числа с плавающей запятой 83
Базовые типы данных языка С 84
Тип int 84
Другие целочисленные типы 88
Использование символов: тип char 92
Тип_Bool 98
Переносимые типы: stdint.h и inttypes.h 98
Комплексные и мнимые типы 105
За пределами базовых типов 105
Размеры типов 108
Использование типов данных 108
Аргументы и связанные с ними ловушки 109
Еще один пример: управляющие последовательности 111
Результаты выполнения программы 111
Сброс буфера вывода 112
Ключевые понятия 113
Резюме 113
Вопросы для самоконтроля 114
Упражнения по программированию 116
8 Содержание
Глава 4. Символьные строки и форматированный ввод-вывод m
Вводная программа 118
Введение в символьные строки 119
Массив типа char и нулевой символ 119
Использование строк 120
Функция strlen() 121
Константы и препроцессор С 123
Модификатор const 127
Работа с символическими константами 127
Исследование и эксплуатация функций printf() и scanf() 129
Функция printf() 130
Использование функции printf() 130
Использование функции scanf() 144
Ключевые понятия 151
Резюме 152
Вопросы для самоконтроля 153
Упражнения по программированию 155
Глава 5. Операции, выражения и операторы 157
Введение в циклы 158
Фундаментальные операции 160
Операция присваивания: = 160
Операция сложения: + 163
Операция вычитания: - 163
Операции знака: - и + 163
Операция умножения: * 164
Операция деления: / 166
Приоритеты операций 167
Приоритет и порядок вычисления 169
Некоторые дополнительные операции 170
Операция sizeof и тип size_t 170
Операция деления по модулю: % 171
Операции инкремента и декремента: ++ и -- 172
Декрементирование: -- 176
Приоритеты операций 177
Не умничайте 177
Выражения и операторы 178
Выражения 179
Операторы 179
Составные операторы (блоки) 182
Преобразования типов 184
Операция приведения 187
Функции с аргументами 188
Демонстрационная программа 190
Ключевые понятия 191
Резюме 192
Вопросы для самоконтроля 193
Упражнения по программированию 196
Содержание 9
Глава 6. Управляющие операторы С: циклы 199
Повторный обзор цикла while 200
Комментарии к программе 201
Цикл чтения в стиле С 202
Оператор while 203
Завершение цикла while 204
Когда цикл завершается? 204
Оператор while: цикл с предусловием 205
Особенности синтаксиса 205
Сравнение: операции и выражения отношений 207
Что такое истина? 208
Что еще является истинным? 209
Затруднения с понятием истины 210
Новый тип _Bool 212
Приоритеты операций отношений 213
Неопределенные циклы и циклы со счетчиком 215
Цикл for 216
Использование цикла for для повышения гибкости 217
Дополнительные операции присваивания: +=, -=, * = , / = , %= 221
Операция запятой 222
Греческий философ Зенон и цикл for 225
Цикл с постусловием: do while 226
Выбор подходящего цикла 229
Вложенные циклы 230
Анализ программы 230
Изменение поведения вложенного цикла 230
Читать дальше