编译预处理(精品).ppt
《编译预处理(精品).ppt》由会员分享,可在线阅读,更多相关《编译预处理(精品).ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 编译预处理编译预处理什么是编译预处理什么是编译预处理 C C语言程序中可以使用的一些命令,在通常语言程序中可以使用的一些命令,在通常的编译之前先执行这些命令的编译之前先执行这些命令,再将命令处理结再将命令处理结果与源程序一起进行编译果与源程序一起进行编译 C C的编译预处理的编译预处理 宏定义宏定义 文件包含文件包含 条件编译条件编译81 宏定义宏定义一、不带参数的宏定义一、不带参数的宏定义格式:格式:#define 标识符标识符 字符序列字符序列作用:定义符号常量,标识符称为宏名作用:定义符号常量,标识符称为宏名预处理:把所有的宏名替换成字符序列预处理:把所有的宏名替换成字符序
2、列-宏展开宏展开、宏替换宏替换说明:说明:1不加分号不加分号#define PI 3.14159;s=PI*r*r;error s=r*r*PI;no error2.字符序列中的错误在替换处出现字符序列中的错误在替换处出现#define ONE 0128 c=ONE*25;3.宏名一般用大写字母表示宏名一般用大写字母表示4.宏定义中可以使用已定义的宏名宏定义中可以使用已定义的宏名#define R 3.54#define PI 3.14#define area PI*R*R5.宏展开不在字符串中进行宏展开不在字符串中进行 printf(“PI=%d”,PI);6.宏定义的作用域:从定义开始宏定
3、义的作用域:从定义开始 可以用可以用#undef命令终止宏定义的作用域命令终止宏定义的作用域#define N 10 .#undef N二、带参数的宏定义二、带参数的宏定义格式:格式:#define 宏名宏名(参数表参数表)字符序列字符序列宏替换:将带实参的宏中的参数按从左到右的顺宏替换:将带实参的宏中的参数按从左到右的顺 序替换字符序列中的形参,非形参字符保留序替换字符序列中的形参,非形参字符保留例:例:#define S(a,b)a*b t=S(2,3)*5;说明:说明:1形参与宏名之间不能有空格形参与宏名之间不能有空格#define S(a,b)a*b S(2,3)-(a,b)a*b(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 预处理 精品
限制150内