计算机专业考研控制结构

控制结构

通常,程序中的语句按编写的顺序一条一条地执行,称为顺序执行(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所示的流程图。我们用矩形框(或称为执行框)表示各种操作,包括计算、输入和输出操作。图中的流程表示进行操作的顺序,首先将grade加进total,然后将counter加1。C++允许顺序结构中有多个操作,稍后可以看出,可以放一个操作的地方,也就可以放几个顺序操作。

绘制表示完整算法的流程图时,椭圆框加上其中的“Begin”(开始)字样表示流程图开始,椭圆框加上其中的“End”(结束)字样表示流程图结束。只画部分算法时(如图2.1),省略椭圆框,只用小圆框,也称接头框。

最重要的流程图符号是菱形框,也称为判断框,表示要进行判断。下一节将介绍菱形框。

C++提供三种选择结构,本章将介绍这三种选择结构。if选择结构在条件为true时执行一个操作,在条件为false时跳过这个操作。if/else选择结构在条件为true时执行一个操作,在条件为false时执行另一个操作。swutch选择结构根据表达式取值不同而选择不同操作。

if选择结构称为单项选择结构(single—selection,structure),选择或忽略一个操作。if/else选择结构称为双项选择结构(double-selection structure),在两个不同操作中选择。switch选择结构称为多项选择结构(multiple-selection structure),在多个不同操作中选择。

C++提供三种重复结构while、do/while和for。if、else、switch、while、do和for等都是C++关键字(keyword)。这些关键字是该语言保留的,用于实现如C++控制结构等不同特性。关键字不能作为变量名等一些标识符。图2.2显示了完整的C++关键字列表。

-----------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------

常见编程错误 2.1

用关键字作为标识符属于语法错误。

C++只有七种控制结构:顺序结构、三种选择结构和三种重复结构。每个C++程序都是根据程序所需的算法组合这七种控制结构。从图2.1中的顺序结构可以看出,每个控制结构的流程图使用两个小圆框,一个在控制结构入口点,一个在控制结构出口点。这种单入/单出控制结构(single-entry/single-exit control structure)使程序容易建立,只要将一个控制结构的出口与另一个控制结构的入口连接,即可组成程序。这点很像小孩子堆积木,因此称为控制结构堆栈(control-structure stacking),还有另一种控制结构连接方法,称为控制结构嵌套(control-structure nesing)。

软件工程视点 2.1

任何C++程序可以用这七种控制结构(顺序、if、if/else、switch、while、do/while和for并用两种方式(控制结构堆栈和控制结构嵌套)组合而成。

考研复试英语听力http://www.kyjxy.com/fushi/zhinan/
考研数学复习计划http://www.kyjxy.com/shuxue/ziliao/
专硕http://www.kyjxy.com/zhuanshuo/

时间: 2024-08-30 07:06:51

计算机专业考研控制结构的相关文章

计算机专业考研控制结构伪代码

伪代码(pseudocode)是人为的非正式语言,帮助程序员开发算法.这里介绍的伪代码在开发的算法转换为结构化C++程序时特别有用.伪代码类似于日常英语,方便而且容易掌握,但不是实际计算机编程语言.伪代码程序并不在计算机上实际执行,而是帮助程序员先“构思”程序.再用C++之类的实际计算机编程语言编写.本章介绍几个如何在开发结构化C++程序时有效利用伪代码的例子. 我们介绍的伪代码完全由字符构成,程序员可以用一个编辑器程序方便地输入伪代码程序,计算机可以在需要时显示伪代码程序.认真构思的伪代码程序

计算机专业考研控制结构算法

任何计算问题都可以通过按特定顺序执行一系列操作而完成.解决问题的过程(procedure)称为算法(algorithm),包括: 1.执行的操作(action) 2.执行操作的顺序(order) 下例演示正确指定执行操作的顺序是多么重要: 考虑每个人早晨起床到上班的“朝阳算法”:(1)起床,(2)脱睡衣,(3)洗澡,(4)穿衣,(5)吃早饭,(6)搭车上班. 总裁可以按这个顺序,从容不迫地来到办公室.假设把顺序稍作调换:(1)起床,(2)脱睡衣,(3)穿衣,(4)洗澡,(5)吃早饭.(6)搭车上

2016计算机专业考研:c++大学教程第二版目录(上)

2016计算机专业考研:c++大学教程第二版目录,本文为上半部分,专业课的复习,读书很重要: 第1章计算机与C++编程简介 1.1 简介 1.2 什么是计算机 1.3计算机组成 1.4 操作系统的变革 1.5 个人计算.分布式计算与客户/服务器计算 1.6 机器语言.汇编语言和高级语言 1.7 C语言与C++的历史 1.8 C++标准库 1.9 Java.Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.1

计算机专业考研方向2011考研

计算机专业考研方向2011考研1  计算机系统结构计算机系统结构二级学科研究并行分布计算.新型计算机.计算机网络与通信.嵌入式系统.集成电路设计.信息存储.可信计算与容错计算等方向.其排名如下: 排名   校名   等级   排名   校名   等级   1   清华大学   A++   10   吉林大学   A   2   浙江大学   A++   11   电子科技大学   A   3   华中科技大学   A+   12   北京邮电大学   B+   4   北京大学   A+   1

2016计算机专业考研:c++大学教程第二版目录(下)

2016计算机专业考研:c++大学教程第二版目录,本文为下半部分,专业课的复习,读书很重要: 第8章_运算符重载 8.1 简介 8.2 运算符重载的基础 8.3 运算符重载的限制 8.4 用作类成员与友元函数的运算符函数 8.5 重载流插入与流读取运算符 8.6 重载一元运算符 8.7 重载二元运算符 8.8 实例研究:Array类 8.9 类型之间的转换 8.10 实例研究:String类 8.11 重载++与-- 8.12 实例研究:Date类 小结 术语 自测练习 自测练习答案 练习 第9

计算机专业考研if选择结构

if选择结构 选择结构在不同操作之间选择.例如,假设考试成绩60分算及格,则下列伪代码: if student's grade is greater than or equal to 60 print "Passed" else print "Failed" 确定“学生成绩大于或等于60分”是true或false,如果是true,则该生及格,打印“Passed”字样,并顺序“执行”下一个伪代码语句(记住,伪代码不是真正的编程语言).如果条件为false,则忽略打印语

计算机专业考研相关联系

1.10 将下列项目分为硬件和软件:a)CPUL)C++编译器c)ALUd)C++预处理器e)输入单元f)编译程序1.11 为什么要用机器无关语言而不是用机器相关语言编程?为什么某些程序更适合用机器相关语言编程?1.12填空:a)计算机的哪个逻辑单元从计算机外部接收计算机使用的信息?——.b)指示计算机解决特定问题的过程称为——.c)哪种计算机语言用机器语言指令的英文缩写?——.d)计算机的哪个逻辑单元将计算机处理过的信息发送到各个设备,并在计算机外部使用?——.e)计要机的哪个逻辑单元保存信息

计算机考研复试面试系列 计算机专业英语篇

计算机考研复试面试系列 计算机专业英语篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高! 此系列一共有8篇:编程语言篇|数据结构篇|操作系统篇|组成原理篇|计算机网络篇|数据库篇|软件工程篇|计算机专业英语篇(还未全部完成,敬请期待,你们的支持和关注是我最大的动力!) 个人整理,不可用于商业用途,转载请注明出处. 作者各个平台请搜索:程序员宝藏.快来探索属于你的宝藏吧! 需要pdf直接打

走好脚下的路--写给迷茫的计算机专业在校生

2013年6月我迈出了校门,和四年难忘的大学生活挥手作别.而今一年半有余,挥手曾经的岁月,也不免有几分唏嘘.我战战兢兢的敲下这篇文章的标题,自己的经历和感悟是否有资格给后来人一些启示,心里有几分不安.不过既然决定提笔,就把我的心里话说出来. 促使我写这篇文章的原因是在贴吧里看到一位在校大一新生所提到的问题: 1.C++还需要学习吗? 2.C已经入门了,想从事游戏方面的工作,有必要深入学习C吗? 我在贴吧里写了很长的话来针对这两个问题来回答,但是后来我突然意识到,这位同学的问题背后所表现出来的或多