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

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

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

#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

В

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

\\

5С

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

\’

27

Апостроф

\»

22

Кавычка

\?

3F

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

\0ddd

–

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

\0xddd

ddd

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

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

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

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

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