当前位置:首页 » 编程语言 » c语言case语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言case语句

发布时间: 2022-01-24 11:52:03

❶ 请教CASE语句在c语言中的用法

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

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

其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

void main(){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a){
case 1:printf("Monday\n");
case 2:printf("Tuesday\n");
case 3:printf("Wednesday\n");
case 4:printf("Thursday\n");
case 5:printf("Friday\n");
case 6:printf("Saturday\n");
case 7:printf("Sunday\n");
default:printf("error\n");
}
}

本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况, C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。

❷ c语言switch case语句是什么

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”。

遵守switch语句规则

任何switch语句都必须遵循以下规则:

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

2、switch()的参数类型不能为实型 。

3、case标签必须是常量表达式(constantExpression),如42或者'4'。

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

❸ C语言中switch case语句的问题

switch(int(I/100000))
{
case0:
printf("奖金总数k=%d ",a);
break;
case1:
printf("奖金总数k=%d ",a+b);
break;
case2:
case3:
printf("奖金总数k=%d ",a+b+c);
break;
case4:
case5:
printf("奖金总数k=%d ",a+b+c+d);
break;
case6:
case7:
case8:
case9:
printf("奖金总数k=%d ",a+b+c+d+e);
break;
default:
printf("奖金总数k=%d ",a+b+c+d+e+f);
break;
}

❹ 讨论C语言中的switch-case语句。

a=+1改为a+=1,所有的同理

❺ C语言中case和when的用法

C语言中没有when,与case搭配使用的是switch。switch......case是C语言中一种选择匹配命令。


下面通过具体的实例来说明其用法:

inta=2,b;
switch(a)
{
case0://如果a=0,执行该case中的语句
{
b=a;
break;
}

case1://如果a=1,执行该case中的语句
{
b=a+1;
break;
}
case2://如果a=2,执行该case中的语句
{
b=a+2;
break;
}
default://如果a与上面所以case后面的值都不相等,执行default中的语句
b=0;
}

❻ C语言中关于case语句

1.定义就免了
2.程序要求从键盘输入一字符,当输入的字符不为回车时始终执行do...while循环,当输入的字符为case中的任意一个时,执行那两条自加语句,当不为case所标识的字符时,只执行第二句,因为没有 break
3.最后回车结束得出结果 v0=13,v1=4,v2=12

❼ C语言中switch case用法

while,for都是循环语句。。
switch,case则是条件语句,相当于if-elseif-else语句

for语句:
int
s=0;
for(int
i=1;i<=10;i++)
s+=i;
//
从1加到10的和

switch语句:
switch
(x)
{

case
1:
a=b;break;
case
2:
a=c;break;
}

❽ C语言:switch语句用法

case
(c>=90
&&
c<=100):
case后面的必须是一个常量。
你这个可以先将成绩除以10,再用switch
#include
"stdio.h"
void
main()
{
char
c;
/*这里别用char,改成:int
c,d;*/
scanf("%c",&c);
/*这一句也改成scanf("%d",&c);最好前面再加一句,printf("请输入成绩:");
在这句后面加一句d=c/10;*/
switch(c)
/*然后switch里面用d来判断,switch(d)*/
{
case
(c>=90
&&
c<=100):printf("成绩的等级为:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成绩的等级为:A.\n");break;
case
(c>=80
&&
c<=89):printf("成绩的等级为:B.\n");
break;
/*改成:case
(8):printf("成绩的等级为:B.\n");
break;
}
}
因为90到100之间的数经过除以10再取整以后就变成了9;100/10等于10,又因为case调用同一个语句的时候允许就在最后一个语句写上那个语句,而将前面的那几个省略掉,所以case
(10):后面的就省掉了,当然写上也不会错。
你的补充的那个,你可以把它分开表示,就像我给你弄的那个case
(c>=90
&&
c<=100):printf("成绩的等级为:A.\n");
break;
/*改成:
case
(10):
case
(9):printf("成绩的等级为:A.\n");break;
虽然有点纠缠不清的感觉,但是希望对解决你的疑问有一定的帮助,呵呵。。。

❾ c语言中while 、for、switch、case的用法

while,for都是循环语句。。switch,case则是条件语句,相当于if-elseif-else语句 for语句:int
s=0;
for(int
i=1;i<=10;i++)
s+=i;
//
从1加到10的和 switch语句:switch
(x){
case
1:
a=b;break;
case
2:
a=c;break;
}

❿ c语言中case的意思和用法

c语言中case是和switch一起使用的,构成switch—case语句,进行判断选择,case是用来表示选择结构的。

switch语句的一般形式为:

switch(表达式){

case 常量表达式1: 语句1;

case 常量表达式2: 语句2;

case 常量表达式n: 语句n;

default: 语句n+1;}


其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

(10)c语言case语句扩展阅读

任何switch语句都必须遵循以下规则:

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

2、switch()的参数类型不能为实型 。

3、case标签必须是常量表达式(constantExpression),如42或者"42"。

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