1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)
for (j=0;j<4;j++){...} A) 20 B) 25 C) 24 D) 30 A
2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
for(i=0,j=10;i<=j;i++,j--) k=i+j; A) 12 B) 10 C) 11 D) 9 B
3、当执行以下程序段时 x=-1;
do { x=x*x;} while( !x); A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误 A
4、若输入字符串:abcde,则以下while循环体将执行多少次。
while((ch=getchar())=='e') printf("*"); A) 5 B) 4 C) 6 D) 1 B
结果应该是循环体将执行0次
如果条件改成:while((ch=getchar())!='e') printf("*");循环体将执行4次
5、有以下程序段 int k=0;
while (k=1) k++;
while循环执行的次数是
A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行一次 A
6、语句while(!e);中的条件 !e 等价于( )。 A) e==0 B) e!=1 C) e!=0 D) ~e A
7、以下for循环是( )。
for(x=0,y=0;(y!=123) && (x<4);x++) A) 无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次 C
8、C语言中while 和do-while 循环的主要区别是( )。
A) do-while的循环体至少无条件执行一次
B) while 的循环控制条件比do-while 的循环控制条件严格
C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 A
9、以下叙述正确的是( )。
A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句体内使用break语句
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时,只能使用goto语句 B
10、对下面程序段,描述正确的是( )。 for(t=1;t<=100;t++) { scanf("%d",&x); if (x<0) continue; printf("%d\n",t); }
A) 当x<0时,整个循环结束 B) 当x>=0时,什么也不输出 C) printf函数永远也不执行
D) 最多允许输出100个非负整数 D
11、在下列选项中,没有构成死循环的程序段是 A) int i=100; while (1) { i=i%100+1;
if (i>100) break; }
B) for( ; ; ); C) int k=1000;
do {++k;} while (k>=1000); D) int s=36; while (s) --s; D
for(; ;) 语句 相当于 while(1) 语句