第6章程序流程控制结构循环与转向语句_第1页
第6章程序流程控制结构循环与转向语句_第2页
第6章程序流程控制结构循环与转向语句_第3页
第6章程序流程控制结构循环与转向语句_第4页
第6章程序流程控制结构循环与转向语句_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件开发魔典从入门到项目实践项目实践基础知识核心应用高级应用行业应用项目实践软件开发魔典C++从入门到项目实践清华大学出版社(超值版)核心技术本课时学习重点熟悉基本语句以及程序流程。熟悉并掌握选择结构。熟悉并掌握循环结构。掌握跳转语句。聚慕课教育研究中心学习、授课与教学PPT课件程序流程概述在编程世界中,要想改变程序的执行流程,就要用流程控制和流程控制语句。流程控制的基本结构无外乎于顺序结构、选择结构和循环结构三种。而语句是构造程序最基本的单位,程序运行的过程就是执行程序语句的过程。程序语句执行的次序称之为流程控制(或控制流程)。顺序结构是最基本也是最简单的程序,一般由定义常量和变量语句、赋值语句、输入/输出语句、注释语句等构成。顺序结构在程序执行过程中,按照语句的书写顺序从上至下依次执行,但大量实际问题需要根据条件判断,以改变程序执行顺序或重复执行某段程序,前者称为分支结构,后者称为循环结构。我们常常看到现实生活中的流程是多种多样的,比如生产线上的零件的流动过程,应该顺序地从一个工序流向下一个工序,这就是顺序结构。但当检测不合格时,就需要从这道工序中退出,或继续在这道工序中再加工直到检测通过为止,这就是选择结构和循环结构。聚慕课教育研究中心学习、授课与教学PPT课件基本语句声明语句执行语句复合语句空语句赋值语句聚慕课教育研究中心学习、授课与教学PPT课件声明语句在C语言中,只有产生实际操作的才称为语句,对变量的定义不作为语句,而且要求对变量的定义必须出现在本块中所有程序语句之前。因此C程序员已经养成了一个习惯,在函数或块的开头位置定义全部变量。而在C++中,对数据结构的定义和描述、对变量的定义统称为声明语句。声明语句不生成可执行代码,仅是向编译器提供一些说明性的信息。它可以放在函数中允许出现语句的任何位置,也可以放在函数外定义。这样更加灵活,可以很方便地实现变量的局部化(变量的作用范围从声明语句开始到本函数或本块结束)。聚慕课教育研究中心学习、授课与教学PPT课件执行语句通知计算机完成一定的操作。执行语句包括以下几种。1.函数和流对象调用语句在一次函数的调用后加上一个分号所构成的语句,它完成一次函数的调用。2.表达式语句表达式语句是C++中最常见也是最简单的语句,它是由表达式加上分号“;”组成的。3.控制语句用来完成对程序的执行顺序进行一定控制的语句,如程序的选择控制、循环控制、程序的跳转等。聚慕课教育研究中心学习、授课与教学PPT课件复合语句所谓复合语句实际上就是将多条语句使用大括号“{}”括起来而组成语句。如下面是一个复合语句。 { z=x+y; if(z>50) z=z-50; cout<<z<<endl;

}复合语句中的每条语句都必须使用“;”进行结尾,并且在“}”外不能再加分号。注意:复合语句在程序中属于一条语句,不能将它看为多条语句。聚慕课教育研究中心学习、授课与教学PPT课件空语句空语句是只有分号“;”构成的语句。空语句属于什么都不执行的语句,它的功能就是在程序中用来做一个空的循环体。例如: inta=1; ; ++a; cout<<a<<endl;其中第二句为一个空语句,当程序执行到此时什么都不会做,继续向下执行,空语句不会影响到程序的功能以及执行的顺序。聚慕课教育研究中心学习、授课与教学PPT课件赋值语句关于赋值表达式与赋值语句的概念,在C++中,赋值表达式可以包括在其他表达式之中。例如: if((x=y)>0)cout<<"x>0"<<endl;按语法规定if后面的括号内是一个条件,现在在条件的位置上换上一个赋值表达式“x=y”,其作用是,先进行赋值运算(将y的值赋给x),然后判断x是否大于0,如大于0,执行“cout<<"x>0"<<endl;”。在if语句中的“x=y”不是赋值语句而是赋值表达式,这样写是合法的。不能写成:

if((x=y;)>0)cout<<"x>0"<<endl;因为在if的条件中不能包含赋值语句。C++把赋值语句和赋值表达式区别开来,增加了表达式的种类,能实现其他语言中难以实现的功能。聚慕课教育研究中心学习、授课与教学PPT课件顺序结构顺序结构是程序代码中最基本的结构,是指程序中的所有语句都是按书写顺序逐一执行的,代码从main()函数开始运行,从上到下,一行一行的执行,不漏掉代码。例如: doublez; intx=3;

inty=4;

