文章时效性提示
本文发布于 521 天前,部分信息可能已经改变,请注意甄别。
switch语句是一种分支语句,常用于多分支情况。
switch允许嵌套使用。
输入数字判断星期几
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #include <stdio.h> int main() { int day = 0; scanf("%d",&day); if (1 == day) { printf("星期一"); } else { if (2 == day) { printf("星期二"); } else { if (3 == day) { printf("星期三"); } else { if (4 == day) { printf("星期四"); } else { if (5 == day) { printf("星期五"); } else { if (6 == day) { printf("星期六"); } else { if (7 == day) { printf("星期日"); } else { } } } } } } } return 0; }
|
使用switch语句简化上面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include <stdio.h> int main() { int day = 0; scanf("%d",&day); switch (day) { 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; case 7: printf("星期日\n"); break; } return 0; }
|
switch后的括号里的类型必须是整型。
case后面必须是整型常量表达式。
break是跳出分支的意思,和case搭配使用。
break把语句列表划分为不同的部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <stdio.h> int main() { int day = 0; scanf("%d",&day); switch (day) { case 1: case 2: case 3: case 4: case 5: printf("工作日\n"); break; case 6: case 7: printf("休息日\n"); break; } return 0; }
|
输入1-5输出工作日,6-7输出休息日。
良好的代码风格是把最后一个语句后也加上break。
default子句
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <stdio.h> int main() { switch (day) { case 1: case 2: case 3: case 4: case 5: printf("工作日\n"); break; case 6: case 7: printf("休息日\n"); break; default: printf("输入错误\n"); break } } return 0; }
|
default子句的是输入非法语句时执行的内容。
良好的代码风格是每个switch语句中都加上default子句和break。