switch语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:
4)各个case 语句只是一个入口标号,并不确定执行的终止点; 5)一般在各个case 语句最后应该加一break语句, 可使程序流程
跳出Switch结构,否则会从入口处一直向下执行; 6)各个case和default出现的先后次序,并不影响执行结果;
default可以没有。
说明:
7)多个case可共用一组执行语句; 8)switch语句不等同于if语句: switch语句只能进行值的相等性
} }
switch语句格式
switch语句的一般形式 switch(表达式) { case 常量表达式1:语句组;break; case 常量表达式2:语句组;break; ...... case 常量表达式n:语句组;break; [default:语句组;[break; ]] }
switch语句格式
case 2: printf("星期二 \n"); break;
case 3: printf("星期三 \n"); break;
case 4: printf("星期四 \n"); break; case 5: printf("星期五 \n"); break; case 6: printf("星期六பைடு நூலகம்\n"); break; default: printf("输入有误,请输入0-6之间的数字!\n");
int score, grade; printf(“Input a score(0~100): ”); scanf(“%d”, &score); grade = score/10; /*将成绩整除10,转化成switch语句中的case标号*/ 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”);
switch语句
明平象
if与switch语句
➢当程序有多个分支时,使用嵌套的if else if……语句来处理,但其 分支过多,程序冗长,难读, 不够灵巧。
➢switch语句是C语言中处理多路选择问题的一种更直观和有效的 手段。 在测试某个表达式是否与一组常量表达式中的某一值相配 时,switch语句显得更为方便。
2)如果没有任何一个case后面的“常量表达式”的值,与“表达式”的值匹配, 则执行default 后面的语句(组)。然后,再执行switch语句的下一条。
例:输入0-6,输出对应星期几。
….
switch (day)
{
case 0: printf("星期日 \n"); break;
case 1: printf("星期一 \n"); break;
的检查;if语句不但可以进行相等性的检查, 还可以计算关系表 达式或逻辑表达式,进行逻辑判断的真假。
例:键盘输入0-6之间的整数,分别代表每周的星期日、 星期一、…、星期六。
#include <stdio.h> int main( ) {
int day; printf("请输入星期的数字编号(0-6): "); scanf("%d", &day); switch (day)
}
return 0;
}
说明:
1)关于表达式: 表达式可以是整型、字符型等表达式。 有一 个确定的值(不是逻辑值)。
2)关于常量表达式1~n: 只起到一个标号的作用,根据表达式 的值来判断, 找到一个相匹配的入口处,程序往下执行。各个 case后的常量表达式的值必须互不相同。
3)每个case分支可有多条语句,可不用花括号{ }。
{ case 0: printf("星期日 \n"); break; case 1: printf("星期一 \n"); break; case 2: printf("星期二 \n"); break; case 3: printf("星期三 \n"); break; case 4: printf("星期四 \n"); break; case 5: printf("星期五 \n"); break; case 6: printf("星期六 \n"); break; default: printf("输入有误,请输入0-6之间的数字!\n");
} return 0; }
例:从键盘上输入一个百分制成绩score,按下列原则输出其等级: score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C ;60≤score<70,等级为D;score<60,等级为E。
#include <stdio.h> int main( ) {
执行过程
switch(表达式) { case 常量表达式1:语句组;break; case 常量表达式2:语句组;break; ...... case 常量表达式n:语句组;break; [default:语句组;[break; ]] }
1)当switch后面“表达式”的值,与某个case后面的“常量表达式”的值相同时 ,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执 行switch语句的下一条。