若int i=10;则执行下列程序后,变量i的值是( )。 switch(i) { case 9 :i++; case 10:i++; case 11: i++;

若int i=10;则执行下列程序后,变量i的值是( )。
switch(i) {
   case 9 :i++; case 10:i++; case 11: i++;
   default:i++;}
  A)10 B)11 C)12 D)13

是 D)13.
原因: i=10; 进入开关语句,符合 case 10: i++; i 变 11.
由于没有 break; 语句, 所以 并不跳出去,而 继续下走,遇到 case 11,
符合 case 11:i++; 进入 case 11, i 变 12.
由于没有 break; 语句, 所以 并不跳出去,而 继续下走,遇到 default:
符合 default:,进入 default:i++; i 变 13。
.到达 开关语句终了。 所以 答案是 D) 13.
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-02
第一个case值不等于10,所以会自动跳到第二个case,i=10+1=11,但此分句没有break来退出switch,所以会自动跳到第三case,正好i=11,所以此时i=11+1=12,此句也没break来跳出,继续执行下一句default,i=12+1.。。。关键是,case语句是自动顺序执行的。。。
第2个回答  2012-06-02
13
因为没有break语句,所以就一直往下顺序执行,直到最后一条语句。选D。没错的!
第3个回答  2012-06-04
D
第4个回答  2012-06-02
d

若int i=10;则执行下列程序后,变量i的值是( )。 switch(i) { case...
原因: i=10; 进入开关语句,符合 case 10: i++; i 变 11.由于没有 break; 语句, 所以 并不跳出去,而 继续下走,遇到 case 11,符合 case 11:i++; 进入 case 11, i 变 12.由于没有 break; 语句, 所以 并不跳出去,而 继续下走,遇到 default:符合 default:,进入 default:i...

若有定义:int i=10;.则执行下列程序后,变量i的正确输出结果是:
switch(i)i值为10 { case 9:i+=1;case 10:i+=1; 所以从这里开始,下面的都执行 11了 case 11:i+=1; 12了 default : i+=1;13了}

int i=10; switch(i) { case 9:i++; case 10:i++;case 11:i++; d...
是的,因为你的程序中缺少break语句,所以只有执行完default后才能跳出switch 如果是下面这样的:switch(i) { case 9:i++;case 10:i++;case 11:i++;break;default:i++;} 那么default语句不执行,结果是12

...求解题详细步骤!下列语句序列执行后,k 的值是。
然后执行K+=3 这时k=36 最后执行k\/j 即36\/18 结果为2 ,如果像下面这样每个case后都有break;那么就是楼上的答案了。int i = 10, j = 18, k = 30;switch (j - i) { case 8:k++;break;case 9:k += 2;break;case 10:k += 3;break;default:k \/= j;} ...

求教c语言中switch 语句的详细用法
switch 是一个开关语句,和case配套使用, 和if else 判断语句差不多, switch 语句是用于多分支语句进行条件判断,比如:i++;switch (i){ case 1 : P1 = 0xFE; \/\/i =1; 执行P1 = 0XFE;breK; \/\/执行完成后跳出 case 2 : P1 = 0xFD; \/\/i =2; 执行...

C语言高手,帮帮忙
然后在执行i=st%i,因为初值i=10,经过执行第一句后st=75,所以i=75%10 ,所以是5 (8) !(非) &&(且) ||(或)(9) 1,2,3 因为if的条件是a>c,那么要当a>c成立的时候,才执行后面的语句,但是初值给出了a=1,c=3,所以,不执行后面的语句,所以还是现实原来的值 (10)x=0;...

#include<stdio.h> void main() { char a='本金',b='年数',c='年利率...
18.现已定义整型变量int i=1; 执行循环语句“while(i++5);”后,i的值为( )。A)1B)5C)6D)以上三个答案均不正确19.以下程序的输出结果是( )。main(){int a=0,j;for(j=0;j4;j++){switch(j){case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;}}printf("%d\\n",a);}A)20...

int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2...
进入时,x=1,即switch(1) ,此时进入到case 1,执行a++后,a=1;由于没有break,所以继续执行下面的语句,case 2: a++; b++; 执行完之后,a=2,b=1。应该解释的比较清楚吧。

...main() { int i=5; switch(i) { case 5:i+=1; case 6:i+=2...
因为没有 break, 三句都执行。case 5:i+=1; \/\/ i变6 case 6:i+=2; \/\/ i 变8 default:i+=1; \/\/ i 变9 printf("%d", i); \/\/ 输出 9 如果有 break;case 5:i+=1;break;case 6:i+=2; default:i+=1;输出 6

...后面没有语句的,如case10: case9:printf("优秀");
switch语句其实每个case都会判断的,所以要用break跳出 有时候两个不同的case需要做相同的处理 例如case10 case 9都是优秀 那么 case10: 之后不写任何语句,也不写break 那么也会运行紧跟着的case 9:后面的语句,显示优秀 就应为用这样的极值,所以在正常的case情况运行完后,要记得加break 而在多个...

相似回答