switch语句是特殊形式的if-else语句,面对多个判断条件时,用switch语句会更简洁方便,
上面代码中,根据表达式expression不同的值,执行相应的case分支,如果找不到对应的值,则执行default分支。
switch后的expression必须是整型表达式,
case后的值,必须是整型常量表达式,
示例:输入一个数,输出除以3的余数
用if-else语句,
int main()
{
int n = 0;
scanf("%d", &n);
if (n % 3 == 0) printf("余数为0");
else if (n % 3 == 1) printf("余数为1");
else if (n % 3 == 2) printf("余数为2");
return 0;
}
用switch语句,
int main()
{
int n = 0;
scanf("%d", &n);
switch (n % 3)
{
case 1:
printf("余数为1");
break;
case 2:
printf("余数为2");
break;
default:
printf("余数为0");
break;
}
return 0;
}
两个代码所代表的意思是一致的,
注意每个case语句后要加break,若没有break,程序将进行下一个case,利用这个点,对于一些地方部分代码可以不敲,示例:
输入1-7中的一个数,分别代表星期几,若为周一到周五,则输出“工作日”,周六周日输出“休息日”,
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break;
case 6:
case 7:
printf("休息日");
break;
}
}
当case1-4后无break时,向下进行,直到遇到break。