樊媛媛《c语言程序设计》09-编译预处理.ppt

上传人:小飞机 文档编号:5992279 上传时间:2023-09-12 格式:PPT 页数:11 大小:251.11KB
返回 下载 相关 举报
樊媛媛《c语言程序设计》09-编译预处理.ppt_第1页
第1页 / 共11页
樊媛媛《c语言程序设计》09-编译预处理.ppt_第2页
第2页 / 共11页
樊媛媛《c语言程序设计》09-编译预处理.ppt_第3页
第3页 / 共11页
樊媛媛《c语言程序设计》09-编译预处理.ppt_第4页
第4页 / 共11页
樊媛媛《c语言程序设计》09-编译预处理.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《樊媛媛《c语言程序设计》09-编译预处理.ppt》由会员分享,可在线阅读,更多相关《樊媛媛《c语言程序设计》09-编译预处理.ppt(11页珍藏版)》请在三一办公上搜索。

1、第九章 编译预处理C语言提供了一些以#开头的指令,如:#define#include 等。这些指令是在编译以前就事先进行处理的,因而称为“编译预处理”指令。可以用编译预处理指令实现以下三种功能:1)宏定义 2)文件包含 3)条件编译,91 宏定义 1、不带参的宏定义用一个指定的标识符(宏名)代表一个字符串。一般形式:#define 标识符 字符串如:#define PI 3.1415926有了这一宏定义后,程序中凡是用到3.1425926的地方都可以以宏名PI出现。,例:定义一个宏名来代表一个参数。eg9-01.c#define PI 3.1415926main()float r=1.0,c,

2、s;c=2*PI*r;s=PI*r*r;系统在对程序进行编译以前,首先将所有的编译预处理指令进行预处理,对本例来说,就是将程序中所有的宏名PI还原成3.1415926,宏展开。,例:定义一个宏名来代表一个数据个数。eg9-02.c#define N 100main()int aN,i;float s=0;for(i=0;iN;i+)scanf(“%d”,宏名N-符号常量,可以作为数组说明的长度。方便修改参数。,例:定义一个宏名来代表一个计算公式。eg9-03.c#define PI 3.1415926#define AREA PI*r*rmain()float r=3,s;s=AREA;pri

3、ntf(“n%f”,s);注意:系统对宏定义的预处理是一个字符串的还原过程,不要把宏名看成一个整体。,注意以下程序的运行结果:eg9-04.c#define F1 x+y#define F2(x+y)main()int x=3,y=5,z1,z2;z1=2*F1;z2=2*F2;printf(“n%d”,z);,2、带参的宏定义宏定义也可以带参数,其一般形式为:#define 宏名(参数表)字符串如:eg9-05.c#define S(a,b)a*b area=S(3,2);定义宏名S代表矩形面积,参数a,b为边长。宏展开过程:,92 文件包含处理 在一个源文件中将另一个源文件的内容包含进来。

4、文件包含指令的一般形式:#include“文件名”或#include,#include“file2.c”,A,file1.c,A,B,B,file1.c,file2.c,例:#include“math.h”main()float a,b,c,s,area;scanf(“%f%f%f”,#include“f.h”main()printf(“n%f”,f1(3.0);printf(“n%f”,fac(10);float f1(float r)return(PI*r*r);float fac(int n)int i;float s=1;for(i=1;i=n;i+)s*=i;return(s);,#define PI 3.1415926float f1(float r);float fac(int n);,f.c,f.h,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号