switch语句:
switch语句是一种分支语句,常用于多分支的场景。
大概的框架如下:
switch(整型表达式) //必须是整型表达式,float类型不可以
{
语句项;
}
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1://这里输出1.0也不可以
printf("星期一\n");
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
}
return 0;
}
当我们输入上面的代码的时候,觉得没有问题,但是当我们运行的,并输出数字的时候,就会发现运行的结果与自己的预期不符。
当输入一个选项时,它会打印出一下所有的内容,但是我们的本来目的时指向打印出一个内容。
所以,就用到了break;它的作用是当输入如何一个选项的内容时,就会打印相对应的内容,同时停止打印下面的内容。
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1://这里输出1.0也不可以
printf("星期一\n");
break;//跳出,停止.有了它才实现真正的分支;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
}
return 0;
}
但有时我们并不需要每次case后面都跟着一个break,根据自己的需求,编出相应的代码。
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;
}
return 0;
}
但是经过使用后我们又会发现一个问题,如果输出一个case表达式中没有的一个内容,则什么也没有打印,但是没有提示。这时候就用到default这个语句
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;
default:
printf("输入错误");
break;//case 和default 没有顺序问题;只需要符合你的需求;
}
return 0;
}