1. switch case语句概述
switch case语句是一种常见的控制语句,通常用于对某个变量的值进行判断,然后根据不同的值执行不同的代码块。根据不同的情况,switch case语句可以取代一系列if else语句,使代码更加简洁明了。
switch case语句通常包含一个被测试的变量(可以是整型、字符型、枚举等),并且根据变量的不同值执行不同的代码块。语法结构如下:
switch (expression){
case constant1:
statement(s);
break;
case constant2:
statement(s);
break;
...
case constantN:
statement(s);
break;
default:
statement(s);
}
其中,expression表示被测试的变量,constant1、constant2、...、constantN表示要比较的值,statement(s)表示需要执行的代码块。default语句是可选的,表示在其他情况下需要执行的代码块。
2. switch case语句的执行流程
当执行switch case语句时,会首先计算expression的值。然后程序会依次比较expression的值与每个case后的常量值,找到匹配的值后执行该case下的语句块,并直接跳转到switch case语句块结束处继续执行。如果没有匹配的值,则执行default中的代码块。
需要注意的是,如果在case块中没有break语句,程序会继续执行下一个case块中的语句,直到遇到break语句为止。
3. switch case语句的应用
3.1. 基本应用
下面是一个简单的例子,演示如何在C语言中使用switch case语句:
#include
int main(){
int num;
printf("请输入数字(1、2或3):");
scanf("%d", &num);
switch (num){
case 1:
printf("你输入的是1\n");
break;
case 2:
printf("你输入的是2\n");
break;
case 3:
printf("你输入的是3\n");
break;
default:
printf("你输入的不是1、2或3,程序结束\n");
}
return 0;
}
在该例子中,首先读入一个整数,然后根据该整数的值进行判断,分别打印出不同的结果。
3.2. 使用switch case语句做菜单
在实际应用中,我们经常需要制作菜单。使用switch case语句,可以快速实现菜单功能。
下面是一个简单的菜单程序:
#include
#include
int main(){
int choice;
do {
system("cls");
printf("1. 浏览\n");
printf("2. 添加\n");
printf("3. 修改\n");
printf("4. 删除\n");
printf("5. 退出\n");
printf("请输入你的选择:");
scanf("%d", &choice);
switch (choice){
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;
default:
printf("输入错误,请重新选择\n");
break;
}
system("pause");
} while (choice!=5);
return 0;
}
该程序包含一个菜单,供用户选择不同的操作。使用do-while循环,使得用户可以一直执行菜单操作,直到选择退出为止。
3.3. 利用switch case语句完成运算
除了上述应用,switch case语句还可以用于完成运算。比如,下面的程序演示如何使用switch case语句实现不同运算:
#include
int main(){
double num1, num2, result;
char operator;
printf("请输入第一个数字:");
scanf("%lf", &num1);
printf("请输入运算符:");
scanf(" %c", &operator);
printf("请输入第二个数字:");
scanf("%lf", &num2);
switch (operator){
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2==0){
printf("除数不能为0,程序结束\n");
return 0;
}
result = num1 / num2;
break;
default:
printf("无法识别的运算符,程序结束\n");
return 0;
}
printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
return 0;
}
该程序读入两个数字和一个运算符,根据运算符的不同,执行相应的运算,并输出结果。
4. 总结
switch case语句是一种常见的控制语句,通常用于对某个变量的值进行判断,然后根据不同的值执行不同的代码块。使用switch case语句可以使代码更加简洁明了。除了基本应用外,switch case语句还可以用于菜单制作和运算等方面。需要注意的是,在使用switch case语句时,一定要注意break语句的使用,避免出现不必要的错误。