分支和循环之switch语句

switch语句是一种分支语句,常用于多分支情况。
switch允许嵌套使用。

输入数字判断星期几

123456789101112131415161718192021222324252627282930313233343536
#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语句简化上面的代码

12345678910111213141516171819202122232425262728293031
#include <stdio.h>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
#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子句

1234567891011121314151617181920212223
#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://如果输入的不是1-7,进入default                printf("输入错误\n");                break                //良好的代码风格是每个switch语句中都加上default子句和break        }    }    return 0;}

default子句的是输入非法语句时执行的内容。
良好的代码风格是每个switch语句中都加上default子句和break。

🔍 ×