首先求解表达式,其计算结果若与下面某个常量表达式相等,则执行完该case,一般后面后面加上break;跳出,
若该case没有break,执行完后,后面的case会依次执行,直到碰到break,不然就会执行完所有语句。
对于你的问题,没有break,举个例子,若表达式结果为 第三个常量表达式,会执行完语句段3到语句段n+1所有语句。即(如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的所有语句段)
还有一般default后面只有一个语句段,说所有语句段不太合适。
应该是对的。
嗯你的理解是对的,break就是用来跳出的switch,如果没有break时就像你说的那样,当其中一个case符合条件是,后面的全部语句都会当做成立的条件去执行
这是一个for语句,根据for语句的形式:for(语句1;语句2;语句3){函数体;}
的执行顺序是:语句1,判断语句2是否成立(非0为真,0为假)函数体,最后是语句3,(£)再进行判断语句2,是否成立,在执行函数体,语句3
,在执行(£)知道条件不满足语句2,跳出循环;如果,语句2是非逻辑表达式,即非判断语句时,循环体内,必有满足条件的跳出语句
break,否则为死循环;
这里的
for(k=1;k+1;k++)
可以这样解释:执行循环for()语句时,初始条件
K=1;之后执行
K+1
(k=2,非0,条件为真继续执行)之后执行函数体for下面花括号{}的内容,之后在执行
K++(K自增1)
所以,明白for()语句的执行顺序就可以明白了,明白了吗?
如果所有的case都不符合,就会执行default语句,之后会跳出这一层,继续执行下一次循环。
是的。表示已经定义了MAX这个宏,而这个宏的内容为空。如果后期进行宏替换则该宏被替换为空的内容。
比如int
a=MAX-5;就替换成int
a=-5;