一.switch case语句
1.1基本用法
#include<stido.h>
int main()
{
switch(整型表达式)//
{
case 整型常量表达式: //注意这里和上面不同,既要是整型类型又要为常量
执行内容
break;
case 整型常量表达式:
执行内容
break;
default:
执行内容;
break;
}
return 0;
}
讲解
先定义变量,输入switch(),这部分是主干部分,switch(变量)后面加一个大括号。大括号就写判断内容了,case可以是很多个,来实现无限分支,后面跟判断的内容
在case常量表达式1:语句段,语句段写的是需要执行的语句3、在写完语句段之后,加分号,在加break;这样才能保证程序的正常进行,如果只想执行对应的一条 case 语句的话,就要在其后面加入 break 语句来跳出 switch case语句
default 语句的逻辑是当所有 case 语句都不符合时,就会进入 default 语句(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;
default :
printf("请重新输入\n");
break;
}
return 0;
}
代码效果如下
但此时假若你输入的 switch 后面的整型表达式是不符合任何一个语句的时候,根据我们上面提到此时程序就应该走到 default 语句里面,所以这时候就会在屏幕上打印出"请重新输入" ,就能达到提示我们输入的表达式不匹配的效果。
1.2多分支与嵌套
多分支这点,case语句越多当然分支就多了。
#include<stdio.h>
int main()
{ int a=2;
switch(a)
{
case 1:
printf("one\n");
break;
case 2:
++a; \\这里的意思是先使 a+1 ,再使用变化后的值
switch(a) \\这里就是嵌套了,将switch case 语句嵌套在case 2 的执行内容中
{
case 2:
printf("two\n");
break;
case 3:
printf("three\n");
case 4:
printf("four\n");
break;
}
break;
default :
break;
}
return 0;
}
这样的效果出来是
three
four
可以发现嵌套语句 case 3 执行内容后面是没有加 break
所以会一直执行完 case 4 语句直到遇到 break 为止。
一起加油!