C语言程序设计 教学课件 作者 柴世红_第5章.ppt

C语言程序设计 教学课件 作者 柴世红_第5章.ppt

ID:50083636

大小:947.00 KB

页数:57页

时间:2020-03-08

C语言程序设计 教学课件 作者 柴世红_第5章.ppt_第1页
C语言程序设计 教学课件 作者 柴世红_第5章.ppt_第2页
C语言程序设计 教学课件 作者 柴世红_第5章.ppt_第3页
C语言程序设计 教学课件 作者 柴世红_第5章.ppt_第4页
C语言程序设计 教学课件 作者 柴世红_第5章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 柴世红_第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章选择结构程序设计5.1引例5.2if语句5.3? :运算符实现分支结构5.4switch语句5.5案例学习5.1引例【例5-1】输入两个数,输出其中较大的数。程序流程如图5.1所示。图5.1例5-1算法流程例5-1的源程序如下:图5.2例5-1运行结果【例5-2】输入三角形的三条边长,求三角形面积。图5.3例5-2运行结果5.2if语句5.2.1单分支if语句语句格式:if(表达式)语句   注意:if后面的语句若为多条语句构成时,必须写成复合语句形式(即将语句用花括号括起来)。   单分支i

2、f语句的执行过程如图5.4所示。图5.4单分支选择结构【例5-3】输入两个整数,按照由小到大的顺序输出这两个数。图5.5例5-3运行结果5.2.2双分支if语句语句格式:if(表达式)语句1else语句2双分支if语句的执行过程如图5.6所示。图5.6双分支选择结构【例5-4】从键盘上输入一个正整数,判断其奇偶性。图5.7例5-4运行结果5.2.3多分支if语句语句格式:if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3elseif(表达式m)语句melse语句n多分

3、支if语句的执行过程如图5.8所示。图5.8多分支选择结构【例5-5】有一个函数定义如下,编一程序,输入一个x值,输出y值。  算法流程图如图5.9所示。图5.9例5-5流程图根据流程图编程如下:图5.10例5-5运行结果5.2.4if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。一般形式如下:【例5-6】将例5-5的阶梯函数采用if语句的嵌套格式编程。  方法一:方法二:5.3? :运算符实现分支结构在例4-1中,有以下if语句:   当被判别的表达式的值为“真

4、”或“假”时,都执行一个赋值语句且向同一个变量赋值时,可以用一个条件运算符来处理:【例5-7】从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。图5.11例5-7运行结果5.4switch语句【例5-8】从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E;score<0或score>100,等级为F。分析

5、题意,此题加上错误输入,共有六个分支,如果采用多分支选择结构if语句,则程序如下:上面的程序冗长而且分支较多,可读性降低,不便于理解。C语言提供了switch语句直接处理多分支选择,程序如下:图5.12例5-8运行结果1.switch语句的一般形式2.执行过程(1)当switch后面表达式的值与某个case后面的常量表达式的值相同时,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执行switch语句的下一条,如图5.13所示。(2)如果没有任何一个case后面

6、的常量表达式的值与表达式的值匹配,则执行default后面的语句(组);然后,再执行switch语句的下一条。图5.13含有break语句的switch语句的执行过程3.说明(1) switch后面的表达式,可以是int、char和枚举型中的一种。(2)每个case后面常量表达式的值必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一个值,有两种或两种以上的执行方案)。(3) case后面的常量表达式仅起语句标号的作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断

7、,执行过程如图5.14所示,所以必须加上break语句,以便结束switch语句。图5.14不含有break语句的switch语句的执行过程注意:如果去掉例5-8程序中的所有break语句,程序段代码如下:图5.15去掉例5-8程序中的所有break语句,且输入的成绩为75时的运行结果(4)多个case子句,可共用同一语句(组)。   例如,在例5-8中有“case10: ”和“case9: ”共用语句 “printf(”grade=A“);break;”,“case5:”~“case0: ”共

8、用语句 “printf(”grade=E“);break;”。(5)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。5.5案例学习【例5-9】判断由键盘上输入的整数是正数、负数还是零。图5.16例5-9运行结果【例5-10】从键盘上输入三个整数,求其中最大值和最小值。图5.17例5-10运行结果【例5-11】输入任意三个整数a、b、c,按从小到大的顺序输出。   算法流程图如图5.18所示。图5.18例5-11流程图根据流程图写出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。