第8章_编译预处理课件.ppt

上传人:春哥&#****71; 文档编号:15609312 上传时间:2022-05-13 格式:PPT 页数:8 大小:132KB
返回 下载 相关 举报
第8章_编译预处理课件.ppt_第1页
第1页 / 共8页
第8章_编译预处理课件.ppt_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《第8章_编译预处理课件.ppt》由会员分享,可在线阅读,更多相关《第8章_编译预处理课件.ppt(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第8章_编译预处理ppt课件(全)第第8章章 编译预处理编译预处理第8章_编译预处理ppt课件(全)第第8章章 编译预处理编译预处理8.1 宏定义宏定义8.2 文件包含文件包含 8.3 条件编译条件编译 第8章_编译预处理ppt课件(全) #define 宏名宏名 字符串字符串 8.1 宏定义宏定义不带参数的宏定义不带参数的宏定义标识符标识符例如:例如: #define PI 3.1415926宏展开宏展开: 将将宏名宏名替换成替换成字符串字符串的过程的过程第8章_编译预处理ppt课件(全)【例【例8.1】使用宏定义的例子。】使用宏定义的例子。#include#define R 3.0#def

2、ine PI 3.1415926#define L 2*PI*R#define S PI*R*Rvoid main()printf(L=%.2fnS=%.2fn, L , S ); 宏展开:宏展开:printf(“L=%.2fnS=%.2fn”, 2*3.1415926*3.0, 3.1415926*3.0*3.0);说明:说明:(1) 宏名习惯用大写字母。宏名习惯用大写字母。(2) 一个宏名只能被定义一次。一个宏名只能被定义一次。(3) 可用已定义的宏名定义新的宏名。可用已定义的宏名定义新的宏名。如例如例7.1(4) 字符串常量及用户标识符中与宏名字符串常量及用户标识符中与宏名相同的部分不作

3、替换。相同的部分不作替换。如定义如定义#define L 1234则在则在printf(“L=”,)及变量及变量Length中的中的L不作替换。不作替换。 (5) 宏定义的作用域:从定义开始到程宏定义的作用域:从定义开始到程序结束。序结束。(6) 当宏定义换行时,要在行尾加当宏定义换行时,要在行尾加 “”。例如:例如:#define PI 3.1415926第8章_编译预处理ppt课件(全)#define 宏名宏名(形参表形参表) 字符串字符串8.1.2 带参数的宏定义带参数的宏定义例如:例如:#define M(a,b) a*barea=M(3,7);宏展开:宏展开:area=3*7; 【例

4、【例8.2】分析下面程序的执行】分析下面程序的执行结果。结果。#include #define M(x,y) (x*y) void main() int a=2,b=3,c,d; c=M(a,b); /* c=(a*b) */ d=M(a+1,b+1); /* d=(a+1*b+1) */ printf(c=%d, d=%dn,c,d);程序运行结果:程序运行结果:c=6, d=6第8章_编译预处理ppt课件(全) #undef 宏名宏名8.1.3 终止宏定义终止宏定义例如:例如:#define PI 3.14void main() #undef PI 第8章_编译预处理ppt课件(全)文件包

5、含(文件包含(file inclusion)预处理)预处理命令有两种格式:命令有两种格式: #include“文件名文件名” #include 8.2 文件包含文件包含如:如: #include在在stdio.h文件中有:文件中有:#define EOF -l#define NULL 0当前目录当前目录系统指定目录系统指定目录系统指定目录系统指定目录第8章_编译预处理ppt课件(全)【例【例8.3】一个程序写在多个源文件中的应用举例。】一个程序写在多个源文件中的应用举例。 经过编译预处理后:经过编译预处理后: int fun1(int a,int b) return a+b;int fun2(

6、int a,int b) return a*b;void main()printf(%dn,fun1(3,5); printf(%dn,fun2(3,5);源文件源文件ex703.c中的内容:中的内容:#include#includeex703_1.c#includeex703_2.cvoid main()printf(%dn,fun1(3,5); printf(%dn,fun2(3,5);源文件源文件ex703_1.c中的内容:中的内容:int fun1(int a,int b) return a+b;源文件源文件ex703_2.c中的内容:中的内容:int fun2(int a,int b) return a*b;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