在switch多分支语句中,break语句有什么作用
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
当break语句用于do-while、for、while循环语句中时,可使程序终止循环。而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
示例:在vc6.0中编译通过
#include
int main()
{
int num;
printf("\t成绩查询\n\n");
printf("请输入考生的考号:");
scanf("%d",&num);
switch(num)
{
case 1001:
printf("该考生的成绩是95\n");
break;
case 1002:
printf("该考生的成绩是90\n");
break;
case 1003:
printf("该考生的成绩是60\n");
break;
case 1004:
printf("该考生的成绩是49\n");
break;
case 1005:
printf("该考生的成绩是85\n");
break;
default:
printf("所输入的考号有误!\a\n");
break;
}
return 0;
}
注意:
1. break语句对if-else的条件语句不起作用。
2. 在多层循环中,一个break语句只向外跳一层。
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 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 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 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); }。
switch语句中,case后面的语句序列中一定要有break语句吗? 问
不一定的。
switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。
如果不在 case 的语句段最后写上 break 的话,代码将继续执行下一个 case 中的语句段,因此,break语句的添加需要根据程序的逻辑来选用,如果有需要程序执行连续执行符合条件的case中的代码,则不应该添加break而使得程序结束跳出。
扩展资料:
switch语句规则:
1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
2、switch()的参数类型不能为实型 。
3、case标签必须是常量表达式(constantExpression),如42或者'4'。
4、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
5、switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 ){
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量n:语句;break;
default :语句;break;
}
参考资料来源:百度百科-switch
转载请注明出处华阅文章网 » 在switch语句中的表达式的类型必须是