C语言之Switch语句

目录

Switch语句和break语句

复杂的Switch语句

选择语句


if语句会根据某个条件的判断结果,将程序的流程分为两支,而Switch语句,则会将程序分为多个分支。

Switch语句和break语句

让我们来看下Switch语句的结构图:(括号内的表达式必须是整形)

cd580656a4644670a968cb6a92264935.png

 我们用一段程序来具体说明:

#include<stdio.h>

int main()
{
	int no;
	
	printf("请输入一个整数:");
	scanf("%d", &no);
	
	switch(no % 3)
	{
	case 0:puts("该整数能被3整除");         break;
	case 1:puts("该整数不能被3整除余数是1");break;
	case 2:puts("该整数不能被3整除余数是2");break;
	}
	return 0;
}

想case 1:这样用来表示程序跳转的标识称为标签(label)

注意:case和1之间必须有空格,1和:之间有没有空格都可以。

 标签值必须为常量,不可为变量,不允许出现重复的标签值。程序跳转到改标签后会按顺序执行其语句。

当程序出现break语句时,Switch语句会执行结束。break有“打破、脱离”之意,执行break语句会程序会跳出Switch语句的范围。

03bab50f9c6e4791b998b1482988df01.png

复杂的Switch语句

我们给下列商品编号,脉动为1,冰红茶为2,牛肉面为3,炒饭为4……我们如何用Switch语句做选择呢?

#include<stdio.h>

int main()
{
	int selection;
	
	printf("请输入商品的编号:");
	scanf("%d", &selection);
	
	switch(selection)
    {
		case 1:puts("我要喝脉动");      break;
		case 2:puts("我要喝冰红茶");    break;
		case 3:puts("我要吃牛肉面");    break;
		case 4:puts("我要吃炒饭");      break;
		default :puts("请重新选择");
	}
	return 0;
}

 当判断表达式的判断结果与任何一个case都不一致时,程序会跳转到default :继续执行。

/*确认Switch语句动作的程序*/
#include<stdio.h>

int main()
{
	int sw;
	printf("请输入一个整数:");
	
	scanf("%d", &sw);
	
	switch(sw)
	{
	case 1:puts("A");  puts("B");
		break;
	case 2:puts("C");
	case 5:puts("D");
		break;
	case 6:
	case 7:puts("E");
		break;
	default :puts("F");
		break;
		
	}
	return 0;
}

当然,我们也可以把上面这种Switch语句执行时运算的流程图给表示出来:

b5764c0de96c499680da264a03a70d9c.png

Switch相较于if语句脉络更加的清晰,通过单一表达式来控制程序流程分支时,使用Switch通常要比使用if语句效果更好。

选择语句

 我们现在学习的if语句和Switch语句,都是用来实现程序流程的选择性分支的,统称为选择语句

在下一章节中我们将会学习到都语句,来实现更多的功能!

最后感谢您的观看,希望您能从中学到一些知识!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学海无涯.苦作舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值