- Артикул:00-01028630
- Автор: Керниган Б.У., Ритчи Д.М.
- ISBN: 978-5-907144-14-9
- Тираж: 1000 экз.
- Обложка: Твердый переплет
- Издательство: ДИАЛЕКТИКА (все книги издательства)
- Город: Москва-Санкт-Петербург
- Страниц: 288
- Формат: 70х100/16
- Год: 2020
- Вес: 873 г
Во втором издании книги описывается язык С в том виде, в каком его определяет стандарт ANSI. Хотя мы и отмечаем те места языка, которые эволюционировали со временем, но все же мы решили писать почти исключительно о современном состоянии С. Как правило, это не очень существенно; наиболее заметное изменение – это новая форма объявления и определения функций. Современные компиляторы уже поддерживают большую часть нового стандарта.
Содержание
Предисловие
Предисловие к первому изданию Введение
Глава 1. Вводный урок
1.1. Первые шаги
1.2. Переменные и арифметические выражения
1.3. Оператор for
1.4. Символические константы
1.5. Символьный ввод-вывод
1.5.1. Копирование файлов
1.5.2. Подсчет символов
1.5.3. Подсчет строк
1.5.4. Подсчет слов
1.6. Массивы
1.7. Функции
1.8. Аргументы: передача по значению
1.9. Массивы символов
1.10. Внешние переменны
Глава 2. Типы данных, операции и выражения
2.1. Имена переменных
2.2. Типы данных и их размеры
2.3. Константы
2.4. Объявления
2.5. Арифметические операции
2.6. Операции отношения и логические операции
2.7. Преобразование типов
2.8. Операции инкрементирования и декрементирования
2.9. Поразрядные операции
2.10. Операции с присваиванием и выражения с ними
2.11. Условные выражения
2.12. Приоритет и порядок вычисления
Глава 3. Управляющие конструкции
3.1. Операторы и блоки
3.2. Оператор if-else
3.3. Конструкция else-if
3.4. Оператор switch
3.5. Циклы - while и for
3.6. Циклы - do-while
3.7. Операторы break и continue
3.8. Оператор goto и метки
Глава 4. Функции и структура программы
4.1. Основы создания функций
4.2. Функции, возвращающие нецелые значения
4.3. Внешние переменные
4.4. Область действия
4.5. Заголовочные файлы
4.6. Статические переменные
4.7. Регистровые переменные
4.8. Блочная структура
4.9. Инициализация
4.10. Рекурсия
4.11. Препроцессор С
4.11.1. Включение файлов
4.11.2. Макроподстановки
4.11.3. Условное включение
Глава 5. Указатели и массивы
5.1. Указатели и адреса
5.2. Указатели и аргументы функций
5.3. Указатели и массивы
5.4. Адресная арифметика
5.5. Символьные указатели и функции
5.6. Массивы указателей и указатели на указатели
5.7. Многомерные массивы
5.8. Инициализация массивов указателей
5.9. Указатели и многомерные массивы
5.10. Аргументы командной строки
5.11. Указатели на функции
5.12. Сложные объявления
Глава 6. Структуры
6.1. Основы работы со структурами
6.2. Структуры и функции
6.3. Массивы структур
6.4. Указатели на структуры
6.5. Структуры со ссылками на себя
6.6. Поиск по таблице
6.7. Определение новых типов
6.8. Объединения
6.9. Битовые поля
Глава 7. Ввод-вывод
7.1. Стандартные средства ввода-вывода
7.2. Форматированный вывод и функция printf
7.3. Списки аргументов переменной длины
7.4. Форматированный ввод и функция scanf
7.5. Доступ к файлам
7.6. Обработка ошибок. Поток stderr и функция exit
7.7. Ввод-вывод строк
7.8. Различные функции
7.8.1. Операции со строками
7.8.2. Анализ, классификация и преобразование символов
7.8.3. Функция ungetc
7.8.4. Выполнение команд
7.8.5. Управление памятью
7.8.6. Математические функции
7.8.7. Генерирование случайных чисел
Глава 8. Интерфейс системы Unix
8.1. Дескрипторы файлов
8.2. Ввод-вывод низкого уровня - функции read и write
8.3. Функции open, creat, close, unlink
8.4. Прямой доступ к файлу и функция lseek
8.5. Пример реализации функций fopen и getc
8.6. Пример получения списка файлов в каталоге
8.7. Пример распределения памяти
Приложение А. Справочное руководство по языку С
А. 1. Введение
А.2. Лексические соглашения
А.2.1. Лексемы
А.2.2. Комментарии
А.2.3. Идентификаторы
А.2.4. Ключевые слова
А.2.5. Константы
А.2.5.1. Целочисленные константы
А.2.5.2. Символьные константы
А.2.5.3. Вещественные константы с плавающей точкой
А.2.5.4. Константы перечислимых типов
А.2.6. Строковые литералы (константы)
А.З. Система синтаксических обозначений
А.4. Употребление идентификаторов
А.4.1. Классы памяти
А.4.2. Базовые типы
А.4.3. Производные типы
А.4.4. Модификаторы типов
А.5. Объекты и именующие выражения
А.6. Преобразования типов
А.6.1. Расширение целочисленных типов
А.6.2. Преобразование целочисленных типов
А.6.3. Преобразование целых чисел в вещественные и наоборот
А.6.4. Вещественные типы
А.6.5. Арифметические преобразования
А.6.6. Связь указателей и целых чисел
А.6.7. Тип void
А.6.8. Указатели на void
А.7. Выражения
А.7.1. Генерирование указателей
7.2. Форматированный вывод и функция printf
7.3. Списки аргументов переменной длины
7.4. Форматированный ввод и функция scanf
7.5. Доступ к файлам
7.6. Обработка ошибок. Поток stderr и функция exit
7.7. Ввод-вывод строк
7.8. Различные функции
7.8.1. Операции со строками
7.8.2. Анализ, классификация и преобразование символов
7.8.3. Функция ungetc
7.8.4. Выполнение команд
7.8.5. Управление памятью
7.8.6. Математические функции
7.8.7. Генерирование случайных чисел
Глава 8. Интерфейс системы Unix
8.1. Дескрипторы файлов
8.2. Ввод-вывод низкого уровня - функции read и write
8.3. Функции open, creat, close, unlink
8.4. Прямой доступ к файлу и функция lseek
8.5. Пример реализации функций fopen и getc
8.6. Пример получения списка файлов в каталоге
8.7. Пример распределения памяти
Приложение А. Справочное руководство по языку С
А.1. Введение
А.2. Лексические соглашения
А.2.1. Лексемы
А.2.2. Комментарии
А.2.3. Идентификаторы
А.2.4. Ключевые слова
А.2.5. Константы
А.2.5.1. Целочисленные константы
А.2.5.2. Символьные константы
А.2.5.3. Вещественные константы с плавающей точкой
А.2.5.4. Константы перечислимых типов
А.2.6. Строковые литералы (константы)
А.З. Система синтаксических обозначений
А.4. Употребление идентификаторов
А.4.1. Классы памяти
А.4.2. Базовые типы
А.4.3. Производные типы
А.4.4. Модификаторы типов
А.5. Объекты и именующие выражения
А.6. Преобразования типов
А.6.1. Расширение целочисленных типов
А.6.2. Преобразование целочисленных типов
А.6.3. Преобразование целых чисел в вещественные и наоборот
А.6.4. Вещественные типы
А.6.5. Арифметические преобразования
А.6.6. Связь указателей и целых чисел
А.6.7. Тип void
А.6.8. Указатели на void
А.7. Выражения
А7.1. Генерирование указателей
А.7.2. Первичные выражения
А.7.3. Постфиксные выражения
А.7.3.1. Обращение к элементам массивов
А.7.3.2. Вызовы функций
А.7.3.3. Обращение к структурам
А.7.3.4. Постфиксное инкрементирование
А.7.4. Одноместные операции
А.7.4.1. Префиксные операции инкрементирования
А.7.4.2. Операция взятия адреса
А.7.4.3. Операция разыменования (ссылки по указателю)
А.7.4.4. Операция “одноместный плюс”
А.7.4.5. Операция “одноместный минус”
А.7.4.6. Операция вычисления дополнения до единицы (поразрядного отрицания)
А.7.4.7. Операция логического отрицания
А.7.4.8. Операция вычисления размера sizeof
А.7.5. Приведение типов
А.7.6. Мультипликативные операции
А.7.7. Аддитивные операции
А.7.8. Операции сдвига
А.7.9. Операции отношения (сравнения)
А.7.10. Операции проверки равенства
А7.11. Операция поразрядного И
А.7.12. Операция поразрядного исключающего ИЛИ
А.7.13. Операция поразрядного включающего ИЛИ
А.7.14. Операция логического И
А.7.15. Операция логического ИЛИ
А.7.16. Операция выбора по условию
А.7.17. Выражения с присваиванием
А.7.18. Операция “запятая”
А.7.19. Константные выражения
А. 8. Объявления
А.8.1. Спецификаторы класса памяти
А.8.2. Спецификаторы типа
А.8.3. Объявления структур и объединений
А.8.4. Перечислимые типы (перечисления)
А.8.5. Описатели
А.8.6. Смысл и содержание описателей
А.8.6.1. Описатели указателей
А.8.6.2. Описатели массивов
А.8.6.3. Описатели функций
А.8.7. Инициализация
А.8.8. Имена типов
А.8.9. Объявление typedef
А.8.10. Эквивалентность типов
А.9. Операторы
А.9.1. Операторы с меткам
А.9.2. Операторы-выражения
А.9.3. Составные операторы
А.9.4. Операторы выбора
А.9.5. Операторы цикла
А.9.6. Операторы перехода
А.10. Внешние объявления
А.10.1. Определения функций
А.10.2. Внешние объявления
А.11. Область действия и связывание
А.11.1. Лексическая область действия
А.11.2. Связывание
А.12. Препроцессор
А.12.1. Комбинации из трех символов
А.12.2. Слияние строк
А.12.3. Макроопределения и их раскрытие
А.12.4. Включение файлов
А.12.5. Условная компиляция
А.12.6. Нумерация строк
А.12.7. Генерирование сообщений об ошибках
А.12.8. Директива #pragma
А.12.9. Пустая директива
А.12.10. Заранее определенные имена
А.13. Грамматика
Приложение Б. Стандартная библиотека
Б.1. Ввод-вывод:
Б.1.1. Файловые операции
Б.1.2. Форматированный вывод
Б. 1.3. Форматированный ввод
Б. 1.4. Функции ввода-вывода символов
Б.1.5. Функции прямого ввода-вывода
Б. 1.6. Функции позиционирования в файлах
Б.1.7. Функции обработки ошибок
Б.2. Анализ и классификация символов:
Б.З. Функции для работы со строками:
Б.4. Математические функции:
Б.5. Вспомогательные функции:
Б.6. Диагностика:
Б.7. Переменные списки аргументов:
Б.8. Нелокальные переходы:
Б.9. Сигналы:
Б.10. Функции даты и времени:
Б.11. Системно-зависимые константы:
Приложение В. Сводка изменений
Предметный указатель