选择结构程序设计
[示例-7] 从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
main()
{int score, grade;
printf(“Input a score(0~100): ”);
scanf(“%d”, &score);
grade = score/10;
switch (grade)
{case 10:
case 9: printf(“grade=A\n”); break;
case 8: printf("grade=B\n"); break;
case 7: printf("grade=C\n"); break;
case 6: printf("grade=D\n"); break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf(“grade=E\n”); break;
default: printf(“The score is out of range!\n”);
}
}
注意:
(1)switch后面的“表达式”,可以是int、char和枚举型中的一种。
(2)每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。
(3)case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句。
(4)各case及default子句的先后次序,不影响程序执行结果。
(5)多个case子句,可共用同一语句(组)。
例如,在[示例-7]中的“case 10: ”和“case 9: ”共用语句“printf("grade=A\n"); break;”,“case 5: ”~“case 0: ”共用语句“printf("grade=E\n"); break;”。
(6)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。
本文来源:https://www.2haoxitong.net/k/doc/7930f92aba4cf7ec4afe04a1b0717fd5360cb2a3.html
文档为doc格式