Программирование на языке С - 11 стр.

UptoLike

Составители: 

11
#define FOUR TWO*TWO
#define PX printf(“X равно %d.\n”, x)
#define FMT «X равно %d.\n»
#define SQUARE(X) X*X
int main()
{
int x = TWO;
PX;
x = FOUR;
printf(FMT, x);
x = SQUARE(3);
PX;
return 0;
}
После выполнения этой программы на экране монитора появится три
строки:
X равно 2.
X равно 4.
X равно 9.
Директива #undef отменяет определение, введенное ранее директивой
#define. Предположим, что на каком-либо участке программы нужно отменить
определение константы FOUR. Это достигается следующей командой:
#undef FOUR
Интересной особенностью данной директивы является возможность
переопределения значения ранее введенной константы. Действительно,
повторное использование директивы #define для ранее введенной константы
FOUR невозможно, т.к. это приведет к сообщению об ошибке в момент
компиляции программы. Но если отменить определение константы FOUR с
помощью директивы #undef, то появляется возможность повторного
использования директивы #define для константы FOUR.
Для того
чтобы иметь возможность выполнять условную компиляцию,
используется группа директив #if, #ifdef, #ifndef, #elif, #else и #endif.
Приведенная ниже программа выполняет подключение библиотек в
зависимости от установленных констант.
#if defined(GRAPH)
#include <graphics.h> //подключение графической библиотеки
#elif defined(TEXT)
#include <conio.h> //подключение текстовой библиотеки
#else
#include <io.h> //подключение библиотеки ввода-вывода
#endif