有以下程序段:
#include <stdio.h>
int i, n;
for( i=0; i<8; i++ )
{ n = rand() % 5;
switch (n)
{ case 1:
case 3: printf("%d \n", n); break;
case 2:
case 4: printf("%d \n", n); continue;
case 0: exit(0);
}
printf("%d \n",n);
}
以下关于程序段执行情况的叙述,正确的是( )。
A) for循环语句固定执行8次
B) 当产生的随机数n为4时结束循环操作
C) 当产生的随机数n为1和2时不做任何操作
D) 当产生的随机数n为0时结束程序运行
参考答案:D
【解析】case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说break是结束整个循环体,而continue是结束单次循环。B)选项中当产生的随机数n为4时要执行打印操作。【C选项的解释看不懂】C)选项中当产生的随机数为1和2时分别执行case3与case4后面语句的内容。由于存在break语句所以for循环不是固定执行8次,执行次数与产生的随机数n有关系。
吃鸡游戏
潇湘沐
catspeake
森栏
随时随地看视频慕课网APP
相关分类