C语言中的编译预处理包括三个部分:宏定义、文件包含、条件编译。
1、宏定义:不带参数的宏定义:
格式:#define 名字 常量 ,不用加“;”。
#define R 30
#define PI 3.1415926
#define C 2*PI*R
#deefine S PI*R*R
(层层置换)
带参数的宏定义:
格式:#define 名字 公式,也不用加“;”.
#define S(x,y) x*y
在主函数中用到“S(x,y)”时,用X*Y这个公式计算值。
例:`define S(x,y)
int main()
{ float x,y,area;
cin>>x>>y;
area=S(x,y);//area=x*y;
}`
且只是机械替换:#define S(r) PI*r*r
S(a+b)=PI*a+b*a+b;
除非在定义时,定义为:#define S(r) PI*(r)*(r)
*宏与函数的区别:函数调用先求表达式的值,然后代入形参;
宏只是机械替换。
2、文件包含:#define “文件名”
#define “file2.cpp”
只可将另一个源文件的全部内容包含进来。
3、条件编译:有选择地对程序的某一部分进行编译。