Язык С

Язык С

Аннотация
Введение
* Учебное введение *
Hачинаем
Переменные и арифметика

Оператор FOR
Символические константы
Набор полезных программ
Ввод и вывод символов
Копирование файла


Подсчет символов
Подсчет строк

Подсчет слов
Массивы
Функции
Аргументы - вызов по значению
Массивы символов
Область действия: внешние переменные

Резюме
* Типы, операции и выражения *
Имена переменных
Типы и размеры данных
Константы
Символьная константа
Константное выражение
Строчная константа
Описания

Арифметические операции
Операции отношения и логические операции
Преобразование типов
Операции увеличения и уменьшения
Побитовые логические операции
Операции и выражения присваивания

Условные выражения
Старшинство и порядок вычисления
* Поток управления *
Операторы и блоки
IF - ELSE
ELSE - IF
Переключатель
Циклы - WHILE и FOR

Цикл DO - WHILE
Оператор BREAK
Оператор CONTINUE
Оператор GOTO и метки
* Функции и структура программ *
Основные сведения
Функции, возвращающие нецелые значения
Еще об аргументах функций

Внешние переменные
Правила, определяющие область действия
Область действия
Статические переменные
Регистровые переменные
Блочная структура

Инициализация
Рекурсия
Препроцессор языка "C"
Включение файлов
Макроподстановка
* Указатели и массивы *
Указатели и адреса
Указатели и аргументы функций

Адресная арифметика
Указатели символов и функции
Указатели - не целые

Многомерные массивы
Массивы указателей; указатели указателей
Инициализация массивов указателей
Указатели и многомерные массивы
Командная строка аргументов

Указатели на функции
* Структуры *
Структуры и функции
Массивы сруктур

Указатели на структуры
Структуры, ссылающиеся на себя
Поиск в таблице
Поля

Объединения
Определение типа
* Ввод и вывод *
Обращение к стандартной библиотеке
Стандартный ввод и вывод - функции GETCHAR и PUTCHAR
Форматный вывод - функция PRINTF

Форматный ввод - функция SCANF
Форматное преобразование в памяти
Доступ к файлам
Обработка ошибок - STDERR и EXIT
Ввод и вывод строк
Несколько разнообразных функций
Проверка вида символов и преобразования

Функция UNGETC
Обращение к системе
Управление памятью
* Интерфейс системы UNIX *
Дескрипторы файлов
Низкоуровневый ввод/вывод - операторы READ и WRITE
Открытие, создание, закрытие и расцепление (UNLINK)
Произвольный доступ - SEEK и LSEEK

Пример - реализация функций FOPEN и GETC

Язык С

Пример - распечатка справочников

Пример - распределитель памяти
Лексические соглашения
Комментарии

Идентификаторы (имена)
Ключевые слова
Целые константы
Явные длинные константы
Символьные константы
Плавающие константы
Строки
Характеристики аппаратных средств
Синтаксическая нотация

Что в имени тебе моем?
Объекты и L-значения
Преобразования
Символы и целые
Типы FLOAT и DOUBLE
Плавающие и целочисленные величины
Указатели и целые
Целое без знака
Арифметические преобразования
Выражения

Первичные выражения
Унарные операции
Мультипликативные операции
Аддитивные операции
Операции сдвига
Операции отношения
Операции равенства
Побитовая операция 'и'
Побитовая операция исключающего 'или'

Побитовая операция включающего 'или'
Логическая операция 'и'
Операция логического 'или'
Условная операция
Операция присваивания
Операция запятая
Спецификаторы класса памяти
Спецификаторы типа
Описатели

Смысл описателей
Описание структур и объединений
Имена типов
TYPEDEF
Операторы
Операторное выражение

Составной оператор (или блок)
Условные операторы
Оператор WHILE
Оператор DO
Оператор SWITCH
Оператор возврата
Оператор GOTO

Помеченный оператор
Пустой оператор
Внешние определения
Внешнее определение функции
Внешние определения данных
Лексическая область действия
Область действия внешних идентификаторов
Строки управления компилятором
Замена лексем

Условная компиляция
Неявные описания
Снова о типах
Структуры и объединения
Массивы, указатели и индексация
Явные преобразования указателей
Константные выражения
Соображения о переносимости

Анахронизмы
Сводка синтаксических правил
Препроцессор