switch语句的基本知识
一、(switch)包括的库函数
switch中包括的关键字有(case)、(break)、(default)
switch (expression) {
case value1. statement
case value2: statement
default: statement
}
其中注意事项有:
1.switch后面的expression必须是整形表达式。
2.case后面的值,必须是常量整形表达式,并且case和后面的数字必须有一个空格。
3.每一个case语句中的代码执行完成后,必须加上break,才能跳出这个switch语句。
4.case结果不要写重复一样的,不然就会报错或者找不到自己想要的结果。
二、认识 case、break、default
代码如下:
#include <stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch(day) //语句开始
{
case 1: //第一个分支
printf("星期⼀\n");
break;
case 2: //第二个分支
printf("星期⼆\n");
break;
case 3: //第三个分支
printf("星期三\n");
break;
case 4: //第四个分支
printf("星期四\n");
break;
case 5: //第五个分支
printf("星期五\n");
break; //结束语句
case 6: //第六个分支
printf("星期六\n");
break; //结束语句
case 7: //第七个分支
printf("星期天\n");
break; //如果输入的是7那么程序就会重case进入再重break结束。
default: 在程序把所有的case分支语句执行完都没有找到的话就会去执行default分支里面的内容。
printf("输⼊错误\n");
break;
}
return 0;
}
二(1)、简化语句
1.根据实际情况看,当case语句可以是一样时,可以选择break的位置,从而提高效率。
比如:
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;
}
三、default和case顺序问题
default 没有要求说必须放在最后 也可以放在case前面,但是不能放在case分支语句中间。
比如; (错误示范)
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
case 2:
case 3:
default:
printf("输⼊错误\n");
break;
break;
case 4:
case 5:
printf("⼯作⽇\n");
break;
case 6:
case 7:
printf("休息⽇\n");
break;
}
return 0;
}
比如(正确示范):
int day = 0;
scanf("%d", &day);
switch(day)
{
default:
printf("输⼊错误\n");
break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf("⼯作⽇\n");
break;
case 6:
case 7:
printf("休息⽇\n");
break;
return 0;
}