c语言switchcase后
⑴ c语言switch语句的case后面有什么要求
没什么大的要求,符合C语言基本语法,每一个case后面必须跟一个break就可以了!
⑵ C语言中用switch语句的时候,为什么有些case后面没有语句
c语言中
switch语句其实每个case都会判断的,所以要用break跳出
有时候两个不同的case需要做相同的处理
例如case10 case 9都是优秀
那么 case10: 之后不写任何语句,也不写break
那么也会运行紧跟着的case 9:后面的语句,显示优秀
就应为用这样的极值,所以在正常的case情况运行完后,要记得加break
而在多个case有共同操作的时候,可以把他们写在一起中间都不用break
最后只用写一次共同操作的代码,一个break
⑶ C语言的switch语句中case后()
选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”。
(3)c语言switchcase后扩展阅读:
1、switch后面括号内的【表达式】,ANSI标准允许它为任何类型;
2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。
3、每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。
4、各个case各default的出现次序不影响执行结果。例如,可以先出现"default: ...",再出现"case 'D': ...",然后是"case 'A': ...".
5、执行完一个case后面的语句后,流程控制转移到下一个case继续执行。"case常量表达式"只是起语句标号作用,并不是在该处进行条件判断。在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
⑷ c语言switch case语句是什么
int I, k, a, b, c, d, e, f;
printf("请输入利润I: ");
scanf("%d", &I);
a = 100000 * (1/10);
b = (200000 - 100000) * 75/1000;
c = (400000 - 200000) * 5/100;
d = (600000 - 400000) * 3/100;
e = (1000000 - 600000) * 15/1000;
if(I <= 100000)
printf("奖金总数k=%d ", I/10);
else if(100000 < I && I <= 200000)
printf("奖金总数k=%d ", a + (I - 100000) * 75/1000);
else if(200000 < I && I <= 400000)
printf("奖金总数k=%d ", a + b + (I- 200000) * 5/100);
else if(400000 < I && I <= 600000)
printf("奖金总数k=%d ", a + b + c + (I- 400000) * 3/100);
else if(600000 < I && I <= 1000000)
printf("奖金总数k=%d ", a + b + c + d + (I- 600000) * 15/1000);
else
printf("奖金总数k=%d ", a + b + c + d + e + (I -1000000) * 1/100);
(4)c语言switchcase后扩展阅读:
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
⑸ C语言中的switch语句,case后面可不可以跟一表达式,例如“100>x>50”;如不可以为什么
不可以,C语言中的switch case中的case后面仅可以跟整形常量或常量表达式。
原因:如果case后面跟 100>x>50是会出现逻辑错误的。
首先C语言中像100>x>50这种表达式的意义并不和数学里的一样表示x落在(50,100)这个区间。这个在C语言中100>x会先被计算得到真或假。直接用关系运算得到的真和假在C语言中就是1或0。而1或0是始终小于50的。这就导致这个表达式的值永远为零。
常量表达式:在计算机编程语言中,若一个表达式的值不能发生改变,则称之为常量表达式,如C++中有整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量,这些常量组成的表达式即为常数表达式。其中含有字符常量的常量表达式可称为字符常量表达式。
整型常量:整型常量就是通常的整数,包括正整数、负整数和0,其数据类型显然是整型。除此之外,整型常量包括短整型、长整型和无符号型等不同类型。
(5)c语言switchcase后扩展阅读
switch语句的用法和特点:
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
Switch case 语句表达式为:
switch{case 常量1: 语句体1;case 常量2: 语句体2;case 常量3: 语句体3;case 常量4: 语句体4;....default : 语句体;}
当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。
switch ... case语句的特点:
1、把要讨论的表达式与case后面的常量进行比较,发现匹配项之后,从该位置入口,做它下面的所有语句。
2、case 后面的常量不能重复
3、可以在每一个case语句的后面加上break语句,这样就能保证只做与之相匹配的那一项。
4、break实质:在switch ...case语句里面最先遇到那一个break就从该位置结束该语句
5、可以在最后一个case的下面加上default语句表示如果找不到匹配项时,就做default对应的项。
6、default并不是一定要有,如果前面遇到break,default就不执行。如果没有遇到break,就一定会执行。
7、case后面的语句可以不执行,表示与下一个case是或的关系。
⑹ c语言switch case语句例子是什么
c语言switch case语句例子是:
#include
int main(void){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday "); break;
case 2:printf("Tuesday "); break;
case 3:printf("Wednesday "); break;
case 4:printf("Thursday "); break;
case 5:printf("Friday "); break;
case 6:printf("Saturday "); break;
case 7:printf("Sunday "); break;
default:printf("error ");
}
return 0;
}
程序解读:
本程序是要求输入一个数字,输出它对应的星期的英文单词。
注意项:
1、在case后的各常量表达式的值不能相同,否则会出现错误。
2、在case后,允许有多个语句,可以不用{}括起来。
3、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
4、default子句可以省略不写。
⑺ C语言switch case后如何执行多条命令
1、首先编写图示代码,在这个例子中会依次将i的值和每个case后面的常量进行比较,如果成立就会执行后面的语句,如果不成立就会继续进行下一条对比。
⑻ C语言中,怎样在switch case后面调用函数
#include<stdio.h>
void test1()
{
printf("test1\n");
}
void test2()
{
printf("test2\n");
}
void test3()
{
printf("test3\n");
}
void test4()
{
printf("test4\n");
}
void test5()
{
printf("test5\n");
}
int main()
{
int i = 1; //修改i的值,可以调用不同的函数
switch(i)
{
case 1:
test1();
break;
case 2:
test2();
break;
case 3:
test3();
break;
case 4:
test4();
break;
case 5:
test5();
break;
default:
break;
}
return 0;
}
⑼ c语言switch case语句例子是什么
c语言switch case语句例子如下:
case 常量表达式1:
语句1;可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围。
[break;] 中括号,表示此语句可以没有。
case 常量表达式2:
[break;]……case 常量表达式n:语句n。
[break;][default:]。
switch语句规则:
case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束。
连续的两个case语句表示,这两个case是同一种情况。