流程控制结构之选择结构.ppt

上传人:本田雅阁 文档编号:2251167 上传时间:2019-03-11 格式:PPT 页数:20 大小:335.01KB
返回 下载 相关 举报
流程控制结构之选择结构.ppt_第1页
第1页 / 共20页
流程控制结构之选择结构.ppt_第2页
第2页 / 共20页
流程控制结构之选择结构.ppt_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《流程控制结构之选择结构.ppt》由会员分享,可在线阅读,更多相关《流程控制结构之选择结构.ppt(20页珍藏版)》请在三一文库上搜索。

1、第五章 流程控制结构之选择结构,杨章伟 e-mail:,课程内容安排,C+中条件的构成。 if语句的应用。 switch语句的应用。 选择结构的嵌套。 选择结构的综合应用。,条件,在C+程序中,“条件”是用一个表达式表示的,该表达式的结果是一个bool值,或者是某个整数值。在程序执行过程中,如果某个条件得到了满足,或者不满足,那么程序就会沿着相应的语句序列顺序执行下去。因此,条件是选择结构的一个重要组成部分。一般来说,C+中,条件一般有两种形式:关系表达式条件和逻辑表达式条件。,if语句,在C+语言中,有两种类型的语句可以控制选择结构的流程,其分别为if语句和switch语句。其中,if语句又

2、有3种形式:if形式、ifelse形式和ifelse ifelse形式,if形式,if形式是if语句的一种基本形式,也是最为简单的一种形式,if形式的选择语句也被称为单分支语句。其说明语句的一般形式为: if ( ) ; 其中,表达式可以是int型、long型、char型和enum型等数据类型,表达式的值有零和非零两种,零为false(假),非零为true(真);语句可以是任何类型的语句,也可以是块语句,即包含在一对中的一组语句。,ifelse形式,ifelse形式的语句也称为双分支条件语句,其说明语句的一般形式为: if () ; else ; 该语句的语义是:如果表达式的值为真(true)

3、,则执行语句1;否则执行语句2。相对于如上的if语句,ifelse语句增加了对于表达式的值为假(false)时的处理语句,ifelse ifelse形式,C+中提供了if.else ifelse语句用于多分支结构的流程控制,该语句一般的语句形式如下所示: if () ; else if () ; else if () ; else ;,ifelse语句的嵌套,是指在一个ifelse形式语句中还包含了其他if语句或ifelse ifelse语句。一般来说,嵌套的ifelse语句基本形式如下所示。 if ( ) if ( ) ; else ; else if ( ) ; else ; 在嵌套的if

4、else语句中,相配的if和else不是靠缩进决定的,而是遵循一定的规则,即“就近原则”。所谓“就近原则”是指else总是与和最近出现的且没有匹配的if相匹配”。,ifelse语句嵌套,在C+中,switch语句也称情况语句,其也是一种多分支语句,用于实现有多种选择的程序流程 switch (表达式 ) case : ; break; case : ; break; case : ; break; default: ; ,switch语句,所谓选择据结构的嵌套是指在一个选择结构流程控制语句中又含有其他的选择结构流程控制语句。例如,当if语句中的执行语句又是if语句时,就构成了if语句嵌套的情形

5、,在switch语句中还可以有if语句,这也是选择结构的嵌套形式。,选择结构的嵌套,选择结构综合应用,选择结构在应用程序中使用较多,其使用较为灵活,很多实际问题都可以通过各种选择流程控制语句来实现。通过前面小节关于条件、if语句和switch语句的介绍,读者对于C+中选择结构的流程控制已有一定了解,下面通过两个具体示例加强读者对于选择结构的理解。 根据用户输入一个年份判断某年是否为闰年。计算闰年的方法是,如果某年份能被4整除并且不能被100整除的或者能被400整除的,则该年为闰年。,小结,本章主要介绍了结构化程序设计中的另一种重要结构选择结构。在具体讲解控制选择结构流程的两种语句前,本章首先简

6、要介绍了选择结构的重要组成部分条件的组成,对关系条件、逻辑条件和组合条件做了详细介绍。本章重点讲解了if语句的3种形式:if形式、ifelse形式和ifelse ifelse形式,此外,对于switch语句及选择结构的嵌套,本章也进行了具体讲解,并通过多个应用示例予以验证,掌握好这部分对于学好C+程序设计是非常关键的。,习题,【题目51】已知int x=10,y=20,z=30,以下语句执行后x,y,z的值将分别是多少? if(xy) z=x;x=y;y=z; 【分析】该试题主要考查if语句。在上述语句中,首先判断关系条件xy的值是否为true,此处将x和y的值分别代入:x=10,y=20,因

7、此xy是不成立的,因此if语句下面的第一条语句不会执行,即语句z=x不会执行,而其后的两条语句x=y和y=z语句将会被执行。因此,执行该语句段后,x、y和z的值分别为20,30和30。,【题目52】编写一个C+程序,从键盘输入三角形的三边长,判断出这三边能否构成三角形。例如,输入三边分别为2,3,4,其返回结果如图5.25所示。,【题目53】以下程序的运行结果是多少? #include #include using namespace std; int main() int m=5; if (m+5) coutmendl; else coutm-endl; system(“pause“); r

8、eturn 0; ,【题目54】符号函数的实现在许多程序中是常见的,用多种选择语句编程实现符号函数。当x 0 则sgn(x)=+1, 当x =0则sgn(x)=0。例如,当用户输入x的值为10时,其输出结果为1,输入x的值为-10时输出结果为-1,输入x的值为0时输出结果为0,如图5.26所示。,【题目55】以下程序的输出结果是多少? int a=100,x=10,y=20,ok1=5,ok2=0; if(xy) if(!ok1) a=1; else if(ok2) a=10; a=-1; coutaendl;,【题目56】编写一个C+程序,根据用户从键盘输入的17的数字,判断当前是星期几,并

9、将结果输出。如不是17之间的数字则返回错误提示。例如,当用户输入7时,输出结果如图5.27所示。 【题目57】编写一个程序根据输入的三角形的三条边判断是否能组成三角形,如果可以则输出它的面积和三角形类型。,【题目58】编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。 【题目59】编写一个程序,输入年、月,打印出该年份该月的天数。 【题目60】编写一个C+程序,输入一个字母,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。,【题目61】有一个函数如下: x (x=15) 输入x的值,计算出相应的y值。 【分析】该试题主要考查条件分支语句的应用。该程序段首先判断用户的输入在哪个区间,根据不同的区间计算不同的表达式,得到y的值。由于此处有3个区间,此处可以使用ifelse ifelse多分支语句来实现。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1