z=x+y;程序中包含4条语句,构成一个顺序结构的程序。可以看出,顺序结构程序中,每一条语句都需要执行并且执行一次。聚慕课教育研究中心学习、授课与教学PPT课件选择结构与语句选择结构if选择语句if-else选择分支语句switch多重选择分支语句两种分支语句的比较if…else语句的嵌套聚慕课教育研究中心学习、授课与教学PPT课件选择结构选择结构通过对给定的条件进行判断,来确定执行哪些语句。选择结构可以用分支语句来实现。分支语句包括if语句和switch语句,我们将在后面讲解这些语句的语法。现在先来看一个具有选择结构的程序例子。【例6-2】编写程序,输入两个数,判断两个数的大小,并输出最大数。聚慕课教育研究中心学习、授课与教学PPT课件if选择语句C++中,一般使用if关键字来组成选择语句语句,形式如下: if(表达式) {

语句; }“表达式”是给定的条件,一般为关系表达式,表达式的运算结果应该是真或假(true或false)。if语句首先判定是否满足条件,如果满足条件,则执行“语句”,否则不执行该“语句”。聚慕课教育研究中心学习、授课与教学PPT课件if-else选择分支语句在if语句后面使用else关键字,就形成了一个选择分支结构。该结构是要求指定两个语句。当给定的条件满足时,执行一个语句;当条件不满足时,执行另一个语句。这也被称为if-else语句,其一般形式如下: if(表达式) {

语句1; } else {

语句2; }“表达式”是一个关系表达式,该运算结果是真或假(true或false),如果表达式的值为真,则执行语句1,否则执行语句2。即根据条件表达式是否为真分别作不同的处理。聚慕课教育研究中心学习、授课与教学PPT课件switch多重选择分支语句C++提供了一套语句形式——switch语句,用于多重选择分支结构。switch语句的一般形式如下: switch(表达式) { case常量表达式1:

语句1;break; case常量表达式2:

语句2;break; ... case常量表达式n:

语句n;break; default:语句n+1; }“表达式”是一个算数表达式,需要计算出该表达式的值。然后,其结果值依次与每一个常量表达式的值进行匹配(常量表达式的值的类型必须与“表达式”的值的类型相同)。聚慕课教育研究中心学习、授课与教学PPT课件两种分支语句的比较对于一条路线需要分为多个分支路线时,用前面的if语句书写会造成代码混乱,可读性差,如果使用不当就会产生表达式上的错误。为此,建议在仅有两个分支或分支数少时使用if语句,在分支比较多时使用switch语句。【例6-8】编写程序,使用选择分支语句将1到8所代表的字符串,输出到屏幕上。【例6-9】编写程序,使用switch语句,将一个代表星期几的1到7之间的整数,在屏幕上输出它代表的是星期几。聚慕课教育研究中心学习、授课与教学PPT课件例6-8例6-9if…else语句的嵌套在C++中,if语句的里面嵌套if…else语句是合法的,这意味着可以在一个if或if…else语句内使用另一个if或if…else语句。这就是构成了语句的嵌套。关于if嵌套语句的几点说明:(1)if语句用于解决二分支的问题,嵌套if语句则可以解决多分支问题。(2)2种嵌套形式各有特点,应用时注意区别,考虑一下是否可以互相替换。(3)if中嵌套的形式较容易产生逻辑错误,而else中嵌套的形式配对关系则非常明确,因此从程序可读性角度出发,建议尽量使用在else分支中嵌套的形式。聚慕课教育研究中心学习、授课与教学PPT课件循环结构与语句程序循环结构for语句while语句do-while语句聚慕课教育研究中心学习、授课与教学PPT课件程序循环结构有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。而C++提供三种循环语句——while语句、do-while语句和for语句及其嵌套形式来描述循环结构。【例6-12】编写程序,顺序打印出0~9这十个数。聚慕课教育研究中心学习、授课与教学PPT课件for语句C++中的for语句使用最为广泛和灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。for语句也称为for循环。其语法格式为:

for(表达式1;表达式2;表达式3)

{

循环体语句;

}表达式1为赋值语句,如果有多个赋值语句可以用逗号隔开,形成逗号表达式;表达式2返回一个布尔值,用于检测循环条件是否成立;表达式3为赋值表达式,用来更新循环控制变量,以保证循环能正常终止。聚慕课教育研究中心学习、授课与教学PPT课件while语句while语句也称为“当循环”。其语法格式为: while(表达式) {

循环体语句; }其中,表达式是C++中任一合法表达式,包括逗号表达式;其值是逻辑型,即1或0。循环体语句可以是单一语句,也可以是复合语句。while语句执行过程如下:(1)计算表达式的值,若值为真(或非0),则执行循环体;(2)计算表达式的值,并重复以上过程;(3)当表达式的值为假(或为0),便不再执行循环体,循环语句结束。聚慕课教育研究中心学习、授课与教学PPT课件do-while语句do-while语句也称为“直到循环”。语句格式为: do {

循环体语句; }while(表达式);其中,表达式是C++中任一合法表达式,包括逗号表达式;其值是逻辑型,即1或0。循环体语句可以是单一语句,也可以是复合语句。do-while语句执行过程如下:(1)执行一次循环体语句;(2)计算表达式的值,若表达式的值为真,则重复上述过程;(3)直到表达式的值为假(或为0)时,结束循环。聚慕课教育研究中心学习、授课与教学PPT课件程序跳转语句goto语句break语句continue语句聚慕课教育研究中心学习、授课与教学PPT课件goto语句goto语句称为无条件转移语句。该语句和标号语句一起使用,控制程序从goto语句所在的地方转移到标号语句处。所谓“标号语句”,是用标识符标识的语句。其语法格式如下:

goto标号语句;其中标号语句是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号“:”。标号语句起标识语句的作用,与goto语句配合使用。聚慕课教育研究中心学习、授课与教学PPT课件break语句C++中break语句有以下两种用法:(1)当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。(2)它可用于终止switch语句中的一个case。其作用为使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句。注意:break语句只能用于循环语句和switch语句内,不能单独使用或用于其他语句中。聚慕课教育研究中心学习、授课与教学PPT课件continue语句C++中的continue语句有点像break语句。但它不是强迫终止,continue会跳过当前循环中的代码,强迫开始下一次循环。continue

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论