首页技术switch语句中表达式的值必须是?switch语句变量类型

switch语句中表达式的值必须是?switch语句变量类型

编程之家2026-05-24647次浏览

大家好,关于switch语句中表达式的值必须是很多朋友都还不太明白,今天小编就来为大家分享关于switch语句变量类型的知识,希望对各位有所帮助!

switch语句中表达式的值必须是?switch语句变量类型

switch语句后的表达式的值是哪些类型

一般格式:

switch(表达式)

case常量标号1:语句序列1;

break;

case常量标号2:语句序列2;

switch语句中表达式的值必须是?switch语句变量类型

break;

case常量标号n:语句序列n;

break;

default:语句S;

switch语句中表达式的值必须是?switch语句变量类型

其中:

①表达式:可以控制程序的执行过程,表达式的结果必须是整数、字符或枚举量值。

②case后面的常量标号,其类型应与表达式的数据类型相同。表示根据表达式计算的结果,可能在case的标号中找到,标号不允许重复,具有唯一性,所以,只能选中一个case标号。尽管标号的顺序可以任意的,但从可读性角度而言,标号应按顺序排列。

③语句序列是switch语句的执行部分。针对不同的case标号,语句序列的执行内容是不同的,每个语句序列允许有一条语句或多条语句组成,但是case中的多条语句不需要按照复合语句的方式处理(用{}将语句括起来),若某一语句序列i为空,则对应的break语句可以省略(去掉)。

④break是中断跳转语句,表示在完成相应的case标号规定的操作之后,不继续执行switch语句的剩余部分而直接跳出switch语句之外,继而执行switch结构后面的第一条语句,如果不在switch结构的case中使用break语句。程序就会接着执行下面的语句。

⑤default用于处理所有switch结构的非法操作。当表达式的值与任何一个case都不匹配时,则执行default语句。

java 1.6(包括)以前,只是支持等价成int基本类型的数据:byte,short,char,int(其他的都不可以)。

1.7加入的新特性可以支持String类型的数据。long是不可以的。。就算是通过强制的转化也必须是转成int。

求教c语言中switch 语句的详细用法

C语言程序语句switch:

switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。

switch语句的语法如下(switch,case和default是关键字):

switch( controllingExpression)

{

case constantExpression1:

case constantExpression2:

case constantExpression3:

statements;//当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements

break;

case constantExpression:

statements;

break;

...

default:

statements;

break;

}

遵守switch语句规则

switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:

只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。

case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。

case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

C语言switch应用例子:

例一:

#include<stdio.h>

int main()

{

double score;

printf("请输入分数:\n");

scanf("%lf",&score);

switch((int)(score/10))//如果写成witch((int)score/10)会出现严重错误

{

case 10:

case 9:printf("A(最好)\n");break;

case 8:printf("B(优秀)\n");break;

case 7:printf("C(良好)\n");break;

case 6:printf("D(及格)\n");break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:printf("E(不及格)\n");break;

default:printf("Error!\n");

}

}

例二:

#include<stdio.h>

int main()

{

char rank;

printf("请输入分数等级:(A、B、C、D、E)\n");

scanf("%c",&rank);

switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,

{

case'A':printf("A(90~100)\n");break;

case'B':printf("B(80~89)\n");break;

case'C':printf("C(70~79)\n");break;

case'D':printf("D(60~69)\n");break;

case'E':printf("E(0~59)\n");break;

default:printf("error!\n");break;

}

}

例三:

输入年月日,判断这一天是这一年的第几天。

#include<stdio.h>

int main()

{

int year,month,date,leap,days=0;

scanf("%4d%2d%2d",&year,&month,&date);

leap=(year%4==0&&year%100!=0||year%400==0);

switch(month)

{

case 12:days+=30;

case 11:days+=31;

case 10:days+=30;

case 9:days+=31;

case 8:days+=31;

case 7:days+=30;

case 6:days+=31;

case 5:days+=30;

case 4:days+=31;

case 3:days+=28+leap;

case 2:days+=31;

case 1:days+=date;break;

}

printf("%4d年%2d月%2d日是这一年的第%d天。\n",year,month,date,days);

}

希望对你有帮助。

Switch case 语句怎么使用

switch case用法详解:

1、switch是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。

2、switch是多分支选择语句。说得通俗点,多分支就是多个if。

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

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

4、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到此结束了。

关于switch语句中表达式的值必须是到此分享完毕,希望能帮助到您。

编程应用,手机编程软件app手机编程软件哪个好用 手机编程软件app