- switch语句
switch语句是一种分支语句。常常用于多分支的情况。
在switch语句中,我们没法直接实现分支,搭配 break 使用才能实现真正的分支。
好习惯:在每个switch语句中都放一条 default子句 是个好习惯,甚至可以在后面再加上一个break。
- switch语句形式
//switch语句格式
switch (整型表达式)
{
语句项;
}
//必须是整型,float不行,字符可以,因为字符用的是其对应的ASCII码值
//语句项为case语
case 整型常量表达式: //必须是整型、常量值
语句;
#define _CRT_SECURE_NO_WARNINGS
int main()
{
int day = 0;
scanf("%d", &day);
switch (day) // (day)的值是几,就从case几进去,
{ //想在哪里出来,就在哪里加 break 使其跳出、停止
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; // 即使是最后一个case, break可加可不加,也建议加上
}
return 0;
}
case 后面要不要加break 是根据需要决定,不是语法规定。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int day = 0;
scanf("%d", &day);
switch (day) // (day)的值为几,就从case几进去,
{ //想从哪里出去,就在哪里加 break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default: //出一个错误提示,默认其他情况为错误。default放前中后哪里都行,通常放最后
printf("输入错误\n");
break;
}
return 0;
}
#include<stdio.h>
int main(void)
{
int n = 1;
int m = 2;
switch (n)//n=1 所以为case 1
{
case 1:
m++;//case 1 m=2+1=3 没有break 进入case 2
case 2:
n++;//n++ 此时n=2 没有break 进入case 3
case 3:
switch (n) //switch允许嵌套使用 此时n=2 进入case 2
{
case 1:
n++;
case 2:
m++;//m++ m=3+1=4
n++;// n=n+1=3
break; //此嵌套结束 进入case4
}
case 4:
m++;//此时m=m+1=5
break;
default:
break;
}
printf("m = %d, n = %d\n", m, n); //输出:m = 5, n = 3
return 0;
}