C语言的switch分支语句怎么使用
这篇文章主要介绍了C语言的switch分支语句怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言的switch分支语句怎么使用文章都会有所收获,下面我们一起来看看吧。
1、了解switch分支语句
switch语句也是一种分支语句,常常用于多分支的情况。
比如:
输入1,就会输出星期一
输入2,就会输出星期二
…
输入7,就会输出星期七
对于这样的代码需求,如果用if 、else if、else的形式就会显得太复杂。如何用switch语句实现该功能呢?switch语句的结构又是怎样的呢?
switch(整型表达式)
{
语句项;
}
其中,整型表达式必须为整型,且为常量(字符也可以,因为字符也属于是整型的一种,因为字符存储的时候用的是字符的ASCII码值);语句项是一些case语句。
case 整型常量表达式;
语句;
代码实现:
int main(){int day = 0;scanf("%d",&day);switch (day){case 1:printf("星期一\n");case 2:printf("星期二\n");case 3:printf("星期三\n");case 4:printf("星期四\n");case 5:printf("星期五\n");case 6:printf("星期六\n");case 7:printf("星期日\n");}return 0;}
运行该代码,发现运行之后得到的结果如下:
1
星期一
星期二
星期三
星期四
星期五
星期六
星期日
显然,这样的结果是不对的。因为执行完case 1 之后,没有东西阻止它,它就会一直case 2、case 3…地执行下去。若在程序运行的时候,输入的是6,就会输出 星期六星期日。switch后面的表达式(day)是几,它就会从case 几进去,决定入口的是表达式day的值以及case后面的值。
修改程序:在每个case后面加上break,以此来跳出case。
case决定的是入口,而break决定的是出口,这才实现了真正的分支。
2、示例
输入1-5就输出工作日,输入6-7就输出休息日。
int main(){int day = 0;scanf("%d",&day);switch (day){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;}return 0;}
测试运行结果如下:
5
工作日
break语句的实际效果是把语句列表划分为不同的部分。
有一个编程好习惯:在最后一个case语句的后面也加上一条break语句。万一之后要在原先程序的基础上再加上一些其它case语句,不至于出现上面的输入1,一下子星期一到星期天全部打印出来的情况。
3、default子句
如果表达的值与所有的case标签的值都不匹配怎么办?其实也没什么,结果就是所有的语句都被跳过而已,程序并不会终止,也不会报错。因为这种情况在C语言中并不认为是错误,但是,如果并不想忽略不匹配所有标签的表达式怎么办?这时候就可以在语句列表中增加一句default子句,将其写在任何一个case标签可以出现的位置。
当switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。注意:每个switch语句中只能出现一条default子句。
int main(){int day = 0;scanf("%d",&day);switch (day){default:printf("输入错误\n");break;case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期日\n");break;}return 0;}
测试结果:
9
输入错误
4、练习
看程序运行的结果是多少?
int main(){int n = 1;int m = 2;switch (n){case 1 :m++;case 2:n++;case 3:switch (n)//switch可以嵌套使用{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里面的break的作用。
最终的运行结果如下:
m=5,n=3
关于“C语言的switch分支语句怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C语言的switch分支语句怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341