二级C语言考试辅导教程第九章:预处理[4]

二级C语言考试辅导教程第九章:预处理[4],第1张

二级C语言考试辅导教程第九章:预处理[4],第2张

2.第二种形式:
#ifndef标识符
程序段1
#else
程序段2
#endif
与第一种形式的不同之处在于“ifdef”改为“ifndef”。如果#define命令没有定义标识符,它的功能是编译程序段1,否则,编译程序段2。这与第一种形式的功能相反。
3。第三种形式:
#if常量表达式
程序段1
#else
程序段2
#endif
它的作用是,比如常量表达式的值为true(不是0)因此,程序可以在不同的条件下完成不同的功能
# define R1
main(){
float c,r,s;
printf("输入一个数字:");
scanf("%f ",& c);
# if R
R = 3.14159 * c * c;
printf(" round的面积是:%f\n ",r);
# else
s = c * c;
printf("正方形的面积是:%f\n ",s);
#endif
}
本例采用了第三种形式的条件编译。在程序第一行的宏定义中,R被定义为1,所以条件编译时常量表达式的值为真,所以计算出圆的面积并输出。上述条件编译当然也可以通过条件语句来实现。但是整个源程序会用条件语句编译,生成的目标代码程序很长。而有条件编译,只会根据条件编译程序段1或2,生成的目标程序会很短。如果条件选择的程序段很长,就要采用条件编译的方法。

本章概要。预处理功能是C语言特有的功能,在源程序正式编译之前,由预处理程序完成。程序员使用预处理命令在程序中调用这些函数。资料来源:www.examda.com

2.宏定义就是用一个标识符来表示一个字符串,可以是常量,变量,也可以是表达式。该字符串将用于替换宏调用中的宏名。

3.宏定义可以有参数。调用宏时,参数被实际参数替换。而不是“价值转移”。

4.为了避免宏替换出错,宏定义中的字符串要用括号括起来,字符串中出现的形参也要用括号括起来。

5.文件包含是预处理的一个重要功能。它可以用来将多个源文件连接成一个源文件进行编译,结果将是一个目标文件。


6。条件编译只允许编译源程序中符合条件的程序段,使生成的目标程序更短,从而减少内存开销,提高程序效率。

7.利用预处理功能便于程序的修改、读取、移植和调试,也便于实现模块化程序设计。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 二级C语言考试辅导教程第九章:预处理[4]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情