C语言之Switch语句

目录

Switch语句和break语句

复杂的Switch语句

选择语句


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

Switch语句和break语句

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

C语言之Switch语句_第1张图片

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

#include

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

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

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语句执行时运算的流程图给表示出来:

C语言之Switch语句_第2张图片

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

选择语句

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

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

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

你可能感兴趣的:(C语言,c语言,算法,开发语言,学习,c++)