Условная компиляция
Условные конструкции препроцессора позволяют компилировать или пропускать часть программы в зависимсти от выполнения некоторого условия. Условие может принимать одну из описываемых ниже форм. #if константное_выражение Проверяется значение выражения, составленного из констант и если оно не равно нулю, компилируется (включается) последующий текст. #ifdef идентификатор Последующий тест компилируется, если "идентификатор" уже был опредеоен для препроцессора в команде #define. #ifndef идентификатор Последующий текст компилируется, если "идентификатор" в данный момент не определен. Конструкция #undef идентификатор исключает "идентификатор" из списка определенных для препроцессора имен. За любой из трех условных команд может следовать произвольное число строк текста, содержащих, возможно, команду вида #else и заканчивающихся #endif. Если проверяемое условие справедливо, то строки между #else и #endif игнорируются. Если же проверяемое условие не выполняется, то игнорируются все строки между проверкой и командой #else, а если ее нет, то командой #endif. Приведенная на примере 6.7 программа иллюстрирует применение некоторых из рассмотренных выше команд, обеспечивающих условную компиляцию. Пример 6.7
|
№18.2
Последовательности символов, начинающиеся с обратной косой черты, называютуправляющими, или escape-последовательностями.
В таблице ниже приведены их допустимые значения. Управляющая последовательность интерпретируется как одиночный символ. Если непосредственно за обратной косой чертой следует символ, не приведенный в табл. ниже, результат интерпретации не определен. Если в последовательности цифр встречается недопустимая, она считается концом цифрового кода.
Изображение |
Шестнадцатеричный код |
Наименование |
\a |
7 |
Звуковой сигнал |
\b |
8 |
Возврат на шаг |
\f |
С |
Перевод страницы (формата) |
\n |
А |
Перевод строки |
\r |
D |
Возврат каретки |
\t |
9 |
Горизонтальная табуляция |
\v |
В |
Вертикальная табуляция |
\\ |
5С |
Обратная косая черта |
\’ |
27 |
Апостроф |
\» |
22 |
Кавычка |
\? |
3F |
Вопросительный знак |
\0ddd |
– |
Восьмеричный код символа |
\0xddd |
ddd |
Шестнадцатеричный код символа |
Вообще, символ обратной косой черты используется для представления:
кодов, не имеющих графического изображения (например, \а — звуковой сигнал, \n — перевод курсора в начало следующей строки);
символов апострофа ( ‘ ) , обратной косой черты ( \ ), знака вопроса ( ? ) и кавычки ( ” );
любого символа с помощью его шестнадцатеричного или восьмеричного кода, например, \073, \0xF5. Числовое значение должно находиться в диапазоне от 0 до 255.
