10 编译预处理(精品).ppt
《10 编译预处理(精品).ppt》由会员分享,可在线阅读,更多相关《10 编译预处理(精品).ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第十十章章处理处理编译编译预预+语言提供的预处理命令有如下几种:语言提供的预处理命令有如下几种:注注 意意:10.1宏定义宏定义1.符号常量定义符号常量定义符号常量的定义符号常量的定义 其中,符号常量名习惯上用大写字母表示,符号常量名与所对应的字符串之间用“空格”符隔开。说说 明明例例 如如 它定义了符号常量ESC所对应的常量是0 x1B,这样,在正式编译之前,程序中出现的所有符号常量ESC,都将被预处理程序以常量0 x1B代替。【例【例10.1】从键盘输入不超过】从键盘输入不超过100个字符,个字符,并统计其中英文字母(不区分大小写)的并统计其中英文字母(不区分大小写)的个数,直到输入的
2、字符为个数,直到输入的字符为*或输入的字符或输入的字符个数超过个数超过100为止。为止。#include stdio.h#define MAXnum 100 void main()int i,count=0;char c;for(i=0;i=a&c=A&c(b)?(a):(b)void main()int x,y,z;scanf(%d%d,&x,&y);z=MAX(x,y);printf(Max=%d,z);在在使使用用带带参参数数的的宏宏定定义义时时,需需要要注注意意如下几个问题:如下几个问题:例如,下面的宏定义是用于求平方值的:如果在程序中有下面的赋值语句:z=SQR(x+1)*2;经预处
3、理程序宏展开后,将变为如下形式:z=x+1*x+1*2;应将SQR宏定义改成如下形式:#define SQR(A)(A)*(A)10.2 文件包括文件包括文件包括的一般形式文件包括的一般形式例例 如如则编译预处理后,file2.cpp文件中的内容为:int i1,i2,i3;float f1,f2,f3;char c1,c2,c3;main()例例 如如 在使用+语言库函数进行输入、输出操作时,一般需要在源程序中使用如下形式的文件包括预处理命令:而使用标准“流”来进行输入输出时,则需要在程序中使用如下的文件包括命令:使用使用#include命令需要注意的问题命令需要注意的问题10.3条件编译条
4、件编译条件编译命令有以下几种形式:条件编译命令有以下几种形式:需要注意的是,#ifdef和#endif一定要配对使用。#ifdef NEC_PC#define INT_SIZE 16#else#define INT_SIZE 32#endif如果如果NEC_PC在前面定义过,即有如下命令:在前面定义过,即有如下命令:#define NEC_PC 1 或:或:#define NEC_PC则将编译下面的命令:则将编译下面的命令:#define INT_SIZE 16否则,将编译下面的命令:否则,将编译下面的命令:#define INT_SIZE 32这样,在源程序不作修改的情况下,只要增加命令这样
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 编译预处理精品 编译 预处理 精品
限制150内