《高级语言程序设计教学课件》第3章2次课选择结构

上传人:博****1 文档编号:579738607 上传时间:2024-08-27 格式:PPT 页数:27 大小:1.23MB
返回 下载 相关 举报
《高级语言程序设计教学课件》第3章2次课选择结构_第1页
第1页 / 共27页
《高级语言程序设计教学课件》第3章2次课选择结构_第2页
第2页 / 共27页
《高级语言程序设计教学课件》第3章2次课选择结构_第3页
第3页 / 共27页
《高级语言程序设计教学课件》第3章2次课选择结构_第4页
第4页 / 共27页
《高级语言程序设计教学课件》第3章2次课选择结构_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《《高级语言程序设计教学课件》第3章2次课选择结构》由会员分享,可在线阅读,更多相关《《高级语言程序设计教学课件》第3章2次课选择结构(27页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章选择结构选择结构C语言程序设计语言程序设计2 2学习目标学习目标n nif语句语句n nswitch语句语句n n关系运算与逻辑运算关系运算与逻辑运算3 3ifif(表达式表达式表达式表达式) 语句语句语句语句1 1 elseelse语句语句语句语句2 2ifif(表达式表达式表达式表达式) 语句语句语句语句ifif(表达式表达式表达式表达式1 1)语句语句语句语句1 1elseelse if(if(表达式表达式表达式表达式2 2) )语句语句语句语句2 2elseelse if(if(表达式表达式表达式表达式3 3) )语句语句语句语句3 3elseelse 语句语句语句语句n

2、nif语句格式小结语句格式小结n两个分支两个分支n一个分支一个分支n多分支多分支4 43.3两个分支的两个分支的if语句语句nifelse语句的基本形式语句的基本形式格式格式ifif(表达式表达式表达式表达式) 语句语句语句语句1 1elseelse语句语句语句语句2 2表达表达表达表达式式式式语句语句语句语句1 1语句语句语句语句2 2T TF5 53.4一个分支的语句一个分支的语句nif语句语句格式格式ifif(表达式表达式表达式表达式)语句语句语句语句表达式表达式表达式表达式语句语句语句语句TF6 63.5多个分支的多个分支的if语句语句n nifelseif语句的形式语句的形式ifif

3、(表达式表达式表达式表达式1 1)语句语句语句语句1 1elseelse if(if(表达式表达式表达式表达式2 2) )语句语句语句语句2 2elseelse if(if(表达式表达式表达式表达式3 3) )语句语句语句语句3 3elseelse 语句语句语句语句n nn n执行过程执行过程表达式表达式表达式表达式1 1语句语句语句语句1 1T TF F表达式表达式表达式表达式2 2表达式表达式表达式表达式3 3语句语句语句语句2 2语句语句语句语句3 3语句语句语句语句n nT TF FT TF F7 7【例例例例3-93-9】从键盘上输入学生的成绩,输出学生成从键盘上输入学生的成绩,输出

4、学生成从键盘上输入学生的成绩,输出学生成从键盘上输入学生的成绩,输出学生成绩的等级绩的等级绩的等级绩的等级#includestdio.h#includestdio.hvoidmain(void)voidmain(void)intscore;intscore;printf(printf(请输入学生的成绩请输入学生的成绩请输入学生的成绩请输入学生的成绩:);:);scanf(%d,&score);scanf(%d,&score);if(if(score=90score=90)printf(printf(优秀优秀优秀优秀n);n);elseif(elseif(score=80score=80)pri

5、ntf(printf(良好良好良好良好n);n);elseif(elseif(score=70score=70)printf(printf(中等中等中等中等n);n);elseif(elseif(score=60score=60)printf(printf(及格及格及格及格n);n);elseelseprintf(printf(不及格不及格不及格不及格n);n); 请输入学生的成绩请输入学生的成绩请输入学生的成绩请输入学生的成绩:88:88良好良好良好良好PressanykeytocontinuePressanykeytocontinueelseifelseif(score=80)(score

6、=80) 思考思考思考思考对于对于对于对于 score100score100和和和和score0scorey)if(xy);printf(printf( xislargerthany.nxislargerthany.n ););if(ba)t=a;a=b;b=t;if(ba)t=a;a=b;b=t;推荐都使用复合语句推荐都使用复合语句1414n n格式格式n n执行过程执行过程switch(switch(表达式表达式表达式表达式 ) ) casecaseE1E1: :语句组语句组语句组语句组 1;1;casecaseE2E2: :语句组语句组语句组语句组 2;2;.casecaseEnEn:

7、:语句组语句组语句组语句组 n;n;default:default:语句组语句组语句组语句组 n+1;n+1; 3.7switch语句语句defaultdefault子句可以省略不用子句可以省略不用子句可以省略不用子句可以省略不用switchswitch表达式表达式表达式表达式语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2语句组语句组语句组语句组n n语句组语句组语句组语句组n+1n+1.E1E1E2E2SwitchSwitch之后的语句之后的语句之后的语句之后的语句defaultdefaultcasecaseEnEn1515n n要每次只执行一个分支要每次只执行一个分支使用使用

8、break语句语句switch(switch(表达式表达式表达式表达式 ) ) casecaseE1E1: :语句组语句组语句组语句组 1;1;break;break;casecaseE2E2: :语句组语句组语句组语句组 2;2;break;break;.casecaseEnEn: :语句组语句组语句组语句组 n;n;break;break;default:default:语句组语句组语句组语句组 n+1;n+1;break;break; switchswitch表达式表达式表达式表达式语句组语句组语句组语句组1 1语句组语句组语句组语句组2 2语句组语句组语句组语句组n n语句组语句组语句

9、组语句组.E1E1E2E2EnEndefaultdefaultcasecase1616注意注意n nswitch语句的使用规则语句的使用规则E1,E2,EnE1,E2,En是是是是整型或字符型的整型或字符型的整型或字符型的整型或字符型的常量表达式常量表达式常量表达式常量表达式, , , ,且且且且值必须互不相同值必须互不相同值必须互不相同值必须互不相同casecase语句语句语句语句起到标号的作用起到标号的作用起到标号的作用起到标号的作用,必须必须必须必须用用用用breakbreak跳出跳出跳出跳出casecase后可包含多个可执行语句,且不必加后可包含多个可执行语句,且不必加后可包含多个可执

10、行语句,且不必加后可包含多个可执行语句,且不必加switchswitch可嵌套可嵌套可嵌套可嵌套多个多个多个多个casecase可共用一组执行语句可共用一组执行语句可共用一组执行语句可共用一组执行语句switch(score)case5:printf(Verygood!);case4:printf(Good!);case3:printf(Pass!);case2:printf(Fail!);default:printf(dataerror!);score为为5时,输出:时,输出:Verygood!Good!Pass!Fail!dataerror!switch(score)case5:print

11、f(Verygood!);break;case4:printf(Good!);break;case3:printf(Pass!);break;case2:printf(Fail!);break;default:printf(dataerror!);break;score为为5时,输出:时,输出:Verygood!caseA:caseB:caseC:printf(score=60n);break;.1717【例例例例3-103-10】输入数字(输入数字(输入数字(输入数字(1-71-7),输出对应的英文单),输出对应的英文单),输出对应的英文单),输出对应的英文单词词词词MondaySunday

12、MondaySunday#include#includevoidmain(void)voidmain(void) inta;inta;printf(inputintegernumber(1-7):);printf(inputintegernumber(1-7):);scanf(%d,&a);scanf(%d,&a);1818switch(a)case1 1:printf(Mondayn);case2 2:printf(Tuesdayn);case3 3:printf(Wednesdayn);case4 4:printf(Thursdayn);case5 5:printf(Fridayn);ca

13、se6 6:printf(Saturdayn);case7 7:printf(Sundayn);default:printf(Errorn); inputintegernumber:5FridaySaturdaySundayErrorbreak;break;break;break;break;break;break;break;break;break;break;break;break;break;break;break;inputintegernumber:5Friday1919【例例例例3-113-11】计算器程序。用户输入两个运算数和一计算器程序。用户输入两个运算数和一计算器程序。用户输

14、入两个运算数和一计算器程序。用户输入两个运算数和一个四则运算符,输出计算结果个四则运算符,输出计算结果个四则运算符,输出计算结果个四则运算符,输出计算结果#include#include#include#includevoidmain(void)voidmain(void) floata,b;floata,b;charc;charc;printf(printf(输入表达式输入表达式输入表达式输入表达式:运算数运算数运算数运算数 运算数运算数运算数运算数n);n);scanf(%f%c%f,&a,&c,&b);scanf(%f%c%f,&a,&c,&b);2020switch(c)switch(

15、c)casecase+:printf(%fn,a+b);:printf(%fn,a+b);breakbreak; ;casecase-:printf(%fn,a-b);:printf(%fn,a-b);breakbreak; ;casecase*:printf(%fn,a*b);:printf(%fn,a*b);breakbreak; ;casecase/:if(if(fabs(b)=1e-6fabs(b)=1e-6) )printf(printf(数据错误,除数不能为数据错误,除数不能为数据错误,除数不能为数据错误,除数不能为0 0!n);n);elseelseprintf(%fn,a/b)

16、;printf(%fn,a/b);breakbreak; ;default:printf(default:printf(运算符只能是运算符只能是运算符只能是运算符只能是+ +,- -,* *,/ /!n);n); 输入表达式输入表达式:运算数运算数运算数运算数3.5+5.69.100000输入表达式输入表达式:运算数运算数运算数运算数10%3运算符只能是运算符只能是+,-,*,/!输入表达式输入表达式:运算数运算数运算数运算数2.5/0数据错误,除数不能为数据错误,除数不能为0!输入表达式输入表达式:运算数运算数运算数运算数5/2.52.0000002121【例例例例3-123-12】从键盘上

17、输入百分制的学生成绩,输出学从键盘上输入百分制的学生成绩,输出学从键盘上输入百分制的学生成绩,输出学从键盘上输入百分制的学生成绩,输出学生成绩的等级(优秀、良好、中等、及格、不及格)生成绩的等级(优秀、良好、中等、及格、不及格)生成绩的等级(优秀、良好、中等、及格、不及格)生成绩的等级(优秀、良好、中等、及格、不及格)#include#includevoidmain(void)voidmain(void) intscore;intscore;printf(printf(请输入学生的成绩请输入学生的成绩请输入学生的成绩请输入学生的成绩:);:);scanf(%d,&score);scanf(%d

18、,&score);/*/*利用利用利用利用switchswitch语句判断并输出成绩的等级语句判断并输出成绩的等级语句判断并输出成绩的等级语句判断并输出成绩的等级*/ /2222if(score=0&score=0&score=90score=90:printf(:printf(优秀优秀优秀优秀n);break;n);break;casecasescore=80score=80:printf(:printf(良好良好良好良好n);break;n);break;casecasescore=70score=70:printf(:printf(中等中等中等中等n);break;n);break;ca

19、secasescore=60score=60:printf(:printf(及格及格及格及格n);break;n);break;default:printf(default:printf(不及格不及格不及格不及格n);break;n);break;elseelseprintf(printf(数据错误!数据错误!数据错误!数据错误!n);n); 方案一:方案一: switch(switch(表达式表达式表达式表达式 ) ) casecaseE1E1: :语句组语句组语句组语句组 1;1;casecaseE2E2: :语句组语句组语句组语句组 2;2;.casecaseEnEn: :语句组语句组语

20、句组语句组 n;n;default:default:语句组语句组语句组语句组 n+1;n+1; 2323switch(score)switch(score)casecase100100:case99:case99:case98:case98:case97:case97:case96:case96:case95:case95:case94:case94:case93:case93:case92:case92:case91:case91:case90:printf(case90:printf(优秀优秀优秀优秀n);break;n);break;casecase8989:方案二:方案二: 2424最

21、优方案:最优方案:if(score=0&score=0&score,=,=,=高于高于=和和!=和其他运算符比较:算术运算符和其他运算符比较:算术运算符关系运算符关系运算符赋值赋值运算符运算符2626n2逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式逻辑运算符:逻辑运算符:&,|,!结合方向:结合方向:&和和|从左至右,从左至右,!从右至左从右至左运算结果:逻辑值(运算结果:逻辑值(0为假,为假,1为真)为真)逻辑运算的优先级逻辑运算的优先级逻辑运算符中:逻辑运算符中:!&|和其他运算符比较:和其他运算符比较:!算术运算符算术运算符关系运算符关系运算符&|赋值运算符赋值运算符2727ifif(表

22、达式表达式表达式表达式) 语句语句语句语句1 1 elseelse语句语句语句语句2 2switch(switch(表达式表达式表达式表达式 ) ) casecaseE1E1: :语句组语句组语句组语句组 1;1;break;break;casecaseE2E2: :语句组语句组语句组语句组 2;2;break;break;.casecaseEnEn: :语句组语句组语句组语句组 n;n;break;break;default:default:语句组语句组语句组语句组 n+1;n+1;break;break; ifif(表达式表达式表达式表达式) 语句语句语句语句ifif(表达式表达式表达式表达式1 1)语句语句语句语句1 1elseelse if(if(表达式表达式表达式表达式2 2) )语句语句语句语句2 2elseelse if(if(表达式表达式表达式表达式3 3) )语句语句语句语句3 3elseelse 语句语句语句语句n nif语句和语句和switch语句语句

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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