c语言switch case用法详解

1. switch case语句的概念

switch case语句是一种分支语句,它是根据一个表达式的值,来执行与其对应的代码块。在C语言中,switch case语句用于多个选项的处理,使得代码更加简洁,易于理解。

2. switch case语句的语法

switch(expression){

case const-expression: statements

break;

case const-expression: statements

break;

default: statements

}

expression为需要判断的表达式,case后跟的是一个常量表达式,即需要判断的值。case后面可以跟多个常量表达式,用冒号分隔。default为可选的分支,表示表达式的值与所有case的值都不匹配时执行的代码。

3. switch case语句的执行流程

当程序执行到switch语句时,首先计算出expression的值,接着与每个case后面的常量表达式一一比较,如果匹配上了,就执行后面的语句块,直到遇到break语句或者整个switch结束。如果所有的case都没有匹配上,就执行default语句块里面的代码。

4. switch case语句的应用示例

4.1 示例一:

以下示例是一个根据星期几输出对应的信息的程序:

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("输入错误!\n");

break;

}

以上程序通过switch case语句根据输入的数字输出对应的信息。当输入1-7的数字时,将分别输出对应的星期几,如果输入的数字不在1-7之间,就输出“输入错误!”。

4.2 示例二:

以下示例是一个利用switch case语句来进行加减乘除运算的程序:

double a,b,result;

char operator;

printf("请输入一个表达式(例:1+2):");

scanf("%lf%c%lf",&a,&operator,&b);

switch(operator){

case '+': result=a+b;

break;

case '-': result=a-b;

break;

case '*': result=a*b;

break;

case '/': result=a/b;

break;

default: printf("输入错误!\n");

break;

}

printf("%.2lf %c %.2lf = %.2lf\n",a,operator,b,result);

以上程序先读取输入的表达式,然后根据输入的符号进行加减乘除运算,并输出结果。如果输入的符号不合法,就输出“输入错误!”。

5. switch case语句的注意事项

以下是一些使用switch case语句时需要注意的事项:

每个case语句块都需要以break语句结束,否则程序会继续执行后面的语句,造成逻辑混乱。

case后面的常量表达式必须是一个常量,不能是变量。

switch case语句中表达式的类型只能是整型(int、short、long)或字符型(char)。

总之,在实际编程中要注意使用switch case语句时,保持逻辑清晰,避免冗余代码,确保程序正常运行。

后端开发标签