switch语句(多分支选择语句)
组成结构:switch(){语句项;}
以下是一个switch语句运用实例:
int main()
{
int day = 0; //此处day必须是整形
scanf("%d", &day); //输入day的值
switch (day)
{
case 1: //case后必须是整形常量表达式
printf("星期1\n");
break;
case 2:
printf("星期2\n");
break;
case 3:
printf("星期3\n");
break;
case 4:
printf("星期4\n");
break;
case 5:
printf("星期5\n");
break;
} //break是跳出
//如果没有break,程序进入后会一直运行下去,如输入1将全部打印
return 0;
}
上述switch语句将根据输入的day的值,跳转到对应的case处,如:
输入1,打印星期1
输入2,打印星期2
... ...
输入5,打印星期5
由于有break跳出此循环,因此该循环得到对应值后将不再继续运行,但此代码还不完整,下一个示例将完整展示switch语句的功能。
代码实现:输入1-5打印工作日,输入6-7打印休息日
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("输入错误\n");
break;
}
return 0;
}
在此代码中,输入数字1-5时,由于case1~4都没有break跳出循环,所以最后会在运行了case 5的表达式后由break跳出结束;同理,输入6~7时,会运行到case 7后由break跳出结束。
default在switch语句中的作用:超出switch范围的数可以用default来提醒。
(default所在位置没有规定)
也就是说输入数字不在1~7之间,会打印输入错误。