Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_-_szhatye (1).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
513.54 Кб
Скачать

Условная компиляция

Условные конструкции препроцессора позволяют компилировать или пропускать часть программы в зависимсти от выполнения некоторого условия. Условие может принимать одну из описываемых ниже форм.

#if константное_выражение

Проверяется значение выражения, составленного из констант и если оно не равно нулю, компилируется (включается) последующий текст.

#ifdef идентификатор

Последующий тест компилируется, если "идентификатор" уже был опредеоен для препроцессора в команде #define.

#ifndef идентификатор

Последующий текст компилируется, если "идентификатор" в данный момент не определен. Конструкция

#undef идентификатор

исключает "идентификатор" из списка определенных для препроцессора имен. За любой из трех условных команд может следовать произвольное число строк текста, содержащих, возможно, команду вида #else и заканчивающихся #endif. Если проверяемое условие справедливо, то строки между #else и #endif игнорируются. Если же проверяемое условие не выполняется, то игнорируются все строки между проверкой и командой #else, а если ее нет, то командой #endif.

  Приведенная на примере 6.7 программа иллюстрирует применение некоторых из рассмотренных выше команд, обеспечивающих условную компиляцию.

       Пример 6.7

#define SIZE 16 #include stdio.h main() { char c='A'; #ifdef SIZE   int x=123;   printf("x=%d\n",x); #else    static char x[SIZE]="информатика";   printf("x=%s\n",x); #endif   printf("%c\n",c); }

18.2

Последовательности символов, начинающиеся с обратной косой черты, называютуправляющими, или escape-последовательностями.

В таблице ниже приведены их допустимые значения. Управляющая последовательность интерпретируется как одиночный символ. Если непосредственно за обратной косой чертой следует символ, не приведенный в табл. ниже, результат интерпретации не определен. Если в последовательности цифр встречается недопустимая, она считается концом цифрового кода.

Изображение    

Шестнадцатеричный код

Наименование

\a

7

Звуковой сигнал

\b

8

Возврат на шаг

\f

С

Перевод страницы (формата)

\n

А

Перевод строки

\r

D

Возврат каретки

\t

9

Горизонтальная табуляция

\v

В

Вертикальная табуляция

\\

Обратная косая черта

\’

27

Апостроф

22

Кавычка

\?

3F

Вопросительный знак

\0ddd

Восьмеричный код символа

\0xddd

ddd

Шестнадцатеричный код символа

Вообще, символ обратной косой черты используется для представления:

  • кодов, не имеющих графического изображения (например, \а — звуковой сигнал, \n — перевод курсора в начало следующей строки);

  • символов апострофа ( ‘ ) , обратной косой черты ( \ ), знака вопроса ( ? ) и кавычки ( ” );

  • любого символа с помощью его шестнадцатеричного или восьмеричного кода, например, \073, \0xF5. Числовое значение должно находиться в диапазоне от 0 до 255.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]