0
点赞
收藏
分享

微信扫一扫

【必会系列】Switch详解

残北 2022-04-02 阅读 49

C语言中虽然没有限制if的使用次数,但是当进行多个简单条件判断时用if的话就会显得啰嗦,而且else容易出现不匹配,因此对于这种情况我们可以使用switch case。

#include <stdio.h>
int main(){
    int a;
    printf("Input integer number:");
    scanf("%d",&a);
    if(a==1){
        printf("Monday\n");
    }else if(a==2){
        printf("Tuesday\n");
    }else if(a==3){
        printf("Wednesday\n");
    }else if(a==4){
        printf("Thursday\n");
    }else if(a==5){
        printf("Friday\n");
    }else if(a==6){
        printf("Saturday\n");
    }else if(a==7){
        printf("Sunday\n");
    }else{
        printf("error\n");
    }
    return 0;
}

对于这种情况我们完全可以使用switch来操作

#include <stdio.h>
int main(){
    int a;
    printf("Input integer number:");
    scanf("%d",&a);
    switch(a){
        case 1: printf("Monday\n"); break;
        case 2: printf("Tuesday\n"); break;
        case 3: printf("Wednesday\n"); break;
        case 4: printf("Thursday\n"); break;
        case 5: printf("Friday\n"); break;
        case 6: printf("Saturday\n"); break;
        case 7: printf("Sunday\n"); break;
        default:printf("error\n"); break;
    }
    return 0;
}

switch的结构如下:

首先运行括号里表达式,将运行的表达式与case中的整形数值做判断,从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

如果想只运行当前条件的语句,则需要在语句最后引入“break”做中断。

最后面的default相当于if语句中的else,当前面的case中无匹配项则执行default后的语句,因为这是最后一句,因此可以不用加break(我建议加),而且default也不是必须的,具体情况具体分,但是我建议加上这一句。

举报

相关推荐

0 条评论