C语言--程序设计导论 作者 崔雅娟 第五章.pptVIP

C语言--程序设计导论 作者 崔雅娟 第五章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 预处理命令 本章内容不多,但很实用,出现的预处理命令有:define,include,if,elif,else,endif, ifdef,idndef。 本章主要知识点: ?宏定义的作用,代参宏定义的定义方法,宏调用和函数调用的区别,宏展开的方法。 ?包含命令在多文件程序中的使用,常用头文件及相关函数的使用。 ?条件编译的几种实现方法,如何使用控制条件编译的宏定义。 * * 本章的主要内容:三种预处理命令 ?宏定义 ?文件包含 ?条件编译 第五章 预处理命令 回首页 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 5.1.1简单宏定义(不带参数的宏定义) 命令形式: #define 宏名字 替代正文 对宏定义的处理:将宏名字替换(也叫宏展开)为替代正文,不作任何语法检查。 书写习惯:用大写字母表示宏名字,以区别于普通变量名。 讨论使用宏定义的好处。 宏定义的作用范围:C程序中,宏定义位置一般写在程序开头,从宏定义开始处有效。如果要在源程序的某处提前终止宏定义的作用域,可以使用#undef,形式如下: #undef 宏名字 表示从该行开始,不再存在这个宏定义。 宏定义的替代正文可以是任意的字符组合,预处理程序对它的处理只是简单的展开和替换,结果是否正确,由编译程序来检查。 5.1 宏定义 5.1.2 带参数的宏定义 命令形式: #define 宏名字(参数表) 替代正文 宏名字后紧跟括号,括号内是逗号分隔的几个标识符,被看作参数名字,替代正文中应出现参数表中的参数。 程序中使用带参数的宏类似于函数调用,称为“宏调用”,形式为: 宏名字(实参表) 除了给出宏名字,还要给出各个宏参数的替代段,替代段之间也用逗号分隔。 讨论使用宏调用和函数调用的特点。 预处理程序对带参宏定义的处理分两步: (1)用宏调用的实际参数替代出现在替代正文中的对应宏参数。 (2)代换结果用到程序中出现宏调用的地方。 讨论在定义和使用宏调用时还应该注意的问题。 5.1 宏定义 用#include开始的预处理命令叫文件包含命令。由于该命令写在所有的源文件的开头,又叫头文件,常用“.h”做后缀,(没有后缀或用“c”做后缀也可以)。 包含命令的形式如下: #include 文件名 或: #include “文件名” 文件名放在中,表示到指定目录中寻找文件,常用于包含系统提供的头文件。文件名放在” ”中,则先到当前工作目录中找文件,再到指定目录中找,常用于包含自己提供的头文件。 预处理程序对包含命令的处理过程:按规定方法寻找文件,若找到,用文件内容替换包含命令所在的行。找不到,预编译出错,提示无法打开相应文件。 包含文件可以嵌套,预处理程序会将其全部展开,直到不包含一个预处理命令为止。替换的文件是文本文件即可,但替换后要满足C程序语法规定。 讨论使用包含命令应注意的问题。 5.2 文件包含 条件编译:控制程序中的某些行只在满足一定条件下才进行编译,或控制满足某一条件时对一组语句进行编译,不满足这一条件时编译另一组语句,的预处理命令。 它的作用是划出源程序的一些片段,使预处理程序可以根据一定条件确定保留或丢掉某个片段,或确定从几个片段中选取哪一个片段保留下来。 讨论条件编译的处理过程及使用注意问题。 形式1. #ifdef 标识符 程序段1 #else 程序段2 #endif 根据标识符是否由用#define命令定义过,选择保留程序段1或程序段2。 5.3 条件编译 形式2. #if 表达式 程序段1 #else 程序段2 #endif 根据表达式值是否为真,选择保留程序段1还是程序段2。 形式3.#if 表达式1 程序段1 #elif 表达式2 程序段2 #elif 表达式3 ··· #else 程序段n #endif 根据多个表达式值,从若干程序段中选取一段。 5.3 条件编译 回本章首页 *

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档