编译预处理

1、所有编译预处理命令均以“ # ”开头

 编译预处理共分为:

 a.宏定义

 b.文件包含

 c.条件编译

2、宏定义

 作用:在编译预处理时,将源程序中所有标识符替换成语句序列

 分为:有参宏 和 无参宏

 无参宏:纯替换

 示例:#define  PI   3.14

 有参宏: 源程序中所有标识符替换成字符串,并将字符串中的参数用实际参数替换

 #define  标识符(参数表) 字符串

 #define  S(a,b)  (a*b)/2

 注:宏定义时,宏名和参数之间不能有空格,否则空格后面所有字符序列都作为替换的字符串

       .带参数的宏展开时,只作简单的字符和参数的替换(纯替换)

      例:#define  L( r )   2*PI*r

           源程序有 L(2+3)

           则编译预处理后变为:2*3.14*2+3  而不是:2*3.14*5

           解决办法:

           #define  L(r)  2*PI*(r)

3、文件包含

 作用:将指定文件内容嵌入到一个源文件中

 #include  <xx.x>   // 标准方式:在C语言编译器的C函数库头文件中查找要包含的文件

 #include  "xxxx"    // 通用方式:先在源文件目录中查找要包含的文件,若未找到,则按标准方式查找

4、条件编译

 一般用于根据条件判断是否要编译某一段代码

 格式:

 若标识符被定义过
 #ifdefine  标识符
      /*程序段1*/
 #else
      /*程序段2*/
 #endif

 若标识符未被定义过
 #ifndef  标识符
      /*程序段1*/
 #esle
      /*程序段2*/
 #endif

 根据表达式判定
 #if  表达式
      /*程序段1*/
 #else
      /*程序段2*/
 #endlf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值