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

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言编程教程 第9章 预处理

教学要点 编译预处理 宏定义 文件包含 条件编译 编译预处理 一、含义: 编译预处理是C编译系统的一个组成部分。 二、目的: 将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码。 三、实现方法: 通过使用几种特殊的命令,在进行程序的编译之前,先对这些特殊命令进行处理。 四、主要内容: 1.宏定义; 2.文件包含; 3.条件编译. 宏定义 一、不带参数的宏定义: 1、含义:用一个指定的标识符来表示一个字符串。 2、格式: #define 标识符 字符串 其中:“标识符”被称为宏。 3、作用:使用户能以一个简单的名字代替一个长的字符串。 4、实现:在预编译时将宏名替换成字符串(宏展开)。 如:#define PI 3.14159 在程序中将标识符PI代替为“3.1415”这个字符串。 5、例9-1: 6、使用要点: 例9-1:分析下列的程序: 宏定义要点 1.宏名一般都用大写字母表示,以区别于变量; 2.宏定义只是用宏名替代一个字符串,减少了在程序中书写某些字符串的工作量; 3.宏定义不是语句,不必再其后加上“;”; 4.#define命令出现在函数的外面,它的有效范围是定义之后到本源文件的结束; 5.可以使用#undef命令终止宏定义的有效范围; 6.在宏定义中可以进行多层的替代. 二、带参数的宏定义 1、定义: #define 宏名(参数表) 字符串 2、作用: 不只是进行简单的字符串替换,还要进行参数的置换。 3、例9-2、9-3: 4、宏展开过程的要点: 对于带参数的宏的展开就是用实际参数代替宏定义时的形式参数; 在宏定义时,宏名与带参数的括号之间不应加空格,否则,空格也作为字符的组成部分; 例9-2 带参数的宏定义 #define s(a,b) a*b …. area=s(3,2); 例9-3:分析程序写出结果. 文件包含 1、含义: 将一个源文件的内容完全包含在另一个文件之中. 2、一般形式:#include “文件名”(或文件名) 3、功能:可以减少程序设计人员的重复劳动。 4、例9-4: 5、使用要点: 例9-4:分析程序写出结果: file.h 文件包含要点 1、一个#include命令只能指定一个被包含的文件,若要包含n个文件,应使用n个#include命令; 2、若文件1包含文件2,而文件2中要用到文件3的内容,则可在文件1中用2个#include命令分别包含文件2和文件3,而且文件3应出现在文件2之前,如下表示: file1.c #include “file3.h” #include “file2.h” ... 3、文件包含可以嵌套。 4、“”与在#include中的区别: 使用“”时,系统若在源程序文件目录中找不到被包含的文件,则将按系统指定的标准方式检索其他目录; 使用时,系统只按指定的标准方式检索其他目录; 5、预编译后的包含文件和源程序文件成为一个文件,所有的extern变量将成为源程序文件中的全局静态变量。 条件编译 一、引入条件编译的原因: 只对源程序中满足条件的部分内容进行编译。 可以减少被编译的语句,从而减少目标程序的长度。 二、定义形式: 方式1: #ifdef 标识符 程序段1 #else 程序段2 #endif 三、例9-5: 例9-5:分析程序写出结果: C程序设计 * / 16 area=S(3,2) 得3*2 #define S(a,b) a*b #include “flie2.c” A file1.c B file2.c B A file1.c file.c 方式2: #ifndef 标识符 程序段1 #else 程序段2 #endif 方式3: #if 表达式 程序段1 #else 程序段2 #endif * * * *

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档