switch语句怎么写?

作者&投稿:屠独 (若有异议请与网页底部的电邮联系)
~

switch的一般形式如下:

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

case 常量表达式n:    语句n
default:        语句n+1
}

说明:


1) switch 后面括号内的“表达式”必须是整数类型。也就是说可以是 int 型变量、char 型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float 型变量、double 型变量、小数常量通通不行,全部都是语法错误。



2) switch 下的 case 和 default 必须用一对大括号{}括起来。



3) 当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。



再重申一下:switch是“选择”语句,不是“循环”语句。很多新手看到break就以为是循环语句,因为break一般给我们的印象都是跳出“循环”,但break还有一个用法,就是跳出switch。



4) 若所有的 case 中的常量表达式的值都没有与 switch 后面括号内“表达式”的值相等的,就执行 default 后面的语句,default 是“默认”的意思。如果 default 是最后一条语句的话,那么其后就可以不加 break,因为既然已经是最后一句了,则执行完后自然就退出 switch 了。



5) 每个 case 后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。

6) “case常量表达式”只是起语句标号的作用,并不是在该处进行判断。在执行 switch 语句时,根据 switch 后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

7) 各个 case 和 default 的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。



8) 当然你也可以不要 default 语句,就跟 if…else 最后不要 else 语句一样。但最好是加上,后面可以什么都不写。这样可以避免别人误以为你忘了进行 default 处理,而且可以提醒别人 switch 到此结束了。



但是需要注意的是,default 后面可以什么都不写,但是后面的冒号和分号千万不能省略,省略了就是语法错误。很多新手在这个地方很容易出错,要么忘了分号,要么忘了冒号,所以要注意!
下面给大家写一个程序,通过这个程序来看一下。

扩展资料

switch 是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。switch 是多分支选择语句。说得通俗点,多分支就是多个 if。



从功能上说,switch 语句和 if 语句完全可以相互取代。但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁。



当嵌套的 if 比较少时(三个以内),用 if 编写程序会比较简洁。但是当选择的分支比较多时,嵌套的 if 语句层数就会很多,导致程序冗长,可读性下降。因此C语言提供 switch 语句来处理多分支选择。所以 if 和 switch 可以说是分工明确的。在很多大型的项目中,多分支选择的情况经常会遇到,所以 switch 语句用得还是比较多的。




