C7编译预处理.PPT
《C7编译预处理.PPT》由会员分享,可在线阅读,更多相关《C7编译预处理.PPT(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 编译预处理作用:对源程序编译之前做一些处理,生成扩展C源程序种类v宏定义#definev文件包含#includev条件编译#if-#else-#endif等格式:v“#”开头v占单独书写行v语句尾不加分号如 if(x=YES)printf(“correct!n”);else if(x=NO)printf(“error!n”);展开后:if(x=1)printf(“correct!n”);else if(x=0)printf(“error!n”);7.1 宏定义不带参数宏定义v一般形式:#define 宏名 宏体v功能:用指定标识符(宏名)代替字符序列(宏体)v宏展开:预编译时,用宏体替
2、换宏名-不作语法检查如#define YES 1#define NO 0#define PI 3.1415926#define OUT printf(“Hello,World”);宏体可缺省,表示宏名定义过或取消宏体v定义位置:任意(一般在函数外面)v作用域:从定义命令到文件结束v#undef可终止宏名作用域 格式:#undef 宏名例#define YES 1 main().#undef YES#define YES 0 max().YES原作用域YES新作用域v宏定义可嵌套,不能递归例#define MAX MAX+10 ()v引号中的内容与宏名相同也不置换例#define PI 3.14
3、159 printf(“2*PI=%fn”,PI*2);宏展开:printf(“2*PI=%fn”,3.14159*2);v宏定义中使用必要的括号()例#define WIDTH 80#define LENGTH WIDTH+40 var=LENGTH*2;宏展开:var=80+40*2;()()例#define WIDTH 80#define LENGTH WIDTH+40 var=LENGTH*2;宏展开:var=80+40*2;带参数宏定义v一般形式:#define 宏名(参数表)宏体例#define S (r)PI*r*r相当于定义了不带参宏S,代表字符串“(r)PI*r*r”v宏展开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C7 编译 预处理
限制150内