C语言的switch语句中case后()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言的switch语句中case后()相关的知识,希望对你有一定的参考价值。

A:只能为常量
B:只能为常量或常量表达式
C:可为常量或表达式或有确定值的变量及表达式
D:可为任何量或表达式

选B,case后面只能是整型或字符型的常量或常量表达式。

一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:

switch(表达式)
case 整型数值1: 语句 1;
case 整型数值2: 语句 2;
......
case 整型数值n: 语句 n;
default: 语句 n+1;

二、它的执行过程是:

1、首先计算“表达式”的值,假设为 m。

2、 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。

3、如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。

4、如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。

扩展资料:

1、switch后面括弧内的【表达式】,ANSI标准允许它为任何类型;

2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。

3、每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。

4、各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".

5、执行完一个case后面的语句后,流程控制转移到下一个case继续执行。"case常量表达式"只是起语句标号作用,并不是在该处进行条件判断。在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

参考资料来源:百度百科-switch



参考技术A

1、case语句可以加括号运行多行语句。switch的具体用法,首先新建一个c语言的文件,写入基本的结构,引入头文件,新建main主函数,主函数中设置一个变量用来接收用户输出:

2、接着用swith语句制作多重选择,当输入的数满足条件是就输出打印结果,并用break终止程序。最后的default是都不满足条件时,执行的条件:

3、最后按下快捷键Crtl+S编译运行程序,输入一个数字就会打印出相应的语句:

参考技术B switch语句的语法如下(case、default和break是其配套关键字):
switch ( 表达式)

  case 常量表达式1:
语句1; 可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围
[break;] 中括号,表示此语句可以没有
  case 常量表达式2:
语句2;
[break;]
……
  case 常量表达式n:
语句n;
[break;]
  [default:]
语句n+1;
[break;]
说明:
break
表示退出

case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式)
后面没有分号(;)
前后没有分号(;)
default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句
switch语句规则:
case标签必须是常量表达式(constant
expression)
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束
连续的两个case语句表示,这两个case是同一种情况
参考技术C B:只能为常量或常量表达式本回答被提问者采纳 参考技术D 是B

c语言中case是啥意思

case是用于开关语句中的关键字。开关语句,又称switch语句,由关键字switch搭配若干个case及可能存在的default语句,共同组建成的一种分支结构语句。

拓展资料:

default语句可以省略。在switch语句中,如果执行到break;语句,而break语句不在任何循环体内,那么会跳出switch语句。

一键还原类软件的备份文件。使用Ghost Explorer软件打开,可以查看该文件的内容。此文件不可删除!删除了以后就无法恢复系统了。

先干掉备份文件,在c_pan.gho文件上右键,按住"Shift"键点删除就可以了,然后用Windows优化大师清理临时文件和注册表,清理完成后重新启动即可;如果备份文件删除麻烦,可用优化大师自行搜索可卸载的信息,卸载后如上清理即可。

参考技术A case是用于开关语句中的关键字。
开关语句,又称switch语句,由关键字switch搭配若干个case及可能存在的default语句,共同组建成的一种分支结构语句。其一般形式为
switch(表达式)

case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;

其功能为判断表达式的值,然后跳转到与表达式值相同的常量表达式n对应的case上去执行。
其中,表达式必须为整型,case后的表达式必须为常量。

default语句可以省略。
在switch语句中,如果执行到break;语句,而break语句不在任何循环体内,那么会跳出switch语句。
参考技术B

case 是开关语句的一个组成部分。

用法:

case 下面必须是整型常数。

冒号和break;之间是满足这个case时要执行的语句。

例如:

switch (整型表达式)

case 1: printf("case 1\\n"); break;

case 2: case 5: printf("case 2 or 5\\n"); break;
...

default: ...break;

当整型表达式得1,打印字符串 "case 1"

当整型表达式得2或5,打印字符串 "case 2 or 5"

扩展资料:

c语言case的使用注意问题

#include <stdio.h>

int main()

int i;

printf ("input somenum");

scanf ("%d" , &i);

switch (i)

//case (0.1+0.9)://这样是不行的case后面必须是一个整数

//      printf ("this is 1\\n");

//      break;

case -1://这样是可以的,,,可以看出case后面应是一个有符号的整数

printf ("this is -1\\n");

break;

case 'a'://这是可行的,,,后面跟字符是可以的

printf ("this is a\\n");

break;

case 2:

printf ("this is 2\\n");

break;

case 3:

printf ("this is 3\\n");

break;

case 4:

printf ("this is 4\\n");

break;

default :

printf ("this is not 1234\\n");

break;

//getchar();

//getchar();

setbuf(stdin,NULL);

char j;

scanf ("%c", &j);

switch (j)

case 'a':

printf ("this is a\\n");

break;

default:

printf ("this is default\\n");

break;

/*      getchar();

getchar();

char k;

scanf ("%c", &k);

switch (k)

case "a":这里是错误的也就是说case后面只能跟整形和与整形通用的字符型并且只能是字符而不能是字符串

printf ("this is a\\n");

break;

default:

printf ("this is default\\

参考技术C 是程序的入口,一般结合switch使用 举个例子: int a=2; switch(a) case 1:prinf("1");break; case 2:prinf("2");break; default:prinf("3"); 就表示根据a的值进行判断,a的值与 case后面的哪个值相等,就执行哪个case 后面的语句,本题中a=1,就执行printf("1")这句,break表示执行完语句后跳出,不再往下执行。而default表示除了1,2之外的任何值。 参考技术D case 是开关语句的一个组成部分。
case 下面必须是整型常数.
冒号和break;之间是满足这个case时要执行的语句。

switch (整型表达式)

case 1: printf("case 1\n"); break;
case 2: case 5: printf("case 2 or 5\n"); break;
...
default: ...break;


上例,
当整型表达式得1,打印字符串 "case 1"
当整型表达式得2或5,打印字符串 "case 2 or 5"

以上是关于C语言的switch语句中case后()的主要内容,如果未能解决你的问题,请参考以下文章

C语言 回滚技术 switch case

switch的用法

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

case语言怎么用

switch...case语句嵌套问题

switch语句与for语句的区别,能举例说明吗?谢啦!