当我们遇到多分支的情况时,用if...else if...else if 这样的形式太复杂
那我们就可以用switch语句
语法结构:
当然可以有多个case标签
当进入switch语句时,会根据switch括号里的整型表达式选择要进入哪一个case中,进入后会执行case中的语句
当没有遇到break语句时, 会从进入的case一直执行到最后一个case才会跳出,当遇到break语句,执行流会立即跳到语句列表的末尾。
当你输入的值,与每一个case标签中的整型表达式都不一样时,程序不会终止,也不会提醒你有错误,为了避免这种情况,可以在switch语句中加入default子句,这样就会发现自己输入是否有错误。
附上一个经典代码,输出星期几
#include <stdio.h>
int main()
{
//输入
int a = 0;
scanf("%d", &a);
//输出
switch (a)
{
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
break;
default : //当输入的数不是case标签中的整型表达式会提示你错误
printf("输入错误");
}
return 0;
}