switch语句判断范围 switch语句判断条件
这篇文章给大家聊聊关于switch语句判断范围,以及switch语句判断条件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
C语言中的Switch-case语句
Switch语句可以理解为if-else语句的另一种表现形式。 break的作用是跳出Switch,如果不跳出则继续向下执行,直到遇到break或执行到结束为止。
Switch case语句表达式为:
switch{case常量1:语句体1;case常量2:语句体2;case常量3:语句体3;case常量4:语句体4;....default:语句体;}
扩展资料:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
C语言程序语句
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch(变量表达式)
{
case常量1:语句;break;
case常量2:语句;break;
case常量3:语句;break;
...
case常量n:语句;break;
default:语句;break;
}
参考资料:
百度百科-switch(计算机语言关键字)
C语言中switch和if的适用方面有什么区别
switch语句,可读性更好,整体流程看起来清晰明确。
if语句适应性更强,可以处理更多的情况。
所有的switch语句都可以写成if的形式,比如
switch(a)
{
case b:
break;
case c:
break;
default:
break;
}
可以写作
if(a==b)//case b
{
}
else if(a==c)// case c
{
}
else//default.
{
}
但是switch语句,仅能够处理整型数值,即switch()括号中的判断的值,必须是整型的,而且每个case后面跟的值,也必须是整型的。
另外,对于大规模的连续数值,比如if(a>=1&& a<=100)这样的语句,要用switch则需要连续写100个case,这种情况下,switch语句也是不适用的。
总体来说,对于散列的整型数据,用switch语句更清晰明确,而对于其它情况,if语句则更好。
求教c语言中switch 语句的详细用法
C语言程序语句switch:
switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
switch语句的语法如下(switch,case和default是关键字):
switch( controllingExpression)
{
case constantExpression1:
case constantExpression2:
case constantExpression3:
statements;//当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
break;
case constantExpression:
statements;
break;
...
default:
statements;
break;
}
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
case标签必须是常量表达式(constantExpression),如42或者"42"。如果需要在运行时计算case标签的值,必须使用if语句。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
C语言switch应用例子:
例一:
#include<stdio.h>
int main()
{
double score;
printf("请输入分数:\n");
scanf("%lf",&score);
switch((int)(score/10))//如果写成witch((int)score/10)会出现严重错误
{
case 10:
case 9:printf("A(最好)\n");break;
case 8:printf("B(优秀)\n");break;
case 7:printf("C(良好)\n");break;
case 6:printf("D(及格)\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("E(不及格)\n");break;
default:printf("Error!\n");
}
}
例二:
#include<stdio.h>
int main()
{
char rank;
printf("请输入分数等级:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
{
case'A':printf("A(90~100)\n");break;
case'B':printf("B(80~89)\n");break;
case'C':printf("C(70~79)\n");break;
case'D':printf("D(60~69)\n");break;
case'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}
例三:
输入年月日,判断这一天是这一年的第几天。
#include<stdio.h>
int main()
{
int year,month,date,leap,days=0;
scanf("%4d%2d%2d",&year,&month,&date);
leap=(year%4==0&&year%100!=0||year%400==0);
switch(month)
{
case 12:days+=30;
case 11:days+=31;
case 10:days+=30;
case 9:days+=31;
case 8:days+=31;
case 7:days+=30;
case 6:days+=31;
case 5:days+=30;
case 4:days+=31;
case 3:days+=28+leap;
case 2:days+=31;
case 1:days+=date;break;
}
printf("%4d年%2d月%2d日是这一年的第%d天。\n",year,month,date,days);
}
希望对你有帮助。
好了,文章到此结束,希望可以帮助到大家。