《预处理命令》PPT课件.ppt
《《预处理命令》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《预处理命令》PPT课件.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章 预处理命令主要内容9.1 宏定义9.2“文件包含”处理9.3 条件编译C C程序上机步骤程序上机步骤:编辑编辑编辑编辑链接链接链接链接编译编译编译编译执行执行执行执行程序代码的录入程序代码的录入程序代码的录入程序代码的录入,生成源程序生成源程序生成源程序生成源程序*.cpp(VC+)*.cpp(VC+)*.cpp(VC+)*.cpp(VC+)或或或或*.c(TC)*.c(TC)*.c(TC)*.c(TC)。语法分析查错,翻译生成目标语法分析查错,翻译生成目标语法分析查错,翻译生成目标语法分析查错,翻译生成目标程序程序程序程序*.obj*.obj*.obj*.obj。运行程序,得到程序结
2、果运行程序,得到程序结果运行程序,得到程序结果运行程序,得到程序结果。与其它目标程序或库链接与其它目标程序或库链接与其它目标程序或库链接与其它目标程序或库链接,生生生生成可执行程序成可执行程序成可执行程序成可执行程序*.exe*.exe*.exe*.exe。导读 C C语言提供了一些以语言提供了一些以#开头的指令,如:开头的指令,如:#define#include#define#include 等。等。这这些些指指令令是是在在编编译译以以前前就就事事先先进进行行处处理理的的,因因而而称称为为“编译预处理编译预处理”指令。指令。可以用编译预处理指令实现以下可以用编译预处理指令实现以下三种功能:三
3、种功能:(1)(1)宏定义宏定义 (2)(2)文件包含文件包含 (3)(3)条件编译条件编译 导读1 1、不带参的宏定义、不带参的宏定义用一个指定的标识符(宏名)代表一个字符串。用一个指定的标识符(宏名)代表一个字符串。一般形式:一般形式:#define#define 标识符标识符 字符串字符串 如如:#define PI 3.1415926#define PI 3.1415926 一般宏名用一般宏名用大写字母大写字母。有有了了这这一一宏宏定定义义后后,程程序序中中凡凡是是用用到到3.14159263.1415926的的地地方都可以以宏名方都可以以宏名PIPI出现。出现。9.1 宏定义 例:定
4、义一个宏名来代表一个参数。例:定义一个宏名来代表一个参数。#define PI 3.1415926#define PI 3.1415926void main()void main()float r=2,c,s;float r=2,c,s;c=2*PI*r;c=2*PI*r;s=PI*r*r;s=PI*r*r;系系统统在在对对程程序序进进行行编编译译以以前前,首首先先将将所所有有的的编编译译预预处处理理指指令令进进行行预预处处理理,对对本本例例来来说说,就就是是将将程程序序中中所所有的宏名有的宏名PIPI还原成还原成3.14159263.1415926,宏展开宏展开。9.1 宏定义c=2*3.1
5、415926*r;c=2*3.1415926*r;s=3.1415926*r*r;s=3.1415926*r*r;例:定义一个宏名来代表一个数据个数。例:定义一个宏名来代表一个数据个数。#define N#define N#include#include void main()void main()int aN,i;float s=0;int aN,i;float s=0;for(i=0;iN;i+)scanf(“%d”,&ai);for(i=0;iN;i+)scanf(“%d”,&ai);for(i=0;iN;i+)s+=ai;for(i=0;iN;i+)s+=ai;s/=N;s/=N;pr
6、intf(“n%f”,s);printf(“n%f”,s);宏名宏名N N等同于符号常量,可以作为数组的长度。等同于符号常量,可以作为数组的长度。方便修改参数方便修改参数50509.1 宏定义100100例:定义一个宏名来代表一个计算公式。例:定义一个宏名来代表一个计算公式。#define PI 3.1415926#define PI 3.1415926#define AREA PI*r*r#define AREA PI*r*r#include#include void main()void main()r=3,s;r=3,s;s=AREA;s=AREA;printf(“n%f”,s);pri
7、ntf(“n%f”,s);注意:系统对宏定义的预处理是一个字符串的还原过注意:系统对宏定义的预处理是一个字符串的还原过程。程。9.1 宏定义s=PI*r*r;s=PI*r*r;s=3.1415926*r*r;s=3.1415926*r*r;注意以下程序的运行结果:注意以下程序的运行结果:#define F#define F#include#include void main()void main()int x=3,y=5,z;int x=3,y=5,z;z=2*F;z=2*F;printf(“n%d”,z);printf(“n%d”,z);9.1 宏定义z=z*x+y;z=z*x+y;z=z*
8、(x+y);z=z*(x+y);(x+y)(x+y)()()x+yx+y2 2、带参的宏定义、带参的宏定义宏定义也可以带参数,其一般形式为:宏定义也可以带参数,其一般形式为:#define#define 宏名(参数表)宏名(参数表)字符串字符串如:如:#define S(a,b)a*b#define S(a,b)a*b area=S(3,2);area=S(3,2);定义宏名定义宏名S S代表矩形面积,参数代表矩形面积,参数a,ba,b为边长。为边长。宏展开过程:宏展开过程:S(3,2)S(3,2)a*ba*b3*29.1 宏定义在一个源文件中将另一个源文件的内容包含进来。在一个源文件中将另一
9、个源文件的内容包含进来。文件包含指令的一般形式:文件包含指令的一般形式:#include “#include “文件名文件名”或或#include#include 用用时时,系统在存放系统在存放C C库函数头文件的目录中寻找库函数头文件的目录中寻找要包含的文件要包含的文件,这称为标准方式。这称为标准方式。用用“”“”时,系统在用户当前目录中寻找要包含的文时,系统在用户当前目录中寻找要包含的文件,如果找不到,在按标准方式查找。件,如果找不到,在按标准方式查找。9.2“文件包含”处理#include“file2.c”Afile1.cABBfile1.cfile2.c9.2“文件包含”处理例:如果文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 预处理命令 预处理 命令 PPT 课件
限制150内