介绍
在 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;
}
该程序声明了两个整数变量 num1 和 num2,其值分别为 2 和 3。然后,它使用嵌套的 switch case 语句检查 num1 和 num2 的值是否与任何 case 标签匹配。该代码的输出将是 Number is 3。
总结
在本实验中,你通过示例学习了如何在 C 语言中使用 switch case 语句。你学习了如何在不同数据类型中使用 switch case 语句,如何在不使用 break 语句的情况下使用它,以及如何嵌套 switch case 语句。



