switch条件语句可以加入大于或者小于号吗? 给一个值判定一个区间
2个回答
展开全部
switch条件语句不可以加入大于或者小于号。
switch语句只能针对基本数据类型中的整型类型使用,这些类型包括int、char等。对于其他类型,则必须使用if语句。case标签必须是常量表达式(constantExpression),如42或者'4'。case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
扩展资料:
switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
展开全部
switch ( 表达式)中,表达式值只能是整型和字符类型。包括: int,char, unsigned int,short,unsigned char,枚举类型(enum) 。
实型(浮点型)数就不行,如:
float a = 0.123;
switch(a) //错误!a不是整型或字符类型变量。
{
....
}
所以switch语句不可以加入大于号或者小于号,给一个列子你就知道了
例如:输入 : 一个整数score
输出:
当 score<60 输出 D
当60<=score <70 输出 C
当70<=score <90 输出 B
当90<=score 输出 A
程序如下:
#include <stdio.h>main( )
{
int score;
scanf("%d" ,&score);
switch (score /10)
{
case 10:
case 9: printf("%d: A\n", score);break;
case 8:
case 7: printf("%d: B\n", score);break;
case 6: printf("%d: C\n"score);break;
default: printf("%d: D\n", score);
}
}
实型(浮点型)数就不行,如:
float a = 0.123;
switch(a) //错误!a不是整型或字符类型变量。
{
....
}
所以switch语句不可以加入大于号或者小于号,给一个列子你就知道了
例如:输入 : 一个整数score
输出:
当 score<60 输出 D
当60<=score <70 输出 C
当70<=score <90 输出 B
当90<=score 输出 A
程序如下:
#include <stdio.h>main( )
{
int score;
scanf("%d" ,&score);
switch (score /10)
{
case 10:
case 9: printf("%d: A\n", score);break;
case 8:
case 7: printf("%d: B\n", score);break;
case 6: printf("%d: C\n"score);break;
default: printf("%d: D\n", score);
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询