正式学习C语言—switch语句的学习(2022.12.10)

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值