合法的switch语句(switch语句详解)

http://www.itjxue.com  2023-01-28 12:54  来源:未知  点击次数: 

switch语句的格式和功能

switch语句的格式为:

switch(条件)语句

其中,条件的类型可以是整数类型,枚举类型,或者类类型(但该类需要有单一的转换到整数类型或(可以是字符类型,但不能是浮点类型、字符串、指针类型等),语句部分不一定非得是一条复合语句。因此,switch("123"[2]+(int)3.1);是条合法的switch语句,switch(j)case 5:i++;也是条合法的switch语句。如果switch的语句部分是一条非复合语句,则其内定义的变量作用域,效果上等同于该条语句加上了,因此这并不会导致同一局部域下的重复定义错误。

若有定义float w; int a, b; ,则合法的switch语句是( )。(1分)

是switch(a+b);{case1:printf(“*\n”);case。2:printf(“**\n”);default:printf(“\n”);}。

每个printf(“**\n”);后要加break。

“%m。nf”:输出浮点数,m为宽度,n为小数点右边数位,这是右对齐,要左对齐:在m前加个“-”号

e。g。“%3。1f”输入3852。99,右对齐。

扩展资料:

switch后面的括号内的表达式,ANSI标准允许为任何类型。

当表达式与某一个case后面的常量表达式相等时,就执行case后面的语句,若没有匹配,则执行default后面的语句。

每一个case的常量表达式的值须互不相同,否则便会出现矛盾。

各个case和default的出现次序不影响结果。

C语言基础选择题,switch相关。详细解释?

选择D

A case分支都只能是整型常量

B b是变量,不是常量

C 同B,a-b不是常量的表达式

若有定义:float w;int a,b;,则合法的switch语句是

选C;因为switch语句中的条件只能是int,char和枚举类型中的一种。

switch语句,switch后的表达式和case后的常量表达式,可以是一个范围么?

可以是。switch后面的表达式或变量表示的是有很多种取值的量,而case后的常量值就是switch的变量可能取到的值得一种。

一般格式:

switch (表达式)

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

break;

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

break;

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

break;

default: 语句S;

扩展资料:

其中:

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

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

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

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

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

(责任编辑:IT教学网)

更多

推荐linux服务器文章