• C语言的switch语句和if语句一样是分支语句,switch语句的格式为:

    switch(表达式)
    {
    case 常量表达式1:
    语句;
    break;
    case 常量表达式2:
    语句;
    break;
    ………………
    case 常量表达式n:
    语句;
    break;
    default:
    语句;
    }

  • 这个switch语句的语法是将switch后面的表达式的值与case后面的常量表达式相比较,若相等,则执行case后面的语句,遇到break跳出switch分支,若语句后无break,则执行下一条的case语句,直到有break或整个语句都执行完为止;若switch后面的表达式的值与case后面的常量表达式相比较都不相等,则执行default语句。在switch语句最后的break可以省略,其他地方的break不要省略。要注意几点:1、表达式结果不能是浮点数;2、case后的值不能一样;3、case后的值必须是常量或者常量表达式。看下面一个例子:

    include <stdio.h>

    int main()
    {
    int score,b;
    printf("输入");
    scanf("%d", &score);
    /b = score / 10;/
    switch (score/10)
    {
    case 9:
    printf("A\n");
    break;
    case 8:
    printf("B\n");
    break;
    case 7:
    printf("C\n");
    break;
    case 6:
    printf("D\n");
    break;
    default:
    if (score < 60 && score > 0)
    {
    printf("E\n");
    }
    else if (score == 100)
    printf("manfen\n");
    else
    printf("erro\n");
    }
    }

  • break则跳过下面所有case语句,如果没有break则case1执行完之后继续执行下面的case语句
  • default语句可以放在switch的任意位置,不影响执行,一般我们是放在最后的。
  • switch语句与if…else语句的区别:
  • switch结构只进行等值判断,而if…else可以进行区间判断;
  • switch结构的执行效率远远高于if…else,在分支条件比较多的情况下这种趋势愈发明显。
最后修改:2022 年 06 月 28 日
如果觉得我的文章对你有用,请随意赞赏