当前位置:三九宝宝网 → 宝宝教育 → 计划总结 → 正文

switch语句到底有哪些用法这样使用它

更新:12-23 整理:39baobao.com
字体:

[写作必背精彩语句大全]“句子就是财富,句子就是一切”这些句子是从近百篇优秀作文中摘录下来并经反复推敲提炼而成的,对于复习时间短、基础较薄弱的朋友能够在短期内熟悉且背诵这些经典句子无疑是准...+阅读

switch语句 C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为: switch(表达式){ case常量表达式1: 语句1; case常量表达式2: 语句2; … case常量表达式n: 语句n; default : 语句n+1; } 其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。 void main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n"); case 2:printf("Tuesday\n"); case 3:printf("Wednesday\n"); case 4:printf("Thursday\n"); case 5:printf("Friday\n"); case 6:printf("Saturday\n"); case 7:printf("Sunday\n"); default:printf("error\n"); } } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况, C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 void main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n");break; case 2:printf("Tuesday\n"); break; case 3:printf("Wednesday\n");break; case 4:printf("Thursday\n");break; case 5:printf("Friday\n");break; case 6:printf("Saturday\n");break; case 7:printf("Sunday\n");break; default:printf("error\n"); } } 在使用switch语句时还应注意以下几点: 1.在case后的各常量表达式的值不能相同,否则会出现错误。 2.在case后,允许有多个语句,可以不用{}括起来。 3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。 4.default子句可以省略不用。程序举例 输入三个整数,输出最大数和最小数。 void main(){ int a,b,c,max,min; printf("input three numbers: "); scanf("%d%d%d",&a,&b,&c); if(a>b) {max=a;min=b;} else {max=b;min=a;} if(maxc) min=c; printf("max=%d\nmin=%d",max,min); } 本程序中,首先比较输入的a,b的大小,并把大数装入max, 小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。 计算器程序。用户输入运算数和四则运算符, 输出计算结果。 void main(){ float a,b,s; char c; printf("input expression: a+(-,*,/)b \n"); scanf("%f%c%f",&a,&c,&b); switch(c){ case '+': printf("%f\n",a+b);break; case '-': printf("%f\n",a-b);break; case '*': printf("%f\n",a*b);break; case '/': printf("%f\n",a/b);break; default: printf("input error\n"); } } float a,b,s; char c; printf("input expression: a+(-,*,/)b \n"); scanf("%f%c%f",&a,&c,&b); switch(c){ case '+': printf("%f\n",a+b);break; case '-': printf("%f\n",a-b);break; case '*': printf("%f\n",a*b);break; case '/': printf("%f\n",a/b);break; default: printf("input error\n"); } 本例可用于四则运算求值。switch语句用于判断运算符, 然后输出运算值。当输入运算符不是+,-,*,/时给出错误提示。

本文地址:https://www.39baobao.com/show/34_11552.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

德语语法als的用法总结1、als 做连词,表示“当……的时候”,用于指过去发生的一次性的行为。 Als ich gehen wollte, (da) lutete das Telefon. 我正想走的时候,电话铃响了。 Als ich nach Hause kam...

托福写作锻造地道英语句34. I agree the latter idea. 改进: I agree with the latter idea. 35. Many people dissatisfy with the status quo. 改进: Many people are dissatisfied with the sta...

英文中的比喻用法英文中的比喻用法 (十一) 蓝色还常用来表示社会地位高、有权势或出身于贵族或王族。He's a real blue blood。(他是真正的贵族。)在美国英语中blue book(蓝皮书)是刊载知名人士,尤...

弹钢琴常见的踏板用法有哪些弹钢琴初学者遇到的,有以下几种用法: (1)、弹一个强奏和弦可用踏板帮助,使之更有共鸣、更加响亮。方法也很简单,与手的动作同时或先于手的动作,踩下踏板。同时,还要依着和弦或短或长...

安全管理用法律来保障前两天刚刚在博客中提到了对孩子安全地担忧,今天就有了好消息。昨天中央教科所的刘占兰教授和周俊鸣教授来到我们幼儿园调研。在调研中,两位教授谈到了许多很好的指导性意见。...

主语从句的用法主语从句可以按其引导词的不同分为三类: 第一类,用从属连词that引导的主语从句,例如: That we shall be late is certain. That the driver could not control his car was obvi...

主语从句连接词用法十万火急啊主语从句有以下连接词及其用法: 1. That That matter takes up space is known to all. (= It is known to all that matter takes up space.) 2. whether (if) Whether she...

求适合玩传话游戏的短语或成语句子。认捧大惊小怪 大惊失色 大惑不解 从容不迫 毛骨悚然 心不在焉 六神无主 泰然自若 心平气和 平心静气 目瞪口呆 处之泰然 半信半疑 毕恭毕敬 自言自语 喃喃自语 全神贯注 兴致勃...

在英语作文中经常用到的短语句句式(SVO=主语+谓语+宾语) 1. It --- (1) It is obvious to most of us, in particular the younger ones, that SVO。对大多数人,尤其是年轻人来说.... (2) It goes without any...