- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]C程序构架及词法符号约定
2.2 C++程序构架及词法符号约定
2.2.1 C++程序示例
先通过一个简单的示例来分析用该语言所编写的程序的基本结构及一些特点。
例2.1 一个简单的C++程序
//EX2_1.cpp:
//分别输入一个学生的3门功课成绩,根据其相应的学分,计算其加权平均值
#include iostream.h //预处理指令
double Average(double score1,double score2,double score3); //函数引用说明
void main()
{
double score1,score2,score3,average;
cout”第一门功课成绩:”;
cinscore1; //接收用户输入
cout”第二门功课成绩:”;
cinscore2;
cout”第三门功课成绩:”;
cinscore3;
average=Average(score1,score2,score3); //调用子函数,用返回值为变量赋值
cout”加权平均分为:”average”\n”;//输出计算结果
}
double Average(double score1,double score2,double score3);//程序的子函数
{
double credit1,credit2,credit3,average;
credit1=3.0;
credit2=4.0;
credit3=2.0;
average=(credit1*score1+credit2*score2+credit3*score3)/(credit1+credit2+credit3);
return average;
}
2.2.2 C++程序的一般结构
C++源程序以文件为单位进行存储。通常,最终被编译、链接成一个可执行文件的程序都包含一个工作空间(workspace),其中可以包括一个或多个不同性质的文件。
从总体上看,C++程序一般可以分成4个部分:预处理指令、全局说明、对象类的定义、程序的主函数和用户自定义的函数,如下图2.1所示。
预处理指令 全局说明 主函数 子函数1 .
.
. 子函数n 图2.1 C++程序的一个结构
2.2.2.1 预处理指令
在C++程序中,预处理指令就是源程序中所包括的各种编译命令。所有的预处理指令均以“#”号开始进行标识,而且“#”号还必须被置于该指令所在程序行的第一列。各种预处理指令在程序编译前执行,其作用是以中间文件的形式向编译器传递一定的信息,并不影响源程序。
引进预处理指令的目的是对C++程序设计环境进行扩展,使得进行程序开发时更加方便或控制程序编译的某些流程。
下面介绍几个常用的预处理指令。
1、预处理指令#include (最为常用的预处理指令)
在程序执行的过程中,经常要使用到各种编译系统提供的标准函数、类库提供的类以及用户开发的、存放在其它文件中的变量、函数和类等。而这些变量、函数和类等的说明和其它信息,都保存在相关的头文件(.h文件)中。为了使用头文件中定义的变量、函数和类,必须将相应的头文件包含到要使用它们的源文件中。为此可以使用预处理指令#include,该指令的格式为:
#include headfile.h 或 #include ”headfile.h”
如果头文件名是由尖括号括起来,则编译器将在由编译系统设定的相应子目录中去搜索该头文件。一般用于将编译系统提供的标准头文件或类库提供的头文件包含到程序中。如果头文件名是由双引号括起来,则编译器将在当前目录中去搜索该头文件。一般用于将自己开发的头文件包含到程序中,以调用保存在其它源文件中的变量、函数和类等。如果编译器在相应的目录中找不到相应的头文件,将产生致命错误(fatal error)。
2、条件预处理指令
由于被预处理包含指令#include所指定的头文件中也可以使用#include指令,因此就可能出现头文件嵌套甚至是头文件循环相互调用的情况,导致编译效率低下甚至失败的情况。
为了避免这种情况的发生,引入了条件预处理指令,用来标识是否已经包含了某头函数或头函数的部分。若已经包含,则在以后遇到要求包含该头函数或部分头函数的各部分时,跳过相应的部分。
条件预处理指令包括:
#ifdef #ifndef #define #else #endif
例2.2 条件预处理指令用法1。
#ifndef MYHEADFILE_H
#define MYHEADFILE_H
.
.
/*此处为头文件应加入的代码*/
.
.
#endif /* MYHEADFILE_H */
例2.3 条件预处理指令用法2。
#ifdef u362
.
您可能关注的文档
- [2018年最新整理]AutoCAD2007基础知识.ppt
- [2018年最新整理]AUTOCAD2007教程绘制三维网格和实体.ppt
- [2018年最新整理]AutoCAD2008课件第9章.ppt
- [2018年最新整理]AutoCAD.ppt
- [2018年最新整理]AutoCAD2010机械制图基础教程课后习题答案.doc
- [2018年最新整理]AutoCAD2004常用命令及简单技巧.ppt
- [2018年最新整理]AutoCAD2012标准教程-第8章填充与编辑图案.ppt
- [2018年最新整理]AutoCAD2013入门.ppt
- [2018年最新整理]AutoCAD_2010尺寸标注和公差标注.ppt
- [2018年最新整理]AutoCAD2014电气工程制图.pptx
最近下载
- 高标准农田建设项目初步验收报告、建设、施工管理、监理、设计、运行管.docx
- AfterEffects动态图形与动效设计 配套课件.pptx
- 2022最新版初中物理新课标学习解读培训可编辑课件.pptx VIP
- 2025年陕西榆林能源集团有限公司人员招聘笔试模拟试题及答案解析.docx VIP
- 22J603-1 铝合金门窗参考图集.docx VIP
- 2025年陕西榆林能源集团有限公司招聘笔试模拟试题及答案解析.docx VIP
- 黑布林阅读初二2《莫格利的兄弟》中文版.pdf
- 医学课件-脑梗死.pptx VIP
- 2025年陕西榆林能源集团有限公司招聘笔试备考试题及答案解析.docx VIP
- 微生物工程在金属冶炼废水处理中的应用.pptx VIP
文档评论(0)