Язык программирования C

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Классическая книга по языку C, написанная самими разработчиками этого языка и выдержавшая в США уже 34 переиздания! Книга является как практически исчерпывающим справочником, так и учебным пособием по самому распространенному языку программирования. Предлагаемое второе издание книги было существенно переработано по сравнению с первым в связи с появлением стандарта ANSI C, для которого она частично послужила основой. Книга не рекомендуется для чтения новичкам; для своего изучения она требует знания основ программирования и вычислительной техники. Книга предназначена для широкого круга программистов и компьютерных специалистов. Может использоваться как учебное пособие для вузов.

Author(s): Керниган Б., Ритчи Д.
Edition: 2-е издание
Publisher: Вильямс
Year: 2009

Language: Russian
Pages: 304
City: М.

Содержание
Предисловие
Предисловие к первому изданию
Введение
Глава 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. Препроцессор C
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. Пример распределения памяти
Приложение А. Справочное руководство по языку C
А.1. Введение
А.2. Лексические соглашения
А.2.1. Лексемы
А.2.2. Комментарии
А.2.3. Идентификаторы
А.2.4. Ключевые слова
А.2.5. Константы
А.2.5.1. Целочисленные константы
А.2.5.2. Символьные константы
А.2.5.3. Вещественные константы с плавающей точкой
А.2.5.4. Константы перечислимых типов
А.З. Система синтаксических обозначений
А.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. Описатели указателей
A.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. Системно-зависимые константы: и
Приложение В. Сводка изменений
Предметный указатель