程序的控制结构.ppt
elseif(nscore80){chscore=C;}elseif(nscore90){chscore=B;}else{chscore=A;}printf(\nYourScoreis%c!!!\n,chscore);return;}第23页,共64页,星期日,2025年,2月5日【例4.6】从键盘读取一个字符数据,判断其类型是:控制类字符,数字字符,大写字符,小写字符,其他字符等类别中的哪一类?设计程序完成。基本思路:读入字符数据,依据字符的ASCII值判断所属范围。第24页,共64页,星期日,2025年,2月5日4.2.5switch语句及break语句switch语句的语法格式:switch(表达式){case常值1:复合语句1case常值2:复合语句2……case常值n:复合语句ndefault:复合语句n+1}第25页,共64页,星期日,2025年,2月5日下面使用switch语句改写例题【例4.5】。【例4.7】设计程序完成将百分制成绩转换成五分制表示。#includestdio.hvoidmain() {c4:intnscore;c5:charchscore;c6:printf(\ninputScore(0~~100):\n);c7:scanf(%d,nscore);c8:nscore/=10;//变换后,nscore的值是0~10之间的整数第26页,共64页,星期日,2025年,2月5日c9:switch(nscore)c10:{c11:case0:c12:case1:c13:case2:c14:case3:c15:case4:c16:case5:{chscore=E;}c17:case6:{chscore=D;}c18:case7:{chscore=C;}c19:case8:{chscore=B;}c20:case9:c21:case10:{chscore=A;} }第27页,共64页,星期日,2025年,2月5日c23:printf(\nYourScoreis%c!!!\n,chscore);c24:return; }c23句输出chscore变量的当前值。编译运行此段程序应该是正确的。但是程序运行后,不管百分制成绩是多少,输出结果总是如下:YourScoreisA!!!程序一定是存在问题。第28页,共64页,星期日,2025年,2月5日这里说的流程控制语句,就是指跳转语句break。break语句的作用之一就是从某个case子句处跳出switch语句,继续执行switch的下一条语句。break语句还用于循环语句当中,后面介绍。例4.7的正确写法需要break与switch语句配合使用,程序如下:第29页,共64页,星期日,2025年,2月5日#includestdio.hvoidmain() {c4:intnscore;c5:charchscore;c6:printf(\ninputScore(0~~100):\n);c7:scanf(%d,nscore);c8:nscore/=10;//变换后,nscore的值是0~10之间的整数c9:switch(nscore)c10:{c11: