- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 高教版 职业道德与法治 第三课增强职业道德意识.pptx VIP
- 09BD2_10KV变配电装置国标 建筑图集 汇编 .docx VIP
- 肝硬化伴食管胃底静脉曲张破裂出血.pptx VIP
- 09SMS202-1 埋地矩形雨水管道及附属构筑物(混凝土模块砌体).docx VIP
- 《新药发现与开发---第一章概论》.ppt VIP
- 17.2019版NOUAP压疮指南解读 解读2019 压力性损伤和治疗临床实践指南.pptx VIP
- 卫星互联网行业报告:低轨卫星.pptx VIP
- 我的小手真干净(教学设计)-2024-2025学年地质版(2024)小学体育与健康一年级全一册.docx VIP
- 在线网课学习课堂《公文写作规范与技巧(陕西师范大学)》单元测试考核答案.docx VIP
- 钛合金Ti6Al4V铣削加工表面完整性与长疲劳寿命关联性探究.docx
文档评论(0)