C语言switch语句的用法详解
什么是switch语句?
switch语句是一种用于对变量或表达式进行多路分支的语句,它会根据指定的表达式的值来执行相应的语句代码块。
switch语句通常被用于与if语句类似的场合,但是switch语句通常更加简洁明了。其基本格式如下:
switch(expression)
{
case constant1:
/* statement(s) */
break;
case constant2:
/* statement(s) */
break;
case constant3:
/* statement(s) */
break;
/* 以此类推,可以有任意多个case */
default:
/* statement(s) */
}
以上代码中,expression表示要进行判断的表达式或变量,constant1、constant2等表示该表达式或变量可能的取值,case保留字用来判断表达式或变量的取值是否与某种情况匹配。
switch语句的执行过程
当程序执行到switch语句时,首先计算表达式的值,然后将这个值与每个case后面的取值进行比较,如果匹配成功,则执行该case后面的语句,否则继续匹配下一个case,如果最终没有匹配成功,则执行default后面的语句。
需要注意的是,每个case后面必须要有一个break语句,否则会出现“穿透”现象,即无论表达式或变量的取值与哪个case匹配成功,后面所有的case语句都会被执行,直到遇到break语句为止。
switch语句的示例
示例1:判断成绩等级
#include <stdio.h>
int main(void)
{
int score = 85;
char grade;
switch(score / 10)
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'E';
break;
}
printf("你的成绩等级为:%c\n", grade);
return 0;
}
以上代码中,我们通过计算score和10的商来判断成绩等级。如果score的取值为85,则score/10的值为8,因此程序会执行case 8后面的语句,grade的取值为'B'。
示例2:判断月份天数
#include <stdio.h>
int main(void)
{
int month = 2;
int days;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
days = 28;
break;
default:
printf("您输入的月份不正确\n");
return 0;
}
printf("%d月的天数为:%d\n", month, days);
return 0;
}
以上代码中,我们利用switch语句来根据月份判断该月的天数。如果month的取值为2,则程序会执行case 2后面的语句,days的取值为28。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言switch 语句的用法详解 - Python技术站