C语言编程教程 第9章 预处理

C语言编程教程 第9章 预处理

ID:43187687

大小:172.50 KB

页数:16页

时间:2019-10-02

C语言编程教程 第9章 预处理_第1页
C语言编程教程 第9章 预处理_第2页
C语言编程教程 第9章 预处理_第3页
C语言编程教程 第9章 预处理_第4页
C语言编程教程 第9章 预处理_第5页
资源描述:

《C语言编程教程 第9章 预处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、预处理教学要点编译预处理宏定义文件包含条件编译编译预处理一、含义:编译预处理是C编译系统的一个组成部分。二、目的:将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码。三、实现方法:通过使用几种特殊的命令,在进行程序的编译之前,先对这些特殊命令进行处理。四、主要内容:1.宏定义;2.文件包含;3.条件编译.宏定义一、不带参数的宏定义:1、含义:用一个指定的标识符来表示一个字符串。2、格式:#define标识符字符串其中:“标识符”被称为宏。3、作用:使用户能以一个简单的名字代替一个长的字符串。4

2、、实现:在预编译时将宏名替换成字符串(宏展开)。如:#definePI3.14159在程序中将标识符PI代替为“3.1415”这个字符串。5、例9-1:6、使用要点:例9-1:分析下列的程序:1.宏名一般都用大写字母表示,以区别于变量;2.宏定义只是用宏名替代一个字符串,减少了在程序中书写某些字符串的工作量;3.宏定义不是语句,不必再其后加上“;”;4.#define命令出现在函数的外面,它的有效范围是定义之后到本源文件的结束;5.可以使用#undef命令终止宏定义的有效范围;宏定义要点6.在宏定义中可以

3、进行多层的替代.二、带参数的宏定义1、定义:#define宏名(参数表)字符串2、作用:不只是进行简单的字符串替换,还要进行参数的置换。3、例9-2、9-3:4、宏展开过程的要点:对于带参数的宏的展开就是用实际参数代替宏定义时的形式参数;在宏定义时,宏名与带参数的括号之间不应加空格,否则,空格也作为字符的组成部分;例9-2带参数的宏定义#defines(a,b)a*b….area=s(3,2);area=S(3,2)得3*2#defineS(a,b)a*b例9-3:分析程序写出结果.文件包含1、含义:将一

4、个源文件的内容完全包含在另一个文件之中.2、一般形式:#include“文件名”(或<文件名>)3、功能:可以减少程序设计人员的重复劳动。4、例9-4:5、使用要点:#include“flie2.c”Afile1.cBfile2.cBAfile1.c例9-4:分析程序写出结果:file.hfile.c1、一个#include命令只能指定一个被包含的文件,若要包含n个文件,应使用n个#include命令;2、若文件1包含文件2,而文件2中要用到文件3的内容,则可在文件1中用2个#include命令分别包含文

5、件2和文件3,而且文件3应出现在文件2之前,如下表示:file1.c#include“file3.h”#include“file2.h”...文件包含要点3、文件包含可以嵌套。4、“”与<>在#include中的区别:使用“”时,系统若在源程序文件目录中找不到被包含的文件,则将按系统指定的标准方式检索其他目录;使用<>时,系统只按指定的标准方式检索其他目录;5、预编译后的包含文件和源程序文件成为一个文件,所有的extern变量将成为源程序文件中的全局静态变量。条件编译一、引入条件编译的原因:只对源程序中满

6、足条件的部分内容进行编译。可以减少被编译的语句,从而减少目标程序的长度。二、定义形式:方式1:#ifdef标识符程序段1#else程序段2#endif三、例9-5:方式2:#ifndef标识符程序段1#else程序段2#endif方式3:#if表达式程序段1#else程序段2#endif例9-5:分析程序写出结果:

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

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

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