- •Алфавит языка
- •Идентификаторы
- •Ключевые слова
- •Знаки операций
- •Константы
- •Комментарии
- •Концепция типа данных
- •Простые типы данных
- •Целый тип (int)
- •Символьный тип (char)
- •Расширенный символьный тип (wchar_t)
- •Логический тип (bool)
- •Типы с плавающей точкой (float, double и longdouble)
- •Предварительные замечания о функциях ввода/вывода
- •Переменные
- •Операции
- •Выражения
- •Оператор "выражение"
- •Операторы ветвления Условный оператор if
- •Оператор switch
- •Цикл с предусловием (while)
- •Цикл с постусловием (dowhile)
- •Цикл с параметром (for)
- •Оператор goto
- •Оператор break
- •Оператор continue
- •Оператор return
- •Инициализация указателей
- •Операции с указателями
- •Переименование типов (typedef)
- •Глобальные переменные
- •Возвращаемое значение
- •Передача массивов в качестве параметров
- •Передача имен функций в качестве параметров
- •Параметры со значениями по умолчанию
- •Функции ввода/вывода
- •Открытие потока
- •Ввод/вывод в поток
- •Закрытие потока
- •Функции работы со строками и символами
- •Математические функции
- •Директива #include
- •Директива #define
Директива #include
Директива #include <имя_файла> вставляет содержимое указанного файла в ту точку исходного файла, где она записана. Включаемый файл также может содержать директивы #include.
Поиск файла, если не указан полный путь, ведется в стандартных каталогах включаемых файлов. Вместо угловых скобок могут использоваться кавычки (" ") — в этом случае поиск файла ведется в каталоге, содержащем исходный файл, а затем уже в стандартных каталогах.
Директива #include является простейшим средством обеспечения согласованности объявлений в различных файлах, включая в них информацию об интерфейсе из заголовочных файлов. Заголовочные файлы обычно имеют расширение .h и могут содержать:
определения типов, констант, встроенных функций, шаблонов, перечислений;
объявления функций, данных, имен, шаблонов;
пространства имен;
директивы препроцессора;
комментарии.
В заголовочном файле не должно быть определений функций и данных.
При указании заголовочных файлов стандартной библиотеки расширение .h можно опускать. Для каждого файла библиотеки С с именем <name.h> имеется соответствующий файл библиотеки С++ <cname>.
Директива #define
Директива #define определяет подстановку в тексте программы. Она используется для определения:
символических констант. Формат определения символической константы:
#define имя текст_подстановки /* Все вхождения имени заменяются на текст подстановки */
макросов, которые выглядят как функции, но реализуются подстановкой их текста в текст программы. Формат определения макроса:
#define имя( параметры ) текст_подстановки
символов, управляющих условной компиляцией. Они используются вместе с директивами #ifdef и #ifndef. Формат:
#define имя
Примеры:
#define M 1000
#define Vasia “Василий Иванович”
#define MAX(a,b) ((x)>(y)?(x):(y))
#define __cplusplus
Параметры используются при макроподстановке, например, если в тексте программы используется вызов макроса y = MAX(sum1, sum2);, он будет заменен на
y=((sum1)>(sum2)?(sum1):(sum2));
Использования макросов и символических констант в программах следует избегать.