Язык программирования C.
В продаже классическая книга: «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи, 2—е издание, бумага офсетная-белая, твердый переплет, 304 стр., ISBN 978-5-8459-0891-9, «ВИЛЬЯМС»
Книга «Язык программирования Си» написана разработчиками языка программирования C(Си) — Брайаном У. Керниганом и Деннисом М. Ритчи. Эта книга служит многие годы неформальной спецификацией языка Си. Книга выдержала в США уже более 40(!) переизданий и является как практически исчерпывающим классическим справочником, так и учебным пособием по самому распространенному языку программирования C(Си)
Предлагаемое второе издание классической книги «Язык программирования C (Си)» было существенно переработано по сравнению с первым в связи с появлением стандарта ANSI C, для которого она частично послужила основой. Книга не рекомендуется для чтения новичкам — для своего изучения она требует знания основ программирования и компьютеров
Книга предназначена для широкого круга программистов и компьютерных специалистов. Книга «Язык программирования C (Си)» может использоваться как учебное пособие для вузов и всех кто хочет освоить программирование
Оригинал книги: «C Programming Language», Brian W. Kernighan, Dennis M. Ritchie (AT-T Bell Laboratories), 2nd Edition, 274 pages, ISBN 0-13-110362-8
СОДЕРЖАНИЕ КНИГИ «Язык программирования C(Си)» (2-е издание):
- Предисловие 11
- Предисловие к первому изданию 13
- Введение 15
- Глава 1. Вводный урок 19
- 1.1. Первые шаги 19
- 1.2. Переменные и арифметические выражения 22
- 1.3. Оператор for 27
- 1.4. Символические константы 28
- 1.5. Символьный ввод-вывод 29
- 1.5.1. Копирование файлов 29
- 1.5.2. Подсчет символов 31
- 1.5.3. Подсчет строк 32
- 1.5.4. Подсчет слов 33
- 1.6. Массивы 35
- 1.7. Функции 37
- 1.8. Аргументы: передача по значению 40
- 1.9. Массивы символов 41
- 1.10. Внешние переменные 44
Глава 2. Типы данных, операции и выражения 49
- 2.1. Имена переменных 49
- 2.2. Типы данных и их размеры 50
- 2.3. Константы 51
- 2.4. Объявления 54
- 2.5. Арифметические операции 55
- 2.6. Операции отношения и логические операции 55
- 2.7. Преобразование типов 56
- 2.8. Операции инкрементирования и декрементирования 60
- 2.9. Поразрядные операции 62
- 2.10. Операции с присваиванием и выражения с ними 63
- 2.11. Условные выражения 65
- 2.12. Приоритет и порядок вычисления 66
- Глава 3. Управляющие конструкции 69
- 3.1. Операторы и блоки 69
- 3.2. Оператор if-else 69
- 3.3. Конструкция else-if 71
- 3.4. Оператор switch 72
- 3.5. Циклы — while и for 74
- 3.6. Циклы — do-while 77
- 3.7. Операторы break и continue 78
- 3.8. Оператор goto и метки 79
Глава 4. Функции и структура программы 81
- 4.1. Основы создания функций 81
- 4.2. Функции, возвращающие нецелые значения 85
- 4.3. Внешние переменные 87
- 4.4. Область действия 93
- 4.5. Заголовочные файлы 95
- 4.6. Статические переменные 96
- 4.7. Регистровые переменные 97
- 4.8. Блочная структура 97
- 4.9. Инициализация 98
- 4.10. Рекурсия 99
- 4.11. Препроцессор C 101
- 4.11.1. Включение файлов 101
- 4.11.2. Макроподстановки 102
- 4.11.3. Условное включение 104
Глава 5. Указатели и массивы 105
- 5.1. Указатели и адреса 105
- 5.2. Указатели и аргументы функций 107
- 5.3. Указатели и массивы 109
- 5.4. Адресная арифметика 112
- 5.5. Символьные указатели и функции 115
- 5.6. Массивы указателей и указатели на указатели 118
- 5.7. Многомерные массивы 122
- 5.8. Инициализация массивов указателей 124
- 5.9. Указатели и многомерные массивы 124
- 5.10. Аргументы командной строки 125
- 5.11. Указатели на функции 129
- 5.12. Сложные объявления 132
Глава 6. Структуры 139
- 6.1. Основы работы со структурами 139
- 6.2. Структуры и функции 141
- 6.3. Массивы структур 144
- 6.4. Указатели на структуры 147
- 6.5. Структуры со ссылками на себя 149
- 6.6. Поиск по таблице 154
- 6.7. Определение новых типов 156
- 6.8. Объединения 158
- 6.9. Битовые поля 159
Глава 7. Ввод-вывод 163
- 7.1. Стандартные средства ввода-вывода 163
- 7.2. Форматированный вывод и функция printf 165
- 7.3. Списки аргументов переменной длины 167
- 7.4. Форматированный ввод и функция scanf 169
- 7.5. Доступ к файлам 172
- 7.6. Обработка ошибок. Поток stderr и функция exit 174
- 7.7. Ввод-вывод строк 176
- 7.8. Различные функции 177
- 7.8.1. Операции со строками 177
- 7.8.2. Анализ, классификация и преобразование символов 178
- 7.8.3. Функция ungetc 178
- 7.8.4. Выполнение команд 178
- 7.8.5. Управление памятью 179
- 7.8.6. Математические функции 179
- 7.8.7. Генерирование случайных чисел 180
Глава 8. Интерфейс системы Unix 181
- 8.1. Дескрипторы файлов 181
- 8.2. Ввод-вывод низкого уровня — функции read и write 182
- 8.3. Функции open, creat, close, unlink 184
- 8.4. Прямой доступ к файлу и функция lseek 186
- 8.5. Пример реализации функций fopen и getc 187
- 8.6. Пример получения списка файлов в каталоге 190
- 8.7. Пример распределения памяти 196
Приложение А. Справочное руководство по языку C 201
- А.1. Введение 201
- А.2. Лексические соглашения 201
- А.2.1. Лексемы 201
- А.2.2. Комментарии 202
- А.2.3. Идентификаторы 202
- А.2.4. Ключевые слова 202
- А.2.5. Константы 203
- А.2.5.1. Целочисленные константы 203
- А.2.5.2. Символьные константы 203
- А.2.5.3. Вещественные константы с плавающей точкой 204
- А.2.5.4. Константы перечислимых типов 205
- А.2.6. Строковые литералы (константы) 205
- А.3. Система синтаксических обозначений 205
- А.4. Употребление идентификаторов 206
- А.4.1. Классы памяти 206
- А.4.2. Базовые типы 206
- А.4.3. Производные типы 207
- А.4.4. Модификаторы типов 208
- А.5. Объекты и именующие выражения 208
- А.6. Преобразования типов 208
- А.6.1. Расширение целочисленных типов 209
- А.6.2. Преобразование целочисленных типов 209
- А.6.3. Преобразование целых чисел в вещественные и наоборот 209
- А.6.4. Вещественные типы 209
- А.6.5. Арифметические преобразования 210
- А.6.6. Связь указателей и целых чисел 210
- А.6.7. Тип void 211
- А.6.8. Указатели на void 212
- А.7. Выражения 212
- А.7.1. Генерирование указателей
Также рекомендуем к прочтению: C++ классическое издание
Отзывов пока нет.