欢迎来到天天文库
浏览记录
ID:46626545
大小:37.00 KB
页数:3页
时间:2019-11-26
《C语言switch语句的用法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;…case常量表达式n:语句n;default:语句n+1;}其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。【例4-9】复制纯文本复制1.#include
2、2.intmain(void){3.inta;4.printf("inputintegernumber:");5.scanf("%d",&a);6.switch(a){7.case1:printf("Monday");8.case2:printf("Tuesday");9.case3:printf("Wednesday");10.case4:printf("Thursday");11.case5:printf("Friday");12.case6:printf("Sat
3、urday");13.case7:printf("Sunday");14.default:printf("error");15.}16.return0;17.}#includeintmain(void){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:printf("Monday");case2:printf("Tuesday");case3:printf("Wednesday");
4、case4:printf("Thursday");case5:printf("Friday");case6:printf("Saturday");case7:printf("Sunday");default:printf("error");}return0;}本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在swi
5、tch语句中,“case常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应
6、有的结果。【例4-10】复制纯文本复制1.#include2.intmain(void){3.inta;4.printf("inputintegernumber:");5.scanf("%d",&a);6.switch(a){7.case1:printf("Monday");break;8.case2:printf("Tuesday");break;9.case3:printf("Wednesday");break;10.case4:printf("Thursday");b
7、reak;11.case5:printf("Friday");break;12.case6:printf("Saturday");break;13.case7:printf("Sunday");break;14.default:printf("error");15.}16.return0;17.}#includeintmain(void){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:pr
8、intf("Monday");break;case2:printf("Tuesday");break;case3:printf("Wednesday");break;case4:printf("Thursday");break;case5:printf("Friday");break;case6:printf("Saturday");break;case7:printf("Sunday
此文档下载收益归作者所有