switch case语句中必须得有default语句么
1个回答
展开全部
switch case语句中必须得有default语句么 不是必须的。 switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程式;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓。
在java中switch结构中必须有default语句吗
【不是必须的,但是建议加上】
switch()是实现多分枝选择的语句,一般和case搭配使用。
switch结构中的default子句可以省略不写,此时,当switch(表示式)里面表示式的值与所有值不同时,就自动退出switch语句,继续执行后面的语句。
但是,为了保证程式的规范化和健壮性一般都加上default子句,毕竟就那一句话,还能让你更易读懂自己的程式。
在verilog中case语句中没有default可以吗?
组合逻辑的case最好要有default,因为如果你的case不全,就会产生锁存器。及时你的case都包含全了,但是还是建议加上default,因为万一你哪天该程式码,把某个case给去掉了,就会产生隐含的latch。所以,最好加上default。
对组合逻辑来讲,case的default和if...else是需要特别注意要有default和else的。
对时序逻辑来讲,如果预设情况是什么都不做的话,default和else是可以不要的。要跟不要没有什么区别。
always @(a or b or c)的这种块是组合逻辑。
always @(posedge clk )的这种块是时序逻辑。
assign语句是组合逻辑。
C语言switch语句必须包含default分支吗
不一定需要。default语句是为了处理switch开关变数不再所列出的case标签中时的情况。
假如,你的switch选择变数在进入switch之前就做了检查处理,或者你根本不在乎意外情况的出现,那么,default就不需要了。
但是,作为统一约定和程式码的安全,建议都加上default语句。
还有一点是:default语句后不需要加上break语句,但是一般都会加上。
养成好的编码习惯很重要。
不!但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。 例如,下述switch语句完全合法: default: printf ("Unknown response : %d\n", char_code);break 此外,default分支能给逻辑检查带来很多方便。例如,如果用switch语句来处理数目固定的条件,而且认为这些条件之外的值都属于逻辑错误,那么可以加入一个default分支来辨识逻辑错误。 请看下列:
不!但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。
例如,下述switch语句完全合法:
switch (char_code){ case tyt: case 'y': printf ( " You answered YES ! \n" ) break case 'N': case 'n': printf ("You answered NO!\n"); break}
但是,如果一个未知字元被传递给这条switch语句,会出现什么情况呢?这时,程式将没有任何输出。因此,最好还是加入一个default分支,以处理这种情况:
......default: printf ("Unknown response : %d\n", char_code); break......
此外,default分支能给逻辑检查带来很多方便。例如,如果用switch语句来处理数目固定的条件,而且认为这些条件之外的值都属于逻辑错误,那么可以加入一个default分支来辨识逻辑错误。
请看下列:
void move_cursor (int direction){ switch (direction) { case UP: cursor_up() break case DOWN: cursor_down() break case LEFT: cursor_left () break case RIGHT: cursor_ right ( ) break default: printf ("Logic error on line number %ld!!! \n", __ LINE__ ) break }}
由于每个case语句的代号都是常量,因此,如果你输入的数或字元在case语句中有的话,那么没问题。如果你输入了所有case语句中条件判断所不包含的数或字元,那么,就不知道会出现什么问题。
因此,虽然default语句不是必须的(不带default语句,一样能编译通过),但是,程式的完整性存在问题,一旦条件不满足,不知道会出现什么错误。
其实就像人的思维,闭合的思维是最完整有效的,你非得开一个口子,那别人也没办法,除了嘲笑一下完事,还能做什么呢。
switch default 语句必执行吗
先执行case,当所有的case都判断完不符合条件的时候,才会执行default,无论你的default放在哪,第一行,最后,或者中间位置。 default是预设预设的意思,default在switch语句中不管放在哪都是从第一个case开始执行,当所有的case都不满足条件时
switch case语句default 后面可以没有break吗
switch起到的作用类似于跳转,满足switch的条件会跳转到对应的case下执行程式码。
如果不加break,程式码会从那开始执行,一直执行到最后,所以不符合case的语句也会被执行。
一个标准的switch、case写法如下:
switch(conditions)
{
case ...:
doSomething();
break;
case ...:
doAnotherThing();
break;
default:
defaultThing();
}
在java中switch结构中必须有default语句吗
【不是必须的,但是建议加上】
switch()是实现多分枝选择的语句,一般和case搭配使用。
switch结构中的default子句可以省略不写,此时,当switch(表示式)里面表示式的值与所有值不同时,就自动退出switch语句,继续执行后面的语句。
但是,为了保证程式的规范化和健壮性一般都加上default子句,毕竟就那一句话,还能让你更易读懂自己的程式。
在verilog中case语句中没有default可以吗?
组合逻辑的case最好要有default,因为如果你的case不全,就会产生锁存器。及时你的case都包含全了,但是还是建议加上default,因为万一你哪天该程式码,把某个case给去掉了,就会产生隐含的latch。所以,最好加上default。
对组合逻辑来讲,case的default和if...else是需要特别注意要有default和else的。
对时序逻辑来讲,如果预设情况是什么都不做的话,default和else是可以不要的。要跟不要没有什么区别。
always @(a or b or c)的这种块是组合逻辑。
always @(posedge clk )的这种块是时序逻辑。
assign语句是组合逻辑。
C语言switch语句必须包含default分支吗
不一定需要。default语句是为了处理switch开关变数不再所列出的case标签中时的情况。
假如,你的switch选择变数在进入switch之前就做了检查处理,或者你根本不在乎意外情况的出现,那么,default就不需要了。
但是,作为统一约定和程式码的安全,建议都加上default语句。
还有一点是:default语句后不需要加上break语句,但是一般都会加上。
养成好的编码习惯很重要。
不!但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。 例如,下述switch语句完全合法: default: printf ("Unknown response : %d\n", char_code);break 此外,default分支能给逻辑检查带来很多方便。例如,如果用switch语句来处理数目固定的条件,而且认为这些条件之外的值都属于逻辑错误,那么可以加入一个default分支来辨识逻辑错误。 请看下列:
不!但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。
例如,下述switch语句完全合法:
switch (char_code){ case tyt: case 'y': printf ( " You answered YES ! \n" ) break case 'N': case 'n': printf ("You answered NO!\n"); break}
但是,如果一个未知字元被传递给这条switch语句,会出现什么情况呢?这时,程式将没有任何输出。因此,最好还是加入一个default分支,以处理这种情况:
......default: printf ("Unknown response : %d\n", char_code); break......
此外,default分支能给逻辑检查带来很多方便。例如,如果用switch语句来处理数目固定的条件,而且认为这些条件之外的值都属于逻辑错误,那么可以加入一个default分支来辨识逻辑错误。
请看下列:
void move_cursor (int direction){ switch (direction) { case UP: cursor_up() break case DOWN: cursor_down() break case LEFT: cursor_left () break case RIGHT: cursor_ right ( ) break default: printf ("Logic error on line number %ld!!! \n", __ LINE__ ) break }}
由于每个case语句的代号都是常量,因此,如果你输入的数或字元在case语句中有的话,那么没问题。如果你输入了所有case语句中条件判断所不包含的数或字元,那么,就不知道会出现什么问题。
因此,虽然default语句不是必须的(不带default语句,一样能编译通过),但是,程式的完整性存在问题,一旦条件不满足,不知道会出现什么错误。
其实就像人的思维,闭合的思维是最完整有效的,你非得开一个口子,那别人也没办法,除了嘲笑一下完事,还能做什么呢。
switch default 语句必执行吗
先执行case,当所有的case都判断完不符合条件的时候,才会执行default,无论你的default放在哪,第一行,最后,或者中间位置。 default是预设预设的意思,default在switch语句中不管放在哪都是从第一个case开始执行,当所有的case都不满足条件时
switch case语句default 后面可以没有break吗
switch起到的作用类似于跳转,满足switch的条件会跳转到对应的case下执行程式码。
如果不加break,程式码会从那开始执行,一直执行到最后,所以不符合case的语句也会被执行。
一个标准的switch、case写法如下:
switch(conditions)
{
case ...:
doSomething();
break;
case ...:
doAnotherThing();
break;
default:
defaultThing();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询