实用C语言程序的设计教程第9章.ppt

实用C语言程序的设计教程第9章

9.1 宏定义 【例9-1】无参宏定义举例。 #define PI 3.1415926 main() {float r=6; float l,s,v; l=2.0*PI*r; s=PI*r*r; v=3.0/4*PI*r*r*r; printf (r=%.2f\nl=%.2f\ns=%.2f\nv=%.2f\n,r,l,s,v); } 程序执行结果: r=6.00 l=37.70 s=113.10 v=508.94 (2)在宏定义中,可以引用已定义过的宏名,即用已定义的宏定义另外的宏。 【例9-2】定义宏时利用已定义过的宏名举例。 #define W 80 #define L (W+40) #define S L*W main() { printf(L=%d\nW=%d\nS=%d\n,L,W,S); } 程序执行结果: W=80 L=120 S=9600 经过宏展开后,printf函数中的输出项W被80代替,L被(80+40)代替,S被(80+40)*80代替,printf函数调用语句展开为: printf (L=%d\nW=%d\nS=%d\n,80,(80+40),(80+40)*80); 由于宏展开只是简单地用定义的宏体去代替宏名而不进行任何计算。因此,宏定义中若出现表达式时有无圆括号,效果会是不同的。例如,若将上例中的宏定义写成: #define

文档评论(0)

1亿VIP精品文档

相关文档