第4章选择程序设计.ppt

上传人:王** 文档编号:607106 上传时间:2023-12-08 格式:PPT 页数:43 大小:879KB
下载 相关 举报
第4章选择程序设计.ppt_第1页
第1页 / 共43页
第4章选择程序设计.ppt_第2页
第2页 / 共43页
第4章选择程序设计.ppt_第3页
第3页 / 共43页
第4章选择程序设计.ppt_第4页
第4页 / 共43页
第4章选择程序设计.ppt_第5页
第5页 / 共43页
第4章选择程序设计.ppt_第6页
第6页 / 共43页
第4章选择程序设计.ppt_第7页
第7页 / 共43页
第4章选择程序设计.ppt_第8页
第8页 / 共43页
第4章选择程序设计.ppt_第9页
第9页 / 共43页
第4章选择程序设计.ppt_第10页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第4章选择程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章选择程序设计.ppt(43页珍藏版)》请在优知文库上搜索。

1、第第4章章 选择程序设计选择程序设计2回顾回顾了解语句的基本概念了解语句的基本概念了解语句的分类了解语句的分类掌握字符输入输出函数掌握字符输入输出函数getchar和和putchar掌握格式输入输出函数掌握格式输入输出函数scanf和和printf掌握顺序程序设计掌握顺序程序设计3教学目标教学目标熟练使用关系运算符熟练使用关系运算符熟练使用逻辑运算符熟练使用逻辑运算符掌握简单的条件语句的使用掌握简单的条件语句的使用熟练使用多重熟练使用多重 if 结构结构熟练使用嵌套熟练使用嵌套 if 结构结构熟练使用熟练使用 switch 结构结构理解条件运算符的用法理解条件运算符的用法掌握选择程序设计的基本

2、方法掌握选择程序设计的基本方法4#include main()char c;printf(输入一个字符输入一个字符:);c=getchar();c=c+32;putchar(c);选择程序设计引例选择程序设计引例例例:输入一个大写字母,输入一个大写字母,转化为小写字母输出。转化为小写字母输出。#include main()char c;printf(输入一个字符输入一个字符:);c=getchar();if(c=A&c=65&c、=、关系运算符关系运算符&|短路运算短路运算:逻辑表达式在执行时,先处理左边。如左边已:逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行

3、。因此,在能决定此逻辑表达式的结果,则右边不执行。因此,在&逻辑表达式中,应把逻辑表达式中,应把false可能性较大的条件放在左边,可能性较大的条件放在左边,在在|表达式中,应把表达式中,应把true可能性较大的条件放在左边,这可能性较大的条件放在左边,这样可以减少程序执行的时间。样可以减少程序执行的时间。例如,假设例如,假设n1、n2、n3、n4、x、y的值分别为的值分别为1、2、3、4、1、1,则求解表达式,则求解表达式“(x=n1n2)&(y=n3n4)”后,后,x的值变为的值变为0,而,而y的值不变,仍等于的值不变,仍等于1!10将关系写成表达式将关系写成表达式A:洞庭最大,洪泽最小,

4、鄱阳第三:洞庭最大,洪泽最小,鄱阳第三B:洪泽最大,洞庭最小,鄱阳第二,太湖第三:洪泽最大,洞庭最小,鄱阳第二,太湖第三C:洪泽最小,洞庭第三:洪泽最小,洞庭第三D:鄱阳最大,太湖最小,洪泽第二,洞庭第三:鄱阳最大,太湖最小,洪泽第二,洞庭第三用用a,b,c,da,b,c,d分别表示四个湖。分别表示四个湖。a a表示洞庭,表示洞庭,b b表示洪泽,表示洪泽,c c表示表示鄱阳,鄱阳,d d表示太湖。表示太湖。A A学生的回答可表示为:学生的回答可表示为:a=1&b=4&c=3a=1&b=4&c=3B B学生的回答可表示为:学生的回答可表示为:a=4&b=1&c=2&d=3a=4&b=1&c=2

5、&d=3C C学生的回答可表示为:学生的回答可表示为:a=3&b=4a=3&b=4D D学生的回答可表示为:学生的回答可表示为:a=3&b=2&c=1&d=4a=3&b=2&c=1&d=411条件结构条件结构条件结构就是需要根据不同条件进行判断,然后执行不同条件结构就是需要根据不同条件进行判断,然后执行不同的操作的操作简单简单 if 语句的一般形式为:语句的一般形式为:if()如果条件为真,如果条件为真,if 语句执行一个语句或一组语句;语句执行一个语句或一组语句;如果条件为假,则执行如果条件为假,则执行 if 语句后面的语句(如果有)。语句后面的语句(如果有)。12条件结构条件结构 if-e

6、lse 语句的一般形式为:if()else 如果条件为真,执行 if 后面的一个语句或一组语句;如果条件为假,则执行 else 后面的语句。13#include main()/*求求a和和b的最大值的最大值*/int a,b,max;printf(Input a and b=);scanf(%d%d,&a,&b);max=a;if(max b)max=b;printf(The max of a and b:%dn,max);求求 a 和和 b 两数中较大的一个。两数中较大的一个。简单简单if语句使用语句使用14if-else语句的使用语句的使用求求 a a 和和 b b 两数中较大的一个。两数

7、中较大的一个。#include main()/*求求a和和b的最大值的最大值*/int a,b,max;printf(Input a and b=);scanf(%d%d,&a,&b);/*输入输入 a、b*/if(ab)/*如果如果ab,将,将a存入存入max*/max=a;else /*否则,否则,将将b存入存入max*/max=b;printf(The max of a and b:%dn,max);15if-else语句的使用语句的使用#include main()int num;printf(n请输入一个整数:);scanf(%d,&num);if(num%2)=0)printf(%

