c 的流程控制语句

上传人:小** 文档编号:62370283 上传时间:2018-12-20 格式:PPT 页数:73 大小:395KB
返回 下载 相关 举报
c  的流程控制语句_第1页
第1页 / 共73页
c  的流程控制语句_第2页
第2页 / 共73页
c  的流程控制语句_第3页
第3页 / 共73页
c  的流程控制语句_第4页
第4页 / 共73页
c  的流程控制语句_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《c 的流程控制语句》由会员分享,可在线阅读,更多相关《c 的流程控制语句(73页珍藏版)》请在金锄头文库上搜索。

1、C+ Programming,C+的流程控制语句 第4章,C+程序是由各种语句构成的,语句可以分为两类:一类用于描述计算机执行的操作运算,称为操作运算语句;另一类用于控制操作运算的执行顺序。本章在介绍C+的各种操作运算语句的基础上,重点讲述流程控制语句,包括条件语句、switch语句、循环语句。 C+语言的语句和程序结构 选择结构语句 循环结构语句 控制执行顺序的语句 程序举例,C+ Programming,本章学习要求,熟练掌握if语句和switch语句的使用,会在程序中利用它们实现单分支或多分支控制。 熟练掌握while,do.while和for这三种循环语句的结构和执行过程,会在程序中利

2、用它们实现单重或多重循环控制。 掌握continue语句和break语句的作用。,C+ Programming,C+语言的语句和程序结构,C+语言的语句概述 程序的三种基本结构,4.1,C+ Programming,C+语言的语句概述,C+程序由数据描述和数据处理两部分构成。数据描述主要定义具有特定内涵的数据结构。数据处理的任务是对所提供的数据进行加工处理,它是通过具有各种不同功能的语句来实现的。C +中的语句可归纳如下六类: 表达式语句 函数调用语句 空语句 复合语句 注释语句 流程控制语句,4.1.1,C+ Programming,表达式语句,在表达式的后面加上一个分号,就构成表达式语句,

3、它是程序中最常见的一种语句形式。其格式为: ;比如: a=4; a=1, b=2, c=3; a+b; !a|b&c; sum=sum+1;,C+ Programming,函数调用语句,在函数调用之后加一个分号“;”就构成函数调用语句。例如: sin(2); 其实“函数调用语句”也是属于表达式语句,因为函数调用也是属于表达式的一种,只是为了便于理解和使用,把“函数调用语句”和“表达式语句”分开来说明。,C+ Programming,空语句,只由一个分号构成的语句。比如: a+2; ; 在表达式语句”a+2;”之后的语句就是空语句。空语句可以看成是表达式语句的特殊情形,一般情况下它是不起任何作用

4、的,因此为了程序的紧凑,不应出现不必要的空语句。,C+ Programming,复合语句,把一个语句序列用括起来,就构成了复合语句,又称为块语句或语句块。例如: sum=sum+1; i=i+1; 复合语句在语法上相当一个语句,因此它可以出现在允许语句出现的任何位置。复合语句可以嵌套,即在复合语句中还可以有其它复合语句。,C+ Programming,注释语句,注释语句在程序中的作用是对程序进行说明或解释,目的是为了增加程序的可读性和可理解性。在程序编译过程中,注释语句是作为空语句处理的。 C+中,有两种类型的注释语句: 一种是用注释符“/”。从注释符“/”到它所在行的行尾之间的所有字符都被作

5、为注释语句处理。这种注释方法在前面已出现多次。 另一种是利用一对注释符:“/*”和“*/”。在“/*”和“*/”之间的文字都被作为注释处理,这种方法一般使用于有多行注释信息的情况。,C+ Programming,流程控制语句,流程控制语句主要用来控制程序的执行过程和顺序,从而使C+语言获得更强的编程手段和编程能力。 C+语言中,除了上述六中类型的语句外,还有另一种语句说明语句,包括常量说明语句和变量说明语句。,C+ Programming,程序的三种基本结构,C+语言在按顺序执行的基础之上,采用了一些可以改变执行顺序的结构,主要包括:分支结构、循环结构,另外还定义了一些语句,如break、co

6、ntinue等。 顺序结构 分支结构 循环结构,4.1.2,C+ Programming,顺序结构,C+ Programming,分支结构,C+ Programming,循环结构,C+ Programming,选择(分支)结构语句,构成分支结构的分支结构语句有两种:一种是条件语句,另一种是switch语句。这类语句的共同特点是:根据给定的条件决定下一步的行为。 条件语句 switch语句,4.2,C+ Programming,条件语句,单选条件语句 二中择一条件语句 嵌套条件语句 If条件语句的几点说明 If语句的嵌套,4.2.1,C+ Programming,单选条件语句,格式: if ()

7、 其中可为任一合法的表达式,该表达式为条件语句的判断条件,其值决定了是否执行其后的部分。注意,该表达式必须用括号括起来。可以是六种语句中的任一语句,通常称之为内嵌语句,它与if一起构成了单选条件语句。 【例4.1】输出两个数中较大者,C+ Programming,【例4.1】输出两个数中较大者,#include void main() int x=3, y=2; couty) coutx; /A if (x=y) couty; /B ,C+ Programming,二中择一条件语句,格式: if () else 其中、的要求与含义与单选条件语句一样 其执行流程为:先计算的值,如果不等于0,则执

