关于switch语句的流程,请大神,老师详细叙述下switch(表达式){case 常量表达式1: case 常量表达式2: case 常量表达式3: 语句序列1;case 常量表达式4: 语句序列2;case 常量表达式5: 语句序列3;break;default:

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 23:26:21
关于switch语句的流程,请大神,老师详细叙述下switch(表达式){case常量表达式1:case常量表达式2:case常量表达式3:语句序列1;case常量表达式4:语句序列2;case常量表

关于switch语句的流程,请大神,老师详细叙述下switch(表达式){case 常量表达式1: case 常量表达式2: case 常量表达式3: 语句序列1;case 常量表达式4: 语句序列2;case 常量表达式5: 语句序列3;break;default:
关于switch语句的流程,请大神,老师详细叙述下
switch(表达式)
{
case 常量表达式1:
case 常量表达式2:
case 常量表达式3: 语句序列1;
case 常量表达式4: 语句序列2;
case 常量表达式5: 语句序列3;
break;
default: 语句序列n+1
}
先阐述学生的理解和疑问: 第一项的switch(表达式)表达式可以是一个变量常量或者是一段符合C语言的公式,有了这个就可以判断对应这个“表达式”下面的值,是否符合自己要判断的. switch下面的大括号就不用学生表达了.case 常量表达式1和case 常量表达式2,为空,只有case 常量表达式3为语句序列1,书本的描述是: 如果switch表达式的多个值需要仔细相同的语句,可以用下面的语句格式,也就是case 常量表达式1到case 常量表达式3,我的理解是判断case 常量表达式1成立时,执行语句序列1,case 常量表达式2成立时,执行语句序列1,case 常量表达式3成立时,也执行语句序列1,学生第一个疑问产生了:如果说case 常量表达式1成立执行语句序列1,执行完后是跳case 常量表达式4,还是说跳到case 常量表达式2,依次继续判断?
break这个我知道,但执行到这个就跳出switch语句
defaultt 这个不是很了解,书面描述是就是当case都不满足时,程序会执行default中的语句,如果把case 常量表达式5 下面的break给default这后面,公式的意思应该是上面的case都不成立时执行default后面的语句,既然是break就是跳出了.这时第二个疑问产生了:default后面的语句序列n+1是什么意思 ,执行上面的语句序列,这个+1是什么意思呢?

关于switch语句的流程,请大神,老师详细叙述下switch(表达式){case 常量表达式1: case 常量表达式2: case 常量表达式3: 语句序列1;case 常量表达式4: 语句序列2;case 常量表达式5: 语句序列3;break;default:
问题太多,难得打字一一回应,我直接告诉你switch 语句的工作原理,你的问题就不会有了.
对switch语句来说,你可以先不考虑case,最终的代码其实是从上到下顺序执行的.
像你的,代码其实是 :
语句序列1;
语句序列2;
语句序列3;
break;
语句序列n+1;
所以,你马上可以知道,如果没有break会发生什么了,就是下面的代码会一直执行到末尾.
那么case 里面的条件怎么体现?其实在编译时,编译器会建立一个映射关系,它会通过swicth 表达式的结果,来查找一个内部维护的由结果到代码的映射关系.比如目前的情况,如switch的值为常量表达式4,那么结果是,直接goto 到 语句序列2; 的开始处.
所以switch case 其实就是在前面编译器生成代码来判断要跳转到哪里执行而已.那么default 也很好理解了,如果查找不到合适的匹配,就goto到 Default 的代码处呗.
整个过程就是这样,这很清楚了吧?

关于switch语句的流程,请大神,老师详细叙述下switch(表达式){case 常量表达式1: case 常量表达式2: case 常量表达式3: 语句序列1;case 常量表达式4: 语句序列2;case 常量表达式5: 语句序列3;break;default: 13.下列关于switch语句和break语句的结论中,正确的是(C ).A.break语句是switch语句中的一部分 B.在switch语句中必须使用break语句C.在switch语句中可以根据需要使用或不使用break语句 D.switch语句是bre 、以下关于switch语句和break语句的描述中正确的是____A、在switch语句中必须使用break语句B、break语句只能用于switch语句体中C、break语句只能用于循环语句中D、在switch语句中使用break语句 关于辩论赛的流程和描写辩手的好语句 关于赞美老师的语句 switch-case语句的流程图 怎么画 switch语句的作用,功能,及含义 在switch语句中continue的含义 C语言初学者求助,一个程序设计题,大神看看我编的程序是否有错误.若a的值小于100,请将以下选择结构写成由switch语句构成的选择结构.if(a switch语句后面的case语句能用表达式吗 switch语句与for语句的区别,能举例说明吗? 写出switch语句的语法结构switch语句的语法结构, 关于谢谢老师的英文语句 if else语句的标准流程是什么? 如果for循环下的循环体是switch语句,switch下面的break能否出循 关于matlab的switch语句,请帮我找找错误price = input('input price');switch fix(price/100) case [0, 1] rate = 0; case [2, 3, 4] rate = 0.03; case [5, 6, 7, 8, 9] rate = 0.05; otherwise rate = 0.1;end 用switch语句实现下面图中函数的作用. VB中Switch()和Choose()语句使用的多吗?