*第5章选择结构程序设计第5章选择结构程序设计5.1引例5.2if语句5.3? : 运算符实现分支结构5.4switch语句5.5案例学习*第5章选择结构程序设计 5.1引例 【例5-1】输入两个数,输出其中较大的数。程序流程如图5.1所示。*第5章选择结构程序设计图5.1例5-1算法流程*第5章选择结构程序设计 例5-1的源程序如下:*第5章选择结构程序设计图5.2例5-1运行结果*第5章选择结构程序设计 【例5-2】输入三角形的三条边长,求三角形面积。*第5章选择结构程序设计图5.3例5-2运行结果*第5章选择结构程序设计 5.2if语句5.2.1单分支if语句 语句格式: if(
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式)语句 注意:if后面的语句若为多条语句构成时,必须写成复合语句形式(即将语句用花括号括起来)。 单分支if语句的执行过程如图5.4所示。*第5章选择结构程序设计图5.4单分支选择结构*第5章选择结构程序设计 【例5-3】输入两个整数,按照由小到大的顺序输出这两个数。*第5章选择结构程序设计图5.5例5-3运行结果*第5章选择结构程序设计5.2.2双分支if语句 语句格式: if(表达式)语句1else语句2 双分支if语句的执行过程如图5.6所示。*第5章选择结构程序设计图5.6双分支选择结构*第5章选择结构程序设计 【例5-4】从键盘上输入一个正整数,判断其奇偶性。*第5章选择结构程序设计图5.7例5-4运行结果*第5章选择结构程序设计5.2.3多分支if语句 语句格式: if(表达式1)语句1 elseif(表达式2)语句2 elseif(表达式3)语句3 elseif(表达式m)语句m else语句n 多分支if语句的执行过程如图5.8所示。*第5章选择结构程序设计图5.8多分支选择结构*第5章选择结构程序设计 【例5-5】有一个函数定义如下,编一程序,输入一个x值,输出y值。 算法流程图如图5.9所示。*第5章选择结构程序设计图5.9例5-5流程图*第5章选择结构程序设计 根据流程图编程如下:*第5章选择结构程序设计图5.10例5-5运行结果*第5章选择结构程序设计5.2.4if语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。一般形式如下:*第5章选择结构程序设计 【例5-6】将例5-5的阶梯函数采用if语句的嵌套格式编程。 方法一:*第5章选择结构程序设计 方法二:*第5章选择结构程序设计 5.3? : 运算符实现分支结构 在例4-1中,有以下if语句: 当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值时,可以用一个条件运算符来处理:*第5章选择结构程序设计 【例5-7】从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。*第5章选择结构程序设计图5.11例5-7运行结果*第5章选择结构程序设计 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章选择结构程序设计
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
题意,此题加上错误输入,共有六个分支,如果采用多分支选择结构if语句,则程序如下:*第5章选择结构程序设计 上面的程序冗长而且分支较多,可读性降低,不便于理解。C语言提供了switch语句直接处理多分支选择,程序如下:*第5章选择结构程序设计*第5章选择结构程序设计图5.12例5-8运行结果*第5章选择结构程序设计 1.switch语句的一般形式*第5章选择结构程序设计 2.执行过程 (1)当switch后面表达式的值与某个case后面的常量表达式的值相同时,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执行switch语句的下一条,如图5.13所示。 (2)如果没有任何一个case后面的常量表达式的值与表达式的值匹配,则执行default后面的语句(组);然后,再执行switch语句的下一条。*第5章选择结构程序设计图5.13含有break语句的switch语句的执行过程*第5章选择结构程序设计 3.说明 (1) switch后面的表达式,可以是int、char和枚举型中的一种。 (2)每个case后面常量表达式的值必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一个值,有两种或两种以上的执行
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
)。 (3) case后面的常量表达式仅起语句标号的作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,执行过程如图5.14所示,所以必须加上break语句,以便结束switch语句。*第5章选择结构程序设计图5.14不含有break语句的switch语句的执行过程*第5章选择结构程序设计 注意:如果去掉例5-8程序中的所有break语句,程序段代码如下:*第5章选择结构程序设计图5.15去掉例5-8程序中的所有break语句,且输入的成绩为75时的运行结果*第5章选择结构程序设计 (4)多个case子句,可共用同一语句(组)。 例如,在例5-8中有“case10: ”和“case9: ”共用语句 “printf(”grade=A\n“);break;”,“case5:”~“case0: ”共用语句 “printf(”grade=E\n“);break;”。 (5)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。*第5章选择结构程序设计 5.5案例学习 【例5-9】判断由键盘上输入的整数是正数、负数还是零。*第5章选择结构程序设计图5.16例5-9运行结果*第5章选择结构程序设计 【例5-10】从键盘上输入三个整数,求其中最大值和最小值。*第5章选择结构程序设计图5.17例5-10运行结果*第5章选择结构程序设计 【例5-11】输入任意三个整数a、b、c,按从小到大的顺序输出。 算法流程图如图5.18所示。*第5章选择结构程序设计图5.18例5-11流程图*第5章选择结构程序设计 根据流程图写出程序:*第5章选择结构程序设计图5.19例5-11运行结果*第5章选择结构程序设计 【例5-12】已知某公司员工的底薪为500元,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元),编程计算员工工资。*第5章选择结构程序设计 算法设计要点:为使用switch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000,2000,5000,…),如果将利润profit整除1000,则:*第5章选择结构程序设计 程序代码如下:*第5章选择结构程序设计*第5章选择结构程序设计图5.20例5-12运行结果*第5章选择结构程序设计 【例5-13】求一元二次方程ax2 + bx + c = 0的解(a≠0)。 算法分析:方程有以下几种可能。 (1) a = 0,不是二次方程。 (2) b2-4ac = 0,有两个相等实根。 (3) b2-4ac > 0,有两个不等实根。 (4) b2-4ac < 0,有两个共轭复根。*第5章选择结构程序设计 据此编写程序如下:*第5章选择结构程序设计*第5章选择结构程序设计图5.21例5-13运行结果