在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()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)