求助:C/C++中switch case的用法!

语言规定在case标号后面必须是一个常量表达式。那么如果我想要做这样一道题,90--100分输出‘A’,80--90分输出‘B’......那么我的case标号后面该怎样... 语言规定在case标号后面必须是一个常量表达式。

那么如果我想要做这样一道题,90--100分输出‘A’,80--90分输出‘B’... ...

那么我的case标号后面该怎样写表达式?比较这样有一定范围的数字不可能一一列出。而case标号又规定必须用常量,那么该怎样写呢?
展开
 我来答
寒曦的日常
2015-08-05 · TA获得超过350个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:214万
展开全部

switch语法格式如下:

switch(表达式){ 

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


示例代码:

#include <stdio.h>
int main()
{
    int a;
    printf("input integer number: ");
    scanf("%d",&a);
    switch (a)
    {
        case 1:printf("Monday\n");  break;
        case 2:printf("Tuesday\n");   break;
        case 3:printf("Wednesday\n");  break;
        case 4:printf("Thursday\n");  break;
        case 5:printf("Friday\n");  break;
        case 6:printf("Saturday\n");  break;
        case 7:printf("Sunday\n");  break;
        default:printf("error\n");
    }
    return 0;
}

在使用switch语句时应注意以下几点:

1.每个case后的语句执行完成后,都应该有break语句;否则程序会顺序执行下面的case,直到遇到第一个break时跳出。

2.在case后的各常量表达式的值不能相同,否则会出现错误。

3.在case后,允许有多个语句,可以不用{}括起来。

4.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

5.default子句可以省略不用。

lossless1009
2007-08-26 · TA获得超过150个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:133万
展开全部
把这一定范围的 条件 转换成 一个常量。

如:

int fenshu; //代表分数

int biaohao //标号

baiohao=fenshu/10;

switch(biaohao)
{
case 10 :
printf("A");
break;
case 9:
printf("A");
break;

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2007-08-26 · TA获得超过1682个赞
知道小有建树答主
回答量:2001
采纳率:0%
帮助的人:830万
展开全部
可以不用case啊

int iFenShu ;

...

if ( iFenShu >= 90 && iFenShu <= 100 )
{
//输出A
}
else if ( iFenShu >= 80 && iFenShu < 90 )
{
//输出B
}
...

如果非用case ,可以这样写

switch( iFenShu )
{
case 100:
case 99:
case 98:
...
case 90:
// 输出A
break; //省略了九个break

...

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式