switch语句是一种分支语句,常用于多分支情况。
switch允许嵌套使用。
输入数字判断星期几
123456789101112131415161718192021222324252627282930313233343536 | 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语句简化上面的代码
12345678910111213141516171819202122232425262728293031 | int main() { int day = 0; scanf("%d",&day); switch (day)//switch后的括号里的类型必须是整型 { case 1://case后面必须是整型常量表达式 printf("星期一\n"); break;//跳出分支,和case搭配使用 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把语句列表划分为不同的部分
1234567891011121314151617181920 | 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子句
1234567891011121314151617181920212223 | 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://如果输入的不是1-7,进入default printf("输入错误\n"); break //良好的代码风格是每个switch语句中都加上default子句和break } } return 0;} |
default子句的是输入非法语句时执行的内容。
良好的代码风格是每个switch语句中都加上default子句和break。