C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx

C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx

ID:51777263

大小:196.41 KB

页数:13页

时间:2020-03-07

C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx_第1页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx_第2页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx_第3页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx_第4页
C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx_第5页
资源描述:

《C语言程序设计教程 第2版 教学课件 作者 吉顺如 刘新铭 辜碧容第7章 编译预处理命令.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章 编译预处理命令学习目标熟练掌握宏定义和宏替换的一般方法;熟练文件包含的处理方法;3.了解条件编译的作用和实现方法。主要内容宏文件包含处理条件编译7.1#define命令一.编译预处理命令的作用编译预处理命令通过指令告诉编译系统,在对源程序进行编译之前应该做些什么。所以,编译预处理命令通常位于源程序的开始位置。编译预处理命令以“#”符号打头,每个命令占用一个单独的书写行,命令尾不使用分号作为结束符。宏定义预处理命令#define的作用是把一个标识符(宏名)定义为一个字符串。#define预处理命令的格式:#define标识符字符

2、串在编译预处理时,编译系统把源程序中出现的该标识符,均以定义的字符串替换,将将替换过程称为宏替换。C程序中通常以大写字母定义宏名标识符。二.宏定义预处理命令#define例如,有如下的宏定义预处理命令:#defineE_MS"StandarderrorOninput\n"而程序中有语句:printf(E_MS);则编译预处理时,凡遇到标识符E_MS时,就用字符串“Standarderroroninput\n”替换。因此,语句printf((E_MS);经编译预处理后成为:printf("Standarderroroninput\n")

3、;这是一个显示“Standarderroroninput”的C程序语句。注意:#define预处理命令格式中的字符串不需要用“"”作为分隔符,例中宏定义预处理命令中的“"”是字符串的一部分。#define预处理命令允许宏名可以带形式参数,称之为带参数的宏。带参数的宏的格式:#define标识符(形参表)字符串编译预处理时,遇到带参数的宏名时,与之相联的形参由程序中的实参替换,但是,C程序中用双引号括起的字符串中的宏名将不被替换。【例7-1】宏名替换示例。#defineMIN(a,b)(a

4、00;y=200;printf("theMIN(x,y)is:%d",MIN(x,y));}被替换成printf("theMIN(x,y)is:%d",(x

5、进行简单的字符替换,没有函数调用中复杂的参数传递过程。7.2#include命令文件包含预处理命令#include的作用是使一个源文件可以将另外一个源文件的全部内容包含进来。源文件1:源文件2:最终的源文件:file1.cfile1.c#includefile2.cf2()main(){{{……;……;…;}}}main()f1(){{……;……;}}f1(){……;}包含预处理执行#include预处理命令后,把file2.c插入file1.c的#include命令的位置处,使file2.c成为源程序file1.c

6、的一部分。#include预处理命令的两种格式:格式1:#include<包含文件名>(标准方式)格式2:#include"包含文件名"其中,包含文件名是指存放在磁盘上的待包含的源文件名。使用格式1时,C编译系统到存放C语言库函数头文件所在的目录中搜索包含文件。使用格式2时,将按指定的路径搜索。未指定路径时,则在当前目录中搜索,若找不到,再按标准方式查找。7.3条件编译命令条件编译命令的作用是实现对源程序代码有选择地进行编译。条件编译命令的格式1:#ifdef符号常量程序段1#else程序段2#endif编译预处理时,如果#ifdef

7、后面的符号常量已经被定义,则编译程序段1,否则编译程序段2。其中,可以没有程序段2的部分,相当于程序段2为空语句。【例7-3】条件编译命令应用示例之一#defineMAX10main(){#ifdefMAXprintf("HappyNewYear!");#elseprintf("HappyNewSpringFestival!");#endifprintf("Theend");}定义一个宏名为MAX的符号常量该部分语句将不被编译#if表达式程序段1#else程序段2#endif编译预处理时,若表达式的值为非0,则编译程序段1

8、,否则编译程序段2。与格式1相同,程序段2的部分可以没有,相当于程序段2为空语句。把file2.c插入file1.c的#include命令的位置处,使file2.c成为源程序file1.c的一部分。条件编译命令的格式2:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。