c语言switch语句中,如果有加break则运行到时会跳出switch语句,执行switch语句之后的语句;如果没加break则会去运行switch中后续的语句,比如运行到后续别的case中。
c语言中,switch(开关语句)常和case、break、default一起使用。当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。
如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。
扩展资料:
C语言中,break语句常见用途:
1、当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
2、当break语句用于do-while、for、while循环语句中时,可使程序终止循环。而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
参考资料来源:百度百科-switch (计算机语言关键字)
一般必须在case语句结尾添加break语句。因为一旦通过switch语句确定了入口点,所有进一步的case都会被忽略,并且除非遇到关键字break;
否则会执行满足这个case之后的其他case的语句,知道switch结束或者遇到break为止。如果在switch中省略了break语句,那么匹配的case值后的所有情况(包括default情况)都会被执行。
在这个语句中,如果direction=U。那么四个case语句都将执行。如果direction=R。将执行剩下三个语句。原因是switch语句原理是跳转到caseX位置执行剩下的语句,直到最后或者遇见break为止。因此在每一条语句最后+break即可。
示例:
privatevoidarrange(){
switch(direction){
case'U':
case'R':
case'D':
case'L':
}
扩展资料
switch语句规则:
1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
2、switch()的参数类型不能为实型。
3、case标签必须是常量表达式(constantExpression),如42或者'4'。
4、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
不加的话有个问题就是 比如 你有5个CASE 语句,当第二个case与switch条件相同时 执行完第二个case 然后会顺序把下面的所有case语句执行完,如果你想让程序只执行相应的case就在后面加上break,这样就只执行这一个然后跳出
不加break的话,选中的switch后面所有的switch语句都会被运行一次
break为跳出switch循环,而执行switch以外的语句、不加switch是不会跳出switch语句的