下列代码段执行后,a的值为 float x=2.4f; int a= 0; switch((int)x){ case 1:a++; case 2:a+=2; case 3:a+=3; }
举一反三
- 程序段 int x=3,a=1;switch(x) {case 4: a++;case 3: a++;case 2: a++;case 1: a++;} printf ("%d",a);的输出结果是()
- 有如下程序段: int x =1, y=1 ; int m , n; m=n=1; switch (m) { case 0 : x=x*2; case 1: { switch (n) { case 1 : x=x*2; case 2 : y=y*2;break; case 3 : x++; } } case 2 : x++;y++; case 3 : x*=2;y*=2;break; default:x++;y++; } 执行完成后,x和y 的值分别为( )。
- 以下程序的输出结果是 main() { int a=0,i; for(i=1;i < 5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); }
- 若有以下定义: float x;int a,b;则正确的switch 语句是 A: switch(x){case 1:a++;case 2:b++;} B: switch(x){case 1,2:a++;case 2:b++;} C: switch(a+b){case 1,2:a++;case 2:b++;} D: switch(a+b){case 1:a++;case 2:b++;}
- 若有定义语句int a, b;double x;则下列选项中正确的是( ). A: switch(x%2) { case 0: a++; break; case 1: b++; break; default : a++; b++; } B: switch((int)x/2.0) { case 1: b++; break; case 0: a++; break; default : a++; b++; } C: switch((int)x%2) { case 0: a++; break; case 1: b++; break; default : a++; b++; } D: switch((int)(x)%2) { case 0.0: a++; break; case 1.0: b++; break; default : a++; b++; }