8、d 是一个偶数。n,num);elseprintf(%d 是一个奇数。n,num);if(num%2)printf(%d 是一个奇数。是一个奇数。n,num);elseprintf(%d 是一个偶数。是一个偶数。n,num);16简单简单if 和和if-else语句的使用语句的使用求分段函数值求分段函数值 x+1 x0y=x-1 x0#include main()int x,y;scanf(%d,&x);if(x0)y=x+1;if(x=0)y=x+1;else y=x-1;y=x-1;if(x=0)y=x+1;y=x+1;if(x0)y=x-1;17多重if要处理多重条件判断的情况,需要使用

9、多重条件结构要处理多重条件判断的情况,需要使用多重条件结构多重条件结构多重条件结构嵌套 ifswitch结构多重条件结构多重条件结构18if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;.else 语句n;多重多重 if 结构是结构是if-else 的另一种形式的另一种形式,这种形式也称为阶这种形式也称为阶梯式梯式 if-else-if 多重多重 if 结构结构19多重多重 if 结构示例结构示例问题描述:问题描述:编写一个程序,根据用户输入的期末考试成绩,输出相应编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。成绩大于等于的成绩评定

10、信息。成绩大于等于90分输出分输出“优优”;成绩;成绩大于等于大于等于80分小于分小于90分输出分输出“良良”;成绩大于等于;成绩大于等于60分分小于小于80分输出分输出“中中”;成绩小于;成绩小于60分输出分输出“差差”。#include main()float grade;printf(n 请输入期末考试成绩:请输入期末考试成绩:);scanf(%f,&grade);if(grade=90)printf(n 优优);else if(grade=80)printf(n 良良);else if(grade=60)printf(n 中中);else printf(n 差差);printf(n);

11、20嵌套嵌套 if 结构就是结构就是将整个将整个 if 块插入另一个块插入另一个 if 块中块中嵌套嵌套 if 结构结构if(表达式表达式1)if(表达式表达式2)if(表达式表达式3)语句语句;else 语句语句;21if(x 0)if(y 1)z=1;else/*这个 else 部分属于哪个 if?*/z=2;嵌套嵌套 if 结构结构C语言规定,每个 else 部分总属于前面最近的那个缺少对应的 else 部分的 if 语句。提倡使用大括号括起来,以避免看起来有二义性。22例:根据平面上一点M(x,y)的坐标判断点M所在的象限。分析:将x和y的值分别与0进行比较,即可判断出点M(x,y)所

12、处的象限。在这里,不考虑坐标轴上的点,认为它们可以处于任意象限。嵌套嵌套 if 结构的使用结构的使用23#include main()float x,y;printf(input x,y:);scanf(%f,%f,&x,&y);if(x 0)if(y 0)printf(在第一象限在第一象限n);else printf(在第四象限在第四象限n);elseif(y 0)printf(在第二象限在第二象限n);else printf(在第三象限在第三象限n);嵌套嵌套 if 结构的使用结构的使用24switch-case 语句是多路判断语句语句是多路判断语句switch 语句计算条件表达式并对照多

13、个常数值进行检查语句计算条件表达式并对照多个常数值进行检查switch结构结构switch(表达式)case 常量 1:语句;break;case 常量 2:语句;break;default:语句;25switch结构结构在使用在使用switch结构时应注意以下几点:结构时应注意以下几点:在在case后的各常量表达式的值不能相同,否则会出现后的各常量表达式的值不能相同,否则会出现错误;错误;在在case后,允许有多个语句,可以不用后,允许有多个语句,可以不用括起来;括起来;每个每个case语句后一般情况下应该有一个语句后一般情况下应该有一个break语句,语句,用于退出用于退出swith结构;

14、结构;各各case和和default子句的先后顺序可以变动,而不会影子句的先后顺序可以变动,而不会影响程序执行结果;响程序执行结果;default子句可以省略。子句可以省略。26例:将百分制成绩划分为五段输出,用switch语句实现。分析:除不及格档次外,其他各等级中每个数的十位数字均相同(100除外),我们可以用成绩的十位数字作条件来写程序。设成绩为score,除以10取整后的结果为k。switch结构使用结构使用27#include main()int score,k;printf(input a score:);scanf(%d,&score);k=score/10;switch(k)c

15、ase 10:case 9:printf(优秀优秀n);break;case 8:printf(良好良好n);break;case 7:printf(中等中等n);break;case 6:printf(及格及格n);break;default:printf(不及格不及格n);switch 结构结构28switch结构使用结构使用用户输入月份,显示该月的最大天数。用户输入月份,显示该月的最大天数。#include main()int month;printf(n 请输入月份数请输入月份数:);scanf(%d,&month);switch(month)case 4:case 6:case 9:

16、case 11:printf(n 最大天数为最大天数为30。n);break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf(n最大天数为最大天数为31。n);break;case 2:printf(n最大天数为最大天数为28或或29n);break;default:printf(n错误输入错误输入n);29 多重多重if结构和结构和switch结构都可以用来实现多路分支结构都可以用来实现多路分支多重多重if结构用来实现两路、三路分支比较方便,而结构用来实现两路、三路分支比较方便,而switch结构实现三路以上分支比较方便结构实现三路以上分支比较方便在使用在使用switch结构时,应注意分支条件要求是整型表达式,结构时,应注意分支条件要求是整型表达式,而且而且case语句后面必须是常量表达式语句后面必须是常量表达式有些问题只能使用多重有些问题只能使用多重if结构来实现,例如要判断一个值结构来实现,例如要判断一个值是否处在某个区间的情况是否处在某个区间的情况比较多重比较多重 if 和和 switch 结构结构30条件运算

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

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!