switch (expression) { case value1: // 代码块1 break; case value2: // 代码块2 break;">

c语言switch是什么意思

来源:这里教程网 时间:2026-02-21 16:50:12 作者:

C 语言中 switch 的含义

switch 是 C 语言中一个控制流语句,用于根据表达式的值执行不同的代码块。它类似于 if-else 语句,但提供了更简洁的语法来处理多个条件。

语法

<code class="c">switch (expression) {
  case value1:
    // 代码块1
    break;
  case value2:
    // 代码块2
    break;
  ...
  default:
    // 默认代码块
}</code>

工作原理

立即学习“C语言免费学习笔记(深入)”;

    求值表达式:首先,表达式会被求值。 匹配 case:然后,将表达式的值与每个 case 标签进行比较。 执行代码块:如果找到匹配的 case,则执行与之关联的代码块。 跳出 switch:执行完代码块后,遇到 break 语句会跳出 switch 语句。 默认代码块:如果没有匹配的 case,则执行 default 代码块(可选)。

与 if-else 的区别

switch 语句与 if-else 语句的主要区别如下:

switch 仅根据表达式的值执行代码块,而 if-else 可以根据任何布尔表达式。 switch 使用 case 标签,而 if-else 使用 else if。 switch 自动跳出,而 if-else 需要显式使用 break 或 return 语句。

示例

以下示例使用 switch 语句根据输入的数字执行不同的操作:

<code class="c">#include <stdio.h>
int main() {
  int choice;
  printf("Enter a number (1, 2, or 3): ");
  scanf("%d", &choice);
  switch (choice) {
    case 1:
      printf("You chose option 1.\n");
      break;
    case 2:
      printf("You chose option 2.\n");
      break;
    case 3:
      printf("You chose option 3.\n");
      break;
    default:
      printf("Invalid choice.\n");
  }
  return 0;
}</code>

相关推荐