C 语言中的 Switch Case 语句

CCBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 C 语言中,switch case 语句用于在程序有多个选择时控制执行流程。它是 C 语言中的决策语句之一。switch case 语句会评估一个表达式,并将其与多个值进行匹配,以执行相应的代码块。

在本实验中,你将通过示例学习如何在 C 语言中使用 switch case 语句。

基本 Switch Case 语法

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1");
      break;
    case 2:
      printf("Number is 2");
      break;
    case 3:
      printf("Number is 3");
      break;
    default:
      printf("Number is not 1, 2, or 3");
  }
  return 0;
}

该程序声明了一个值为 2 的整数 num,并使用 switch case 语句检查其值是否与任何 case 标签匹配。由于 num 的值为 2,因此该代码的输出将是 Number is 2

不使用 Break 语句

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1\n");
    case 2:
      printf("Number is 2\n");
    case 3:
      printf("Number is 3\n");
    default:
      printf("Number is not 1, 2, or 3\n");
  }
  return 0;
}

该程序声明了一个值为 2 的整数 num,并在 switch case 语句中未使用 break 语句。由于没有 break 语句,所有后续的语句都会被执行,直到遇到下一个 break 语句或 switch case 语句结束。该程序的输出将是:

Number is 2
Number is 3
Number is not 1, 2, or 3

使用 Char 数据类型

#include <stdio.h>

int main() {
  char grade = 'B';
  switch(grade) {
    case 'A':
      printf("Excellent");
      break;
    case 'B':
      printf("Good");
      break;
    case 'C':
      printf("Average");
      break;
    default:
      printf("Invalid grade");
  }
  return 0;
}

该程序声明了一个字符变量 grade,其值为 'B'。它使用 switch case 语句检查 grade 的值是否与任何 case 标签匹配。该代码的输出将是 Good

嵌套 Switch Case

#include <stdio.h>

int main() {
  int num1 = 2, num2 = 3;

  switch(num1) {
    case 1:
      switch(num2) {
        case 1:
          printf("Number is 1");
          break;
        case 2:
          printf("Number is 2");
          break;
        default:
          printf("Number is not 1 or 2");
          break;
      }
      break;
    case 2:
      switch(num2) {
        case 3:
          printf("Number is 3");
          break;
        case 4:
          printf("Number is 4");
          break;
        default:
          printf("Number is not 3 or 4");
          break;
      }
      break;
    default:
      printf("Invalid input");
  }
  return 0;
}

该程序声明了两个整数变量 num1num2,其值分别为 2 和 3。然后,它使用嵌套的 switch case 语句检查 num1num2 的值是否与任何 case 标签匹配。该代码的输出将是 Number is 3

总结

在本实验中,你通过示例学习了如何在 C 语言中使用 switch case 语句。你学习了如何在不同数据类型中使用 switch case 语句,如何在不使用 break 语句的情况下使用它,以及如何嵌套 switch case 语句。