- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c程序设计基本语句
C++程序设计
第4章 基本语句
一个C++程序可以由若干个源程序文件组成,一个源程序文件由编译预处理指令、自定义类型说明和函数组成,一个函数由若干条语句组成。语句是组成程序的基本单位。本章介绍C++基本语句的分类、程序结构,详细介绍其中的流程控制语句,包括选择语句、循环语句和跳转语句等。
4.1 语句分类
程序是由语句构成的。每一条语句都用一个分号结尾。根据MSDN C++规范,C++语句可分为以下9大类。
4.1.1 说明语句
程序中往往要引入新的名称,来表示某个类型的变量或命名常量,也可能表示用户自定义的某种类型,如结构类型、枚举类型、类等。所有这些引入新名字的语句统称为说明语句(也称为声明语句)。也可以将说明语句再详细划分为类型说明语句、变量或对象说明语句。说明语句在程序执行过程中并没有对数据进行任何操作,仅是向编译器提供一些说明性信息。说明语句可出现在函数中,也可以出现在函数之外。
变量说明语句就是最常见的说明语句。例如:
int i = 3;
这是一条说明语句。变量i是前面不曾出现的变量。该语句说明了一个新变量i,后面的代码就能对这个变量i进行操作。
在后面章节还将看到,说明语句可用于说明函数原型、结构、类等。
注意编程中的说明与定义的区别。说明可以是笼统的,比如说明一个函数原型、一个类原型,说明可以不包含具体内容,比如不包含函数体,不包含类中的成员。说明也可以是具体的,而定义必须是具体的,当我们说定义一个函数时,不仅要确定函数原型,也要确定函数体。
4.1.2 表达式语句
在任一表达式后面加上一个分号就构成一条表达式语句。表达式语句的作用是执行计算。变量说明语句和表达式语句相结合,完成计算过程。例如:
int i = 3; //这是说明语句,而不是赋值语句
i = 4; //这是赋值语句,是一种表达式语句.2 程序的基本结构
结构化编程有3种基本结构:顺序结构、选择结构和循环结构。每一种基本结构都由若干模块组成,一个模块是一条复合语句的抽象。一个函数就是一个模块,下一章介绍函数。每一种结构都是一个模块,而且每个模块都能在内部嵌套更小的多个模块。
每个模块的设计应遵循以下原则:
每个模块都应该是单入口、单出口。
每个模块都有机会执行,即不能让一些模块永远都不能执行。
模块中不能有死循环,即不能只进不出。
4.2.1 顺序结构
顺序结构的程序是按从上到下的顺序依次执行各个模块。如图4.1所示,一个模块中嵌套了两个模块,先执行A模块,再执行B模块。
单入口要求,若A模块执行,B模块就一定执行。即不允许在两个模块之间插入另一个入口,只执行B模块而不执行A模块。这样保证B模块执行之前,A模块一定执行完毕。
单出口要求,当退出顺序结构时,A模块和B模块都执行完毕。
如果在A模块中有一条goto语句,就可能导致B模块不能执行。如果在B模块中有标号语句,就可能使外部goto语句能跳转进入B模块执行,而A模块不能执行。这样就违背了单入口、单出口的原则。
在A模块和B模块中,并非禁止所有的跳转。在任何模块中都允许执行以下两种跳转语句:
return语句:将当前函数的执行返回到调用方。
throw语句:引发异常到外层的异常捕获处理语句。
以上两种跳转语句都有确定的目标,而且一般情况下只有在满足特定条件时,才使用这两种跳转语句,而不是无条件跳转,所以经常会用到这两种跳转语句。
顺序结构在逻辑上比较简单,容易理解,往往用来描述高层的执行顺序。例如,输入数据、计算结果、输出结果,三个模块按次序执行。每个模块都可以递归地嵌套内部子模块,而每个模块都应该是三种基本结构之一。
4.2.2 选择结构
选择结构是根据条件的不同结果做出不同的选择,从而执行不同的语句。如图4.2所示。先计算一个条件,如果为真就执行A模块,否则就执行B模块(或者什么都不执行,图右面一种情形)。
单入口要求,如果A模块能执行,条件就一定为真。不允许出现这样的情形,执行了A模块,而没有执行条件判断,或者条件判断不为真。单出口要求,在退出选择结构时,要么A模块执行,要么B模块执行。
如果A模块中有一条goto语句跳转到B模块中,或者跳转到其它地方,就会破坏单入口单出口的原则。
两个模块都应有机会执行,即该条件不应恒为真或恒为假。
实现选择结构的语句有if-else语句和switch语句。
4.2.3 循环结构
循环结构就是按照一个条件对某些语句重复执行多次。一个循环结构由一个条件和一个循环体(表示为模块A)构成。如图4.3所示。有左右两种情形:
情形1。先判断条件,若为真就执行模块A,然后再转去判断条件,直到条件为假,退出循环结构。这种情形对应while语句和for语句。
单入口要求,模块A执行,条件必须满足。即不允许外部直接跳转到模块A开始执行。单出口要求,当退出
文档评论(0)