switch语句

面对多分支语句如果使用if语句会比较麻烦,例如如果我们要将天数转换为星期,使用if语句的话就得写出如下的代码

#include<stdio.h>
int main()
{
int a = 0;
scanf("%d",&a);
if(a==1)
  printf("星期一");
else if(a==2)
  printf("星期二");
else if(a==3)
  printf("星期二");
else if(a==4)
  printf("星期三");
else if(a==4)
  printf("星期四");
else if(a==5)
  printf("星期五");
else if(a==6)
  printf("星期六");
else
  printf("星期天");
return 0;
}

看得出来,非常麻烦,所以我们得换一种语句这是我们就会使用switch语句(虽然我觉得目前好像也很麻烦)

switch语句语法形式

switch(整型常量)

{

语句项;

}

其中语句项是一些case语句,形式如下

case 整型常量表达式;

   语句;

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{

int day = 0;
scanf("%d",&a);
switch(day)
{
case 1:
  printf("星期一");
case 2:
  printf("星期二");
case 3:
  printf("星期三");
case 4:
  printf("星期四");
case 5:
  printf("星期五");
case 6:
  printf("星期六");
case 7:
  printf("星期天");
}

return 0;
}

当我们运行这段代码时,输入1~7的数字,便会发现结果与我们想要的不一样,例如我们输入四,运行后我们可以发现运行结果为星期四,星期五,星期六,星期天,原因就是因为当我们输入的值为四的时候,case4实际上就是入口,但此时并没有出口,所以会一直运行,此时我们便需要之前提及的转向语句之一的break

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{

int day = 0;
scanf("%d",&a);
switch(day)
{
case 1:
  printf("星期一");
break;
case 2:
  printf("星期二");
break;
case 3:
  printf("星期三");
break;
case 4:
  printf("星期四");
break;
case 5:
  printf("星期五");
break;
case 6:
  printf("星期六");
break;
case 7:
  printf("星期天");
break;
}

return 0;
}

此时break就相当于出口,当我们输入四的时候,case4相当于入口,执行代码printf("星期四")后,从break离开,break语句实际上是把语句列表划分为不同分支部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值