预处理指令

 由ANSI的标准规定, 预处理指令主要包括:
     #define
     #error
     #if
     #else
     #elif
     #endif
     #ifdef
     #ifndef
     #undef
     #line
     #pragma
    由上述指令可以看出, 每个预处理指令均带有符号"#"。下面只介绍一些常
用指令。
    1. #define 指令
    #define指令是一个宏定义指令, 定义的一般形式是:
     #define 宏替换名字符串(或数值)
    由#define指令定义后,  在程序中每次遇到该宏替换名时就用所定义的字符
串(或数值)代替它。
    例如: 可用下面语句定义TRUE表示数值1, FALSE表示0。
     #define TRUE 1
     #define FALSE 0
    一旦在源程序中使用了TRUE和FALSE, 编译时会自动的用1和0代替。
    注意:
    1. 在宏定义语名后没有";"
    2. 在Turbo C程序中习惯上用大写字符作为宏替换名, 而且常放在程序开头。
    3. 宏定义还有一个特点, 就是宏替换名可以带有形式参数,  在程序中用到
时, 实际参数会代替这些形式参数。
    例如:
     #define MAX(x, y) (x>y)?x:y
     main()
     {
          int i=10, j=15;
          printf("The Maxmum is %d", MAX(i, j);
     }
    上例宏定义语句的含义是用宏替换名MAX(x, y)代替x, y中较大者,  同样也
可定义:
     #define MIN(x, y) (x<y)?x:y
    表示用宏替换名MIN(x, y)代替x, y中较小者。

    2. #error指令
    该指令用于程序的调试, 当编译中遇到#error指令就停止编译。其一般形式
为:
     #error 出错信息
    出错信息不加引号, 当编译器遇到这个指令时, 显示下列信息并停止编译。
      Fatal: filename linename error directive

    3. #include 指令
       #include 指令的作用是指示编译器将该指令所指出的另一个源文件嵌入
#include指令所在的程序中, 文件应使用双引号或尖括号括起来。Turbo C 库函
数的头文件一般用#include指令在程序开关说明。
    例如:
     #include <stdio.h>
    程序也允许嵌入其它文件, 例如:
     main()
     {
          #include <help.c>
     }
    其中help.c为另一个文件, 内容可为
       printf("Glad to meet you here!");
    上例编译时将按集成开发环境的Options/Directories/Include directories
中指定的包含文件路径查找被嵌入文件。
 
    4. #if、#else、#endif指令
    #if、#els和#endif指令为条件编择指令, 它的一般形式为:
     #if 常数表达式
          语句段;
     #else
          语句段;
     #endif
    上述结构的含义是: 若#if指令后的常数表达式为真, 则编译#if到#else 之
间的程序段; 否则编译#else到#endif之间的程序段。
    例如:
     #define MAX 200
     main()
     {
          #if MAX>999
               printf("compiled for bigger/n");
          #else
               printf("compiled for small/n");
          #endif
     }
 
    5. #undef指令
    #undef指令用来删除事先定义的宏定义, 其一般形式为:
     #undef 宏替换名
    例如:
      #define TRUE 1
       ...
      #undef TURE
    #undef主要用来使宏替换名只限定在需要使用它们的程序段中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值