第5讲编译预处理和位运算一、编译预处理1、宏定义2、文件包含二、位运算1、概念:用标识符来表示一个字符串,标识符叫宏名
一、宏定义:(P5)2、无参宏定义1)无参宏定义的一般格式:#define标识符字符串例如:#definePI3
141592)作用:在宏定义之后,凡是该标识符出现的地方用对应的字符串来代替
上面的定义之后,凡是PI都用3
14159来代替
例输入半径,计算以该半径为圆的周长与圆面积、球的体积与表面积
#include#definePI3
14159voidmain(){floatr,yzc,ymj,qbmj,qtj;scanf("%f",&r);yzc=2*PI*r;ymj=PI*r*r;qbmj=4*PI*r*r;qtj=4*PI*r*r*r/3;printf("%f,%f,%f,%f\n",yzc,ymj,qbmj,qtj);}3、带参数的宏定义(P8)1)带参宏定义的一般格式:#define标识符(参数表)字符串例如:#defineADD(x,y)x+y2)作用:在宏定义之后,凡是该标识符出现的地方用对应的字符串来代替,参数也作相应的替换
上面的定义之后,程序中如果出现ADD(4,5),则用4+5来代替,出现ADD(a,b),则用a+b来代替
#include#definePI3
14159#defineAREA(r)PI*r*rvoidmain(){floatx,s;x=10
0;s=AREA(x);printf("s=%
1f\n",s);}写出下面程序的结果
执行结果:s=314
2#include#defineADD(x,y)x+y#defineMAX(x,y)x>y
x:yvoidmain(){inta=4,b=5,c,d;c=ADD(a,b);d=MAX(a,b);printf("c=%d\td=%d\n",c,d);floatw,z;