YOKOGAWA CALCULATE语句注解switch case语句.docx
《YOKOGAWA CALCULATE语句注解switch case语句.docx》由会员分享,可在线阅读,更多相关《YOKOGAWA CALCULATE语句注解switch case语句.docx(12页珍藏版)》请在冰豆网上搜索。
YOKOGAWACALCULATE语句注解switchcase语句
switch(表达式){
case值1:
语句1
break;
case值2:
语句2
break;
...
default:
语句n
break;
}
从表达式值等于某个case语句后的值开始,它下方的所有语句都会一直运行,直到遇到一个break为止。
随后,switch语句将结束,程序从switch结束大括号之后的第一个语句继续执行,并忽略其他case。
假如任何一个case语句的值都不等于表达式的值,就运行可选标签default之下的语句。
假如表达式的值和任何一个case标签都不匹配,同时没有发现一个default标签,程序会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。
声明一点,switch语句只能比较常量,而if语句可以比较复杂的表达式
switch(/*被选择表达式*/){//
case表达式1:
语句1;break;//与表达式1相等执行语句1
case表达式2:
case表达式3:
语句2;break;//如果符合表达式2或3,执行语句2
...
default:
语句3;break;//没有符合的语句执行语句3
}
if(表达式)
{//表达式为真执行语句组
......
}
else
{否则执行语句组
......
}
switch与default,case搭配使用,表示选择,case表示选择项,如case1:
……;break;case2:
……;break;default表示除给出的case选项外其他的选项。
if与else搭配使用,分别表示如果是条件这样怎么怎么样和条件不是这样怎么怎么样
case一般和switch连用,例如:
switch(a){case1:
。
。
。
default:
}表示在a=1的情况下需要执行case1:
后面的语句,如果a的值没有找到对应的case,那么就执行default后面的语句。
if一般和else一起连用,例如:
if(a==b)。
。
。
else。
。
。
。
表示如果a和b相等的话,就执行if后面的语句,否则执行else后面的语句。
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。
所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型使用switch,这些类型包括int、char等。
对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型。
case标签必须是常量表达式(constantExpression),如42或者"42"。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
C语言switch应用例子:
例一:
#include
intmain()
{
doublescore;
printf("请输入分数:
\n");
scanf("%lf",&score);
switch((int)(score/10))//switch((int)score/10)出现严重错误
{
case10:
case9:
printf("A(最好)\n");break;
case8:
printf("B(优秀)\n");break;
case7:
printf("C(良好)\n");break;
case6:
printf("D(及格)\n");break;
case5:
case4:
case3:
case2:
case1:
case0:
printf("E(不及格)\n");break;
default:
printf("Error!
\n");
}
}
例二:
#include
intmain()
{
charrank;
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
intmain()
{
intyear,month,date,leap,days=0;
scanf("%4d%2d%2d",&year,&month,&date);
leap=(year%4==0&&year%100!
=0||year%400==0);
switch(month)
{
case12:
days+=30;
case11:
days+=31;
case10:
days+=30;
case9:
days+=31;
case8:
days+=31;
case7:
days+=30;
case6:
days+=31;
case5:
days+=30;
case4:
days+=31;
case3:
days+=28+leap;
case2:
days+=31;
case1:
days+=date;break;
}
printf("%4d年%2d月%2d日是这一年的第%d天。
\n",year,month,date,days);
}
PHPSwitch语句
如果您希望有选择地执行若干代码块之一,请使用Switch语句。
使用Switch语句可以避免冗长的if..elseif..else代码块。
语法
switch(expression)
{
caselabel1:
codetobeexecutedifexpression=label1;
break;
caselabel2:
codetobeexecutedifexpression=label2;
break;
default:
codetobeexecuted
ifexpressionisdifferent
frombothlabel1andlabel2;
}
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中case的值进行比较
如果存在匹配,则执行与case关联的代码
代码执行后,break语句阻止代码跳入下一个case中继续执行
如果没有case为真,则使用default语句[4]
switch语句注意事项
switch(exprl){
caseexpr2:
statements;
break;
caseexpr3:
statements;
break;
default:
statements;
break;
}
switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。
break语句是必须有的,它用来结束switch语句的执行。
如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值川0执行default后面的默认语句序列。
不过,default部分是可选的。
如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。
可见,一个switch语句可以代替多个if-else语句组成的分支结构,而switch语句从思路上显得更清晰。
使用switch语句时,要注意expr1必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,也不能为一个字符串。
1switch(colorNum){
2case0:
3setBackground(colo.red);
4break;
5case1:
6setBackground(color.green);
7break;
8default:
9setBackground(color.black);
10break;
11}
switch还有一个用法:
1switch(colorNum){
2case0:
3case1:
4setBackground(color.green);
5break;
6default:
7setBackground(color.black);
8break;
9}[5]