C语言——控制语句(switch语句)

switch语句语法:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
  
    /* 可以有任意数量的 case 语句 */
    default : /* 其他条件,可选的 */
       statement(s);
}
  • switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

示例代码:

#include <stdio.h>
int main ()
{
    /*switch语句*/
    char grade = 'B';

    switch(grade)
    {
    case 'A' :
        printf("优\n" );
        break;
    case 'B' :
        printf("良\n" );
        break;
    case 'C' :
        printf("中\n" );
        break;
    case 'D' :
        printf("不及格\n" );
        break;
    default :
        printf("成绩无效\n" );
    }
    printf("您的成绩是 %c\n", grade );

    return 0;
}

运行结果:

良
您的成绩是 B
  • break 语句的情况:
#include <stdio.h>
int main ()
{
    /*switch语句*/
    char grade = 'B';

    switch(grade)
    {
    case 'A' :
        printf("优\n" );
        break;
    case 'B' :
        printf("良\n" );
        //break;
    case 'C' :
        printf("中\n" );
        break;
    case 'D' :
        printf("不及格\n" );
        break;
    default :
        printf("成绩无效\n" );
    }
    printf("您的成绩是 %c\n", grade );

    return 0;
}

运行结果:

良
中
您的成绩是 B

 例子:

#include <stdio.h>
int main()
{
    /*switch语句*/
    int num;
    printf("请输入一个整数: ");
    scanf("%d",&num);
    switch(num)
    {
    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;
    default:
        printf("输入错误\n");
    }
}

运行结果:

请输入一个整数: 3
星期三
 
 
 
原文地址:https://www.cnblogs.com/delphi/p/15791941.html