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> 