- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
控制结构十教程
控制结构 十
C++大学教程(第2章 控制结构)
第2章 控制结构
教学目标
●了解基本问题的解决方法
●通过自上而下、逐步完善的过程开发算法
●用if、if/else和switch选择结构选择操作
●用while、do/while和for重复结构重复执行程序语句
●了解计数器控制重复与标记控制重复
●使用自增、自减、赋值和逻辑运算符
●使用break和continue此程序控制语句
2.1 简介
编写解决特定问题的程序之前,首先要彻底了解问题并认真计划解决问题的方法。编写程序时,还要了解可用的基本组件和采用实践证明的程序结构原则。本章将讨论结构化编程的理论和原理的所有问题。这里介绍的技术适用于大多数高级语言.包括C++。第6章在介绍C++面向对象编程时,将会介绍如何用第2章介绍的控制结构帮助建立和操作对象。
2.2 算法
任何计算问题都可以通过按特定顺序执行??系列操作而完成。解决问题的过程(procedure)称为算法(algorithm),包括:
1.执行的操作(action)
2.执行操作的顺序(order)
下例演示正确指定执行操作的顺序是多么重要:
考虑每个人早晨起床到上班的“朝阳算法”:(1)起床,(2)脱睡衣,(3)洗澡,(4)穿衣,(5)吃早饭,(6)搭车上班。
总裁可以按这个顺序,从容不迫地来到办公室。假设把顺序稍作调换:(1)起床,(2)脱睡衣,(3)穿衣,(4)洗澡,(5)吃早饭.(6)搭车上班。
如果这样,总裁就得带着肥皂水来上班。指定计算机程序执行语句的顺序称为程序控制(program control),本章介绍C++程序的控制功能。
2.3 伪代码
伪代码(pseudocode)是人为的非正式语言,帮助程序员开发算法。这里介绍的伪代码在开发的算法转换为结构化C++程序时特别有用。伪代码类似于日常英语,方便而且容易掌握,但不是实际计算机编程语言。伪代码程序并不在计算机上实际执行,而是帮助程序员先“构思”程序.再用C++之类的实际计算机编程语言编写。本章介绍几个如何在开发结构化C++程序时有效利用伪代码的例子。
我们介绍的伪代码完全由字符构成,程序员可以用一个编辑器程序方便地输入伪代码程序,计算机可以在需要时显示伪代码程序。认真构思的伪代码程序可以方便地变为对应的C++程序。很多情况下,只要将伪代码语句转换成对应的C++语句即可。
伪代码只包含执行语句,将伪代码程序变为对应的C++程序时,这些语句可以运行。声明语句不是执行语句。例如,下列声明:
int i;
只是告诉编译器,变量i的类型是整型,指示编译器在内存中为这个变量保留内存空间。但这个声明并在执行程序
时不做任何操作(如输入、输出或计算)。有些程序员在伪代码程序开头列出变量及其简要说明。
2.4 控制结构
通常,程序中的语句按编写的顺序一条一条地执行,称为顺序执行(sequential execution)。程序员可以用稍后要介绍的不同C++语句指定下一个执行的语句不是紧邻其后的语句,这种技术称为控制转移(transfer of control)。
20世纪60年代,人们发现,软件开发小组遇到的许多困难都是由于控制转移造成的。goto语句使程序员可以在程序中任意指定控制转移目标,因此人们提出结构化编程就是为了清除goto语句。
Bohm和JMoP5n1的研究表明,不用goto语句也能编写程序。困难在于程序员要养成不用goto语句的习惯。直到20世纪70年代,程序员才开始认真考虑结构化编程,结果使软件开发小组的开发时间缩短、系统能够及时交付运行并在颅算之内完成软件项目。这些成功的关键是.结构化编程更清晰、更易调试与修改并且不容易出错。
BohM和J“jecopini的研究表明,所有程序都可以只用三种控制结构(control structure)即顺序结构(sequence structure)、选择结构(selection structure)和重复结构(repetition structure)。顺序结构是C++内置的,除非另外指定,计算机总是按编写的顺序一条一条地执行。图2.1的流程图(flowchart)演示了典型的顺序结构.按顺序进行两次计算。
流程图是算法或部分算法的图形表示。流程图用一些专用符号绘制,如长方形、菱形、椭圆和小圆,这些符号用箭头连接,称为流程。
和伪代码一样,流程图也用于开发和表示算法,但伪代码更受欢迎。流程图能清楚地表示控制结构如何操作.本书用流程图表示控制结构如何操作。
考虑图2.1所示的流程图。我们用矩形框(
文档评论(0)