c语言switch case语句例子(3个经典例子)
C语言中的 switch case 语句是一种多分支选择结构,它可以根据一个变量或表达式的不同取值,执行不同的代码块,这种结构在需要处理多个可能的情况时特别有用。相比于使用多个 if else 语句,switch case 通常更加清晰和高效。
switch case 语句的基本格式如下:
switch (expression) {
case constant1:
// 代码块 1
break;
case constant2:
// 代码块 2
break;
...
default:
// 默认代码块
break;
}
在这个结构中,expression 是要被评估的表达式,通常是一个变量或者返回整数值的表达式。每个 case 后面跟着一个常量值,如果 expression 的值与某个 case 的常量相匹配,就会执行该 case 下的代码块。default 是可选的,如果所有的 case 都不匹配,就会执行 default 下的代码块。
让我们通过一个具体的例子来深入理解 switch case 的使用:
#include <stdio.h>
int main() {
int day;
printf("请输入一个 1 到 7 之间的数字:");
scanf("%d", &day);
switch (day) {
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("无效的输入!请输入 1 到 7 之间的数字。\n");
}
return 0;
}
在这个例子中,程序要求用户输入一个 1 到 7 之间的数字,然后使用 switch 语句来判断这个数字对应的星期几。如果用户输入的数字不在 1 到 7 之间,程序会执行 default 块中的语句,提示输入无效。
值得注意的是 break 语句的重要性。如果我们忘记在每个 case 后面加上 break,程序会继续执行下一个 case 中的语句,直到遇到 break 或者 switch 结束。这种特性有时可以用来实现多个 case 共享同一段代码的效果。例如:
#include <stdio.h>
int main() {
char grade;
printf("请输入您的成绩(A、B、C、D 或 F):");
scanf(" %c", &grade);
switch (grade) {
case 'A':
case 'a':
printf("优秀!\n");
break;
case 'B':
case 'b':
printf("良好!\n");
break;
case 'C':
case 'c':
printf("中等!\n");
break;
case 'D':
case 'd':
printf("及格!\n");
break;
case 'F':
case 'f':
printf("不及格!\n");
break;
default:
printf("无效的成绩输入!\n");
}
return 0;
}
在这个例子中,我们允许用户输入大写或小写字母来表示成绩。通过让相邻的 case 共享同一段代码,我们简化了程序结构,使其更加简洁。
switch case 语句还有一些高级用法,例如,我们可以在 case 中定义变量和使用复合语句。不过,如果要在 case 中定义变量,需要将整个 case 的内容用花括号括起来,形成一个复合语句。例如:
#include <stdio.h>
int main() {
int choice;
printf("请选择操作:\n1. 计算圆的面积\n2. 计算正方形的面积\n");
scanf("%d", &choice);
switch (choice) {
case 1: {
float radius, area;
printf("请输入圆的半径:");
scanf("%f", &radius);
area = 3.14159 * radius * radius;
printf("圆的面积是:%.2f\n", area);
break;
}
case 2: {
float side, area;
printf("请输入正方形的边长:");
scanf("%f", &side);
area = side * side;
printf("正方形的面积是:%.2f\n", area);
break;
}
default:
printf("无效的选择!\n");
}
return 0;
}
这个例子展示了如何在 switch case 中使用更复杂的逻辑,包括定义变量、进行计算和输出结果。
总的来说,switch case 语句是一个非常有用的控制结构,特别适合处理多选项的情况。switch case 可以使代码更加清晰、易读,并且在某些情况下比等价的 if else 结构更加高效。在实际编程中,合理使用 switch case 可以大大提高代码的可读性和维护性。
ICP备案:
公安联网备案: