首页 理论教育 二级c语言程序设计教材:不带参数的宏

二级c语言程序设计教材:不带参数的宏

时间:2023-11-20 理论教育 版权反馈
【摘要】:由此可见,在使用宏定义时一定要考虑到替换后的实际情况,否则很容易出错。同一个宏名不能重复定义,除非两个宏定义命令行完全一致。替换文本不能替换双引号中与宏名相同的字符串。替换文本并不替换用户标识符中的成分。用作宏名的标识符通常用大写字母表示,这并不是语法规定,只是一种习惯。可用#undef命令终止宏定义的命令。

二级c语言程序设计教材:不带参数的宏

1.不带参数的宏定义命令行形式

#define宏名 替换文本

#define宏名

例如:

#defineSIZE50

说明:

(1)SIZE为宏名,是用户自定义标识符。在编译时,在此命令行之后,预处理程序对源程序中的所有名为SIZE的标识符用50这两个字符来替换,这个替换过程称为“宏替换”。

(2)替换文本中可以包含已定义过的宏名。例如:

程序中若有表达式:x=Three_ADDPI/2,则替换后,表达式将成为:x=(3*(3.14+1))/2。如果第二行和第三行中的“替换文本”不加括号,直接写成PI+1和3*ADDPI,则以上表达式展开后将成为=3*3.14+1/2。由此可见,在使用宏定义时一定要考虑到替换后的实际情况,否则很容易出错。(www.xing528.com)

(3)同一个宏名不能重复定义,除非两个宏定义命令行完全一致。

(4)替换文本不能替换双引号中与宏名相同的字符串。例如,如果YES是已定义的宏名,则不能用与它相关的替换文本来替换printf(“YES”)中的YES。

(5)替换文本并不替换用户标识符中的成分。

(6)在C语言程序中,宏定义的定义位置一般写在程序的开头。用作宏名的标识符通常用大写字母表示,这并不是语法规定,只是一种习惯。

(7)可用#undef命令终止宏定义的命令。

【程序实例】

程序运行结果为:

55

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