C语言 条件语句
条件表达示语句 一、if语句 if(表达式) 语句1;如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。如果语句1有多于一条语句要执行时, 必须使用{} 把这些语句包括在其中, 此时条件语句形式为:if(表达式){ 语句体1,2,3;} 例如:if(x>=0) y=x;if(a||b&&c){ z=a+b;c...

...的值是 char ch='8'; int r=10; S.witch( ch+1 ) { caS.e '7...
先看结果 再听原理:char类型本身是字符型,但是它可以转型成int 这时,这个int数 代表的就是这个字符的ASCII编码 当对它进行加一操作时,就会对 ‘8’这个字符的ASCII编码加一 得到的就是'9'这个字符 所以 r 要+6 所以最终结果是 16 选择C 配图码字 希望能让你满意 ...

判断指令除了if else 还有什么呀!
回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假 。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结 果可以得到一个真\/假的条件值。因此,当一个表达式在程序中被用于检验其真 \/假的值时,就称为一个条件。一、if语句 if(表达式) 语句1;如果表达式的...

纳尼亚传奇1英语影评、简介、经典语句
there, they must ally with the Lion Aslan against the forces of the White Witch, who has the world under an eternal winter. 经典语句 -Some journeys take us far from home. Some adventures lead us to our destiny.-There are many stories of Narnia. The first is about to be ...

宫崎峻动漫电影作品介绍
1968 *《太阳王子历险记》《太阳の王子ホルスの大冒险》《Prince Of Sun》剧场,片长: 1小时22分.场景设计和原画.高——导演.*《魔女莎莉》《魔法使いサ》《Sally The Witch》TV,第77和78集的原画. 1969 *《长靴里的猫》《长靴をはいた猫》《Puss In Boots》剧场,片长: 1小时20分.原画.*《幽灵飞船...

魔兽争霸英雄名
NAGA\/蛇妖:Sea Witch:娜伽海妖 FL\/炎魔\/火人:Firelord:火焰领主 pl\/大屁股:Pit Lord:深渊领主 LS\/小白\/光箭\/光MM:LightSylvanas:光明游侠 ES\/小黑\/黑箭\/黑MM:EvilSylvanas:黑暗游侠 LE:Panda: 篮熊猫(ES+LS) DB:Panda:红熊猫(BM+DH) bm::兽王 gt:地精修补匠 PD::熊猫酿酒师兽王BM 那家naga 火焰领主...

你惊动了witch是啥梗
你惊扰了witch”,后来在一些搞笑视频里,弹幕有时也会发类似于“你惊动了某某”这样的语句来增加喜感。witch的身上只有破烂不堪的上衣和内裤,橙黄色的眼睛,肤色发白,血红色的双手。她很敏感,经常在哭泣,她讨厌光亮和噪音,所以白天的哭声要比晚上的哭声更加凄惨,离得很远也能听到。

罗甸县13771216945: c语言switch语句 -
左轻氯化: 不能,case后面的常量表达式只能是整型,字符型 #include<stdio.h> void main() { int score=0; int grade=0; printf("成绩(0-100)\n");scanf("%d",&score); //键盘输入学生成绩 while(score>=0&&score<=100) { grade=score/10; switch(...

罗甸县13771216945: 简述流程控制语句中的switch语句的结构是怎样的 -
左轻氯化: switch语句的格式: switch (表达式){case目标值1:执行语句1break;case目标值2:执行语句2break;......case目标值n:执行语句nbreak;default:执行语句n+1break; } 在上面的格式中,switch语句将表达式的值与每个case中的...

罗甸县13771216945: java中的switch语句的编写 -
左轻氯化: 上面那个回答有少少问题,就是switch-case中的break用法.少了break的话,最终的str一定是“太热了,开空调.” int i = 0; int tempriture= 0; if(tempriture< 10){ i = 1; } else if(tempriture >=10 && tempriture<=24){ i = 2; } else if(tempriture>= 25 &&...

罗甸县13771216945: C#中的switch语句怎么写 -
左轻氯化: switch语句根据一个控制表达式的值选择一个内嵌语句分支来执行.它的一般格式为:switch(controllong-expression) { case constant-expression embedded-statements default: embedded-statements }

罗甸县13771216945: switch语句怎么做? -
左轻氯化: 首先判断x的值,因为x=1,所以执行switch(y){case 0:a++;break;case 1:b++;break;},又因为y=0,所以a++,这是a=1,因为在switch(y){case 0:a++;break;case 1:b++;break;}后面没有break,所以接下来执行 case 2:a++;b++;break;最后打印输出.所以a=2,b=1

罗甸县13771216945: 关于C语言的switch语句 -
左轻氯化: case 1: printf("1"); case 2: printf("2"); break; case 3: printf("3"); break;如果这样写1 的时候 输出 12 2 的时候 输出 2 3 的时候 输出 3case会一直向下执行,直到碰到break语句,或者switch对应的大括号,才会停止

罗甸县13771216945: switch语句怎么用?给个示例
左轻氯化: switch(x){ (prime(x)){case2:case3:case5:case7:process_prime(x);}else{case4:case6:case8:case9:case10:process_composite(x);}}你能说出它如何执行吗?switch语句的格...

罗甸县13771216945: 跪求用c语言switch语句编写 -
左轻氯化: switch((int)m / 500) { case 0:d = 1;break; case 1:d = 0.95;break; case 2:d = 0.9;break; case 3:d = 0.85;break; default:d = 0.8;break; }

罗甸县13771216945: C语言switch语句改写 -
左轻氯化: 这样写也行,但逻辑上和lz的题目有点出入,算是提供个思路吧.int main() {int a, b, t;scanf("%d", &a); switch(((t = a/500)<3)?0:((t<10)?1:((t<20)?2:3))){case 0: //a < 500b = 1;break;case 1: //1500 <= a < 5000b = 2;break;case 2: //...

罗甸县13771216945: switch语句 -
左轻氯化: c语言的话 #include #includemain() { char i; printf("please input a char(a...z):");/*从键盘输入字符*/ scanf("%c",&i); switch(isalpha(i))/*判断是否为字母*/ { case 0:printf("%c is not a char\n",i);break;/*不是字母*/ default:printf("%c ifs a char\n",i);break;/*为字母*/ } } 这是简单的判断是否为字母的程序,剩下的是否为数字,大写还是小写,是否为空格,是否为ASCII码,是否为控制字符,就自己来写吧

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网