Керниган, Ричи. Язык C
- Размер
- 451.2Кб
Оглавление
1. Учебное введение
- 1.1. Hачинаем
- 1.2. Переменные и арифметика
- 1.3. Оператор FOR
- 1.4. Символические константы
- 1.5. Набор полезных программ
- 1.5.1. Ввод и вывод символов
- 1.5.2. Копирование файла
- 1.5.3. Подсчет символов
- 1.5.4. Подсчет строк
- 1.5.5. Подсчет слов
- 1.6. Массивы
- 1.7. Функции
- 1.8. Аргументы - вызов по значению
- 1.9. Массивы символов
- 1.10. Область действия: внешние переменные
- 1.11. Резюме
2. Типы, операции и выражения
- 2.1. Имена переменных
- 2.2. Типы и размеры данных
- 2.3. Константы
- 2.3.1. Символьная константа
- 2.3.2. Константное выражение
- 2.3.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. Переключатель
- 3.5. Циклы - WHILE и FOR
- 3.6. Цикл DO - WHILE
- 3.7. Оператор BREAK
- 3.8. Оператор CONTINUE
- 3.9. Оператор GOTO и метки
4. Функции и структура программ
- 4.1. Основные сведения
- 4.2. Функции, возвращающие нецелые значения
- 4.3. Еще об аргументах функций
- 4.4. Внешние переменные
- 4.5. Правила, определяющие область действия
- 4.5.1. Область действия
- 4.6. Статические переменные
- 4.7. Регистровые переменные
- 4.8. Блочная структура
- 4.9. Инициализация
- 4.10. Рекурсия
- 4.11. Препроцессор языка "C"
- 4.11.1. Включение файлов
- 4.11.2. Макроподстановка
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. Стандартный ввод и вывод - функции GETCHAR и PUTCHAR
- 7.3. Форматный вывод - функция PRINTF
- 7.4. Форматный ввод - функция SCANF
- 7.5. Форматное преобразование в памяти
- 7.6. Доступ к файлам
- 7.7. Обработка ошибок - STDERR и EXIT
- 7.8. Ввод и вывод строк
- 7.9. Несколько разнообразных функций
- 7.9.1. Проверка вида символов и преобразования
- 7.9.2. Функция UNGETC
- 7.9.3. Обращение к системе
- 7.9.4. Управление памятью
8. Интерфейс системы UNIX
- 8.1. Дескрипторы файлов
- 8.2. Низкоуровневый ввод/вывод - операторы READ и WRITE
- 8.3. Открытие, создание, закрытие и расцепление (UNLINK)
- 8.4. Произвольный доступ - SEEK и LSEEK
- 8.5. Пример - реализация функций FOPEN и GETC
- 8.6. Пример - распечатка справочников
- 8.7. Пример - распределитель памяти
9. Приложение А: справочное руководство по языку 'C'
- 9.1. Введение
- 10. Лексические соглашения
- 10.1. Комментарии
- 10.2. Идентификаторы (имена)
- 10.3. Ключевые слова
- 10.4. Константы
- 10.4.1. Целые константы
- 10.4.2. Явные длинные константы
- 10.4.3. Символьные константы
- 10.4.4. Плавающие константы
- 10.5. Строки
- 10.6. Характеристики аппаратных средств
- 11. Синтаксическая нотация
- 12. Что в имени тебе моем?
- 13. Объекты и L-значения
- 14. Преобразования
- 14.1. Символы и целые
- 14.2. Типы FLOAT и DOUBLE
- 14.3. Плавающие и целочисленные величины
- 14.4. Указатели и целые
- 14.5. Целое без знака
- 14.6. Арифметические преобразования
- 15. Выражения
- 15.1. Первичные выражения
- 15.2. Унарные операции
- 15.3. Мультипликативные операции
- 15.4. Аддитивные операции
- 15.5. Операции сдвига
- 15.6. Операции отношения
- 15.7. Операции равенства
- 15.8. Побитовая операция 'и'
- 15.9. Побитовая операция исключающего 'или'
- 15.10. Побитовая операция включающего 'или'
- 15.11. Логическая операция 'и'
- 15.12. Операция логического 'или'
- 15.13. Условная операция
- 15.14. Операция присваивания
- 15.15. Операция запятая
- 16. Описания
- 16.1. Спецификаторы класса памяти
- 16.2. Спецификаторы типа
- 16.3. Описатели
- 16.4. Смысл описателей
- 16.5. Описание структур и объединений
- 16.6. Инициализация
- 16.7. Имена типов
- 16.8. TYPEDEF
- 17. Операторы
- 17.1. Операторное выражение
- 17.2. Составной оператор (или блок)
- 17.3. Условные операторы
- 17.4. Оператор WHILE
- 17.5. Оператор DO
- 17.6. Оператор FOR
- 17.7. Оператор SWITCH
- 17.8. Оператор BREAK
- 17.9. Оператор CONTINUE
- 17.10. Оператор возврата
- 17.11. Оператор GOTO
- 17.12. Помеченный оператор
- 17.13. Пустой оператор
- 18. Внешние определения
- 18.1. Внешнее определение функции
- 18.2. Внешние определения данных
- 19. Правила, определяющие область действия
- 19.1. Лексическая область действия
- 19.2. Область действия внешних идентификаторов
- 20. Строки управления компилятором
- 20.1. Замена лексем
- 20.2. Включение файлов
- 20.3. Условная компиляция
- 21. Неявные описания
- 22. Снова о типах
- 22.1. Структуры и объединения
- 22.2. Функции
- 22.3. Массивы, указатели и индексация
- 22.4. Явные преобразования указателей
- 23. Константные выражения
- 24. Соображения о переносимости
- 25. Анахронизмы
- 26. Сводка синтаксических правил
- 26.1. Выражения
- 26.2. Описания
- 26.3. Операторы
- 26.4. Внешние определения
- 26.5. Препроцессор