预处理异常C文件.pdfVIP

  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文档。上传文档
查看更多
第7章 程序文件和预处理指令 P154 7.1 使用头文件 头文件:扩展名.h标识。这些文件包含类型定义 和其他用于程序中一个或多个源文件的代码。 头文件和源文件之间的主要区别是它们的使用方 式不同。头文件可以包含下面的内容: 类型声明 函数声明 常量定义 数据声明 预处理指令 注释 1页 1页 但头文件不宜包含: 函数定义 数据定义 源文件:扩展名.cpp 或.c 每个源文件必须包含它需要的头文件。 在编译程序时,只编译源文件,根据#include指 令将添加程序需要的头文件内容。 2页 2页 7.4 预处理指令 P160 7.4.1 文件包含 所谓“文件包含”是指将另一个源文件的内容合并 到源程序中。 #include指令将程序需要的头文件内容添加到源 文件中,以参加编译。它有下列两种格式: #include 文件名 #include “文件名” 注意:一条#include命令只能包含一个文件,若 想包含多个文件须用多条文件包含命令。例如: #include iostream.h #include math.h 3页 3页 系统提供的 #include iostream 标准库的头文件可省略.h 自己设计的 #include “myhead.h” 要放在与源文件相同的目录下,否则找不到; 或者提供完整路径。 4页 4页 7.4.2 宏定义 1. 不带参数的宏定义 宏定义是用一个指定的标识符来代替1个字符串, 只是单纯的替换。如 #define PI 3.141593 其中,#define是宏定义命令,PI称为宏名。编译 器首先将程序中的PI用3.141593来替换,然后再 进行代码编译,故称为“编译预处理”。 需注意: (1) #define、PI和3.141593之间一定要有空格,且 一般将宏名定义成大写。 (2) 宏后面的内容实际上是“字符串”,编译器本身不 对其进行任何语法检查。 5页 5页 使用宏可提高程序的可阅读性和可维护性 (3) 宏被定义后,使用下列命令后可重新定义: #undef 宏名 (4) 定义过的宏名可用来定义其它新的宏,注意括号 #define WIDTH 80 #define LENGTH ( WIDTH + 10 ) 但其中的括号不能省略,因为当 var = LENGTH * 20; 若宏LENGTH定义中有括号,则预处理后变成: var = ( 80 + 10 ) * 20; 若宏LENGTH定义中没有括号,则预处理后变成: var = 80 + 10 * 20; 6页 6页 2. 带参数的宏 #define 宏名(参数名表) 字符串 括号内是形参,这些形参将被实参替换。例如: #define MAX(a,b) ((a)(b)?(a):(b)) 其中(a,b)是宏MAX的参数表, 如果在程序出现下列语句: x = MAX(3, 9); 则预处理后变成: x = ((3)(9)?(3):(9)); // 结果为9 带参数的宏相当于一个函数的功能。 定义有参宏时,宏名与左括号之间不能留有空格 7页 7页 7.4.3 条件编译 条件编译:根据一定的条件去编译源文件的不同 部分,在不同的编译条件下得到不同的目标代码。 (1) 第一种形式 #ifdef 标识符 程序段1 [#else 程序段2] #endif 含义是:如果标识符已被#define命令定义过,则 编译程序段1,否则编译程序段2 。 8页 8页 [例Ex_UseIfde

文档评论(0)

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

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

1亿VIP精品文档

相关文档