【C语言】-分支语句(2)-switch语句

  上一篇文章介绍了关于if语句相关的知识,接下来就介绍switch语句相关知识及用法。

      switch语句也是一种分支语句,在实际应用中,很多事情都得做出选择,当情况不是很多的时候可以使用前面介绍过的if 语句,但是当要面临的选择很多时,如果仍然使用if 语句的话,就会很繁琐,所以就有了switch语句,换句话说就是switch语句常用于多分支的情况。

switch语句是一个多分支语句,并且可以支持嵌套。

基本格式: 

switch (表达式)
{
case 常量1:语句1
case 常量2:语句2
default:语句n

	break;
}

      这里,表达式的值会和case后面的常量进行匹配,如果能匹配的上,就执行其对应的语句;如果没有匹配的上,则执行default里面的语句。

不过,需要我们注意的是:

(1)switch()括号里的表达式的类型必须是整数类型,而case和default 必须用一对{ } 括起来。

(2)每个case分支以及default分支出现的次序是可以交换的,它们的出现次序不影响执行效果,无论如何排列每个分支的次序,都总是按照switch表达式的值来选择某个分支执行的。(但从程序的可读性的角度来看,最好还是按照顺序写代码)

(3)一个case块内的代码执行完毕结束之后,如果没有遇到 break, 但后面还有case块的话,则继续执行case块内的代码。

(4)大家可千万记住:switch语句是“选择”语句,而不是“循环”语句。往往在我们刚接触这些知识的时候,一看到break 就以为是跳出循环语句,当然,break是有这样的用法,但可不是这里哦!

(5)case常量表达式只是起语句标号的作用,并不是在该处进行判断。

(6)在程序中,可以选择不要default语句,但是,为了避免让阅读代码的人忘了你进行default处理,而且能提醒别人switch结束了,所以最好是加上。

(7)default写在任何一个case标签可以出现的位置,当switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行,所以,每个switch语句中只能出现一条default子句。但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。

无论干什么事,都得养成一个好习惯,当然写代码也不例外,在每个switch语句中都放一条default子句是一个好习惯,甚至可以在后边再加一个break。

举个例子吧:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1:
		m++;
	case 2:
		n++;
	case 3:
		switch (n)
		{
		case 1:
			n++;
		case 2:
			m++;
			n++;
			break;
		}
	case 4:
		m++;
		break;
	default:
		break;
	}
	printf("m = %d, n = %d\n", m, n);
	return 0;
}

执行结果:

 好啦,关于switch语句的分享就到这里就结束啦,后期会陆续更新文章,新手可能对知识的理解有误解,若有错误,欢迎各位大佬及小伙伴们提出吆。

呼~,写完了,给个一赞三连吧,嘻嘻。

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值