c语言switch scanf语句,c语言switch语句 谢谢·!~!~

c语言switch语句 谢谢·!~!~以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

908ebee945489d7db51a03944453605a.png

c语言switch语句 谢谢·!~!~

表示式就有由一串“数字”和“符号”组成的式子,例如1+2是表示式,12*8-1*99也是表示式。C++

的“符号”除了普通的算术运算+-*/之外还有其他的。

常量表达式就是表示式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。

如果定义变数a,那么a+2就不是常量表达式。

问题补充:请问选哪个?? case 常量表达式!

选择C,D,这两个都是正确的

a:

switch(x)

{

case 1.0:printf("*\n");

case 2.0:printf("*\n");

}

a错误,case后的表示式必须为整型或者字元型

b:

switch(x)

{

case 1,2:printf("*\n");

case 3:printf("*\n");

}

b错误,case后的表示式只能有一个,所以case 1,2:是错的

c:

switch(a+b)

{

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

case 1+2:printf("*\n");

}

对的,常量(1)是有效的,常量表达式(1+2)是有效的

d:

switch(a+b)

{

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

case 2:printf("*\n");

}

对的,常量(1),常量(2)是有效的

求助:c语言switch语句 谢谢·!~!~

d是对的

a: case后面必须是整型或者字元型,不可以为浮点型

switch(x)

{

case 1.0:printf("*\n");

case 2.0:printf("*\n");

}

b:每个case后面的判断式(常量,表示式)必须唯一

switch(x)

{

case 1,2:printf("*\n");

case 3:printf("*\n");

}

c: case后面不可以为运算式

switch(a+b)

{

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

case 1+2:printf("*\n");

}

C语言中switch语句用法(做题)!谢谢!

Float machine(float money)switch(money)

{

case (money<200) :return money;

case (money>=200&&money<500) :return (0.9*money);

case (money>=500&&money<1000) :renturn (0.8*money);

case (money>=1000) :renturn (0.75*money);

default :return 0;

}

return 0;

}

c语言switch语句题

#include

#include

main()

{

int a=21,b=8;

char key='+';

printf("Now number a=%d,b=%d \n Please enter a key(+-*/%*)\n",a,b);

while(key!='q')

{printf("\n");

scanf("%c",&key);

switch(key)

{

case '+':{printf("%d + %d=%d\n",a,b,a+b); break;}

case '-':{printf("%d - %d=%d\n",a,b,a-b); break;}

case 'x':{printf("%d X %d=%d\n",a,b,a*b); break;}

case '/':{printf("%d / %d=%d\n",a,b,a/b); break;}

case '%':{printf("%d %% %d=%d\n",a,b,a%b); break;}

case '*':{printf("%d * %d=%d\n",a,b,a*b); break;}

default: break;

}

}

system("pause");

}

java switch语句、C语言switch语句和c++switch语句的区别是啥?

在Java和C++中,switch语句表示有多种条件可供选择,在Java和C++中用法基本相同。

switch语句中的每个case,要用break,return或者throw来进行结束。

Java和C++中switch可以修饰的资料型别稍微不同:

一、Java

1. byte、char、short、int四种基本型别以及它们的包装类(需要Java5.0/1.5以上版本支援)都可以用于switch语句。

2. long、float、double、boolean四种基本型别以及它们的包装类(在Java所有版本中)都不能用于switch语句。

3. enum型别,即列举型别可以用于switch语句,但是要在Java5.0(1.5)版本以上才支援。

4. 所有型别的物件(包括String类,但在Java5.0/1.5以上版本中,该项要排除byte、char、short、int四种基本型别对应的包装类)都不能用于switch语句。

二、C++

1. char、short、int、long、bool四种基本型别都可以用于switch语句。

2. float、double都不能用于switch语句。

3. enum型别,即列举型别可以用于switch语句。

4. 所有型别的物件都不能用于switch语句。

C语言谁用switch语句帮我写个程式,谢谢!

#include

main()

{

int a,b,c,d,e;

scanf("%d %d %d",&a,&b,&c);

d=a>b? a:b;

e=d>c? d:c;

if(a>b) printf("%d %d %d",b,a,e);

else printf("%d %d %d",a,b,e);

}

用switch编写的话比较麻烦,毕竟一个问题要用合适的处理方法

如果说他的格式是这样的:举个例子

switch (x)

{case 1:

switch(y)

{

case 0:c=a++;break; 如果是1,执行

case 1:b++;break;

}

case 2: c=a++,z=b++;break;

case 3:a++,b++;

}

C语言 switch语句问题

c语言中好像是不行的,因为c语言中switch只接受整形,也就是整数或者char,在最新版的java和c#中好像是支援使用字串的

C语言switch语句变成

#include

int main()

{

int x;/*分数*/

scanf("%d",&x);

switch(x/10)

{

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

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

case 7:printf("中等\n");break;

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

default:printf("不及格\n");break;

}

return 0;

}

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;

虽然有点纠缠不清的感觉,但是希望对解决你的疑问有一定的帮助,呵呵。。。

分页:123

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值