8、行;否则,执行。因此,不管的值如何,两个内嵌语句和中有一个而且只有一个得到执行。 例如可将例4.1改为: if(xy) cout x; /A else couty; /B,C+ Programming,嵌套条件语句,格式: if () else if() else if else 语义:从上到下依次计算的值,直到某个的值不等于0,则执行相应的;如果所有表达式都等于0,则执行。它在、选择一条且只选择一条执行。 【例4.2】嵌套条件语句的应用,C+ Programming,【例4.2】嵌套条件语句的应用,#include void main() int x, y; coutx; if(x800)

9、y=500; else if(x700) y=600; else if(x600) y=700; else if(x500) y=800; else y=0; cout”相应的y为:”yendl; /A ,C+ Programming,If条件语句的几点说明,if后面的通常为逻辑表达式或关系表达式。表达式必须放在括号中。例如: if(a=b 如果有多个语句的话,则必须用大括号 括起来,构成复合语句。例如 else语句不能单独使用,必须与if语句配对使用。,C+ Programming,if (a0) a+; cout0) a+; couta;,C+ Programming,If语句的嵌套,if

10、和else两个关键字后的“语句”可以是任何合法语句,当然也可以是if语句,称这种情形为if语句的嵌套。 对于嵌套的if语句,必须注意if和else的匹配问题,为了不引起混乱,在C+中规定else总是与它前面最近的if配对。 如果if数目与else数目不一样,程序设计者最好加上适当的花括弧“”来确定配对关系。例如 【例4.3】读入3个数,输出绝对值最大者 【例4.4】计算分段函数,C+ Programming,if(a2) if(a2) if(a10) /B cout ”a在210之间!”endl; else cout”a不小于2!”endl; / C 这时else与第二个if配对,从B行到C行

11、之间的二择一条件语句为第一个if语句的内嵌条件语句。,C+ Programming,【例4.3】读入3个数,输出绝对值最大者,#include #include void main() float a,b,c,max; cinabc; cout=fabs(b) ,C+ Programming,【例4.4】计算分段函数,方法一:利用嵌套条件语句 方法二:利用条件语句的嵌套,C+ Programming,方法一:利用嵌套条件语句,#include void main() int x,y; cinx; if(x0) y=1; else if(x= =0) y=0; else y=1l cout“x=

12、“ x“, y=“ yendl; ,C+ Programming,方法二:利用条件语句的嵌套,if(x=0) if(x0) y=1; else y=0; else y=1;,C+ Programming,switch语句,switch语句为分支结构语句的另一种形式,在功能上与嵌套条件语句类似,都是多选择(多分支)语句,即根据给定的条件,选择执行其中某一个分支中的语句序列。 switch语句的一般格式 switch语句语义 【例4.6】switch语句的应用 使用switch语句时应注意的几点 【例4.7】输入的年、月,判断该月的天数,4.2.2,C+ Programming,switch语句的

13、一般格式,switch() case : 语句序列1 break; case : 语句序列2 break; case : 语句序列n break; default: ,C+ Programming,switch语句语义,先计算switch控制表达式的值,将该值与每个case分支中的常量表达式的值进行比较,如果相等,则执行该分支后面的语句序列,当执行到break语句时退出该switch语句,否则一直执行下去;如果控制表达式的值与每个case分支中的常量表达式的值都不相等,则执行default分支中的语句序列;如果既没有匹配的case,又没有default分支,则不执行该switch结构中的任何语

14、句。,C+ Programming,【例4.6】switch语句的应用,对学生成绩进行如下分类: A或a等:90-100分; B或a等:80-89分; C或a等:70-79分; D或a等:60-69分; E或a等:60分以下。 程序代码,C+ Programming,使用switch语句应注意的几点,每个case常量表达式值必须互不相同,否则就会出现错误,例如 switch后控制表达式必须是整数、字符或枚举类型的变量或常量,每个case分支后的常量表达式必须是由字面常量、宏定义的常量、const常量构成的表达式,其值必须是整数、字符或枚举类型的常量。每个case分支只能判别一个常量。例如 sw

15、itch结构的执行部分为由多个case分支及可缺省的default分支组成的复合语句,因此应放在大括号内,即switch语句下面的大括号不能省。 Switch语句允许嵌套,即各分支语句中可以有其它的分支语句。,C+ Programming,【例4.7】输入的年、月,判断该月的天数,分析:根据历法,闰年2月的天数为29天,其它年份2月为28天。闰年是指:年份能被4且不能被100整除,或者年份能被400整除 程序代码,C+ Programming,循环结构语句,循环是解决重复性操作的结构。几乎所有的实用的程序都包含循环结构。 循环结构一般由两部分组成: 进入或退出循环的条件:该条件决定是否继续下一

16、轮循环。当该条件满足时,进入下一轮循环,否则退出循环 循环体:为每一轮循环所进行的操作,通常由一个语句序列构成 while()语句 dowhile()语句 for()语句,4.3,C+ Programming,while()语句,while()语句属于当型循环结构,其一般格式为: while() 可以是任一合法的表达式,它的值决定了是否进行下一次循环,因此称之为循环条件表达式;可以是任一语句。 while()语句的语义 【例4.8】求自然数1100总和 在应用while()语句时要注意的几点 【例4.9】键入一个整数按相反顺序输出各位数字,4.3.1,C+ Programming,while()语句的语义

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号