循环结构程序设计复习题
一.选择题
以下while循环中,循环体执行的次数是:( )
k=1;
while (--k) k=10;
a) 10次 b) 无限次 c) 一次也不执行 d) 1次
有以下程序段,其中x为整型变量,以下选项中叙述正确
的是:( )
x=0;
while (!x!=0) x++;
a) 退出while循环后,x的值为0
b) 退出while循环后,x的值为1
c) while的控制表达式是非法的
d)? while循环执行无限次
3. 有以下程序段,其中n为整型变量,执行后输出结果是:( )
n=20?;
while(n--)?; printf(“%d”,n)?;
a)?2 b) 10 c) -1 d)?
4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:( )
t=1;
while (-1)
{ t--;
if(t) break;}
a) 循环一次也不执行
b) 循环执行一次
c) 循环控制表达式(-1)不合法
d)? 循环执行2次
5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:( )
x=-1;
do
{;}
while (x++);
printf(“x=%d”,x);
a) 该循环没有循环体,程序错误
b) 输出x=1
c) 输出x=0
d) ? 输出x=-1
6. 有以下程序段,其中x,y为整型变量,程序输出结果是:( )
for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;
printf(“x=%d,y=%d”,x,y);
a) x=2,y=0 b) x=1,y=0
c) x=1,y=1 d) x=0,y=0
解析:在开始时 x=0,y=0;
进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1;
然后执行 x++,y--,执行之后x=1,y=0;
再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1;
然后执行 x++,y--,执行之后x=2,y=0;
再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环
输出x=2,y=0 。
7. 有以下程序:
main()
{ int x=0,y=0;
while(x<5&&++y) y--,x++;
printf(“%d,%d”,y,x);
}
程序的输出结果是:( )
a) 0,5 b) 1,5 c) 0,4 d)
8. 有以下程序:
main()
{ int num=0;
do
{ num++?;printf(“%d\n”,num); }
while(num<=2);
}
程序的输出结果是:( )
a) 1 b) 1 c
2 2 2
3 3
4
9. 有以下程序:
main()
{ int x=3;
do
{ printf(“%d”,x-=2); }
while(!(--x));
}
程序的输出结果是:( )
a) 1 b) 3 0 c) 1 -2
10. 有以下程序:
main()
{ int y=10;
do { y--; } while(--y);
printf(“%d\n”,y--);
}
程序的输出结果是:( )
a) 1 b) -1 c) 8 d) 0
11. 有以下程序:
main()
{ int x=3,y;
do
{ y=--x;
if(?!y) printf(“x”)?;
else printf(“y”)?;
} while(x);
}
程序的输出结果是:( )
a) xyx b) yyx c) yxx d) yxy
12. 有以下程序段,此处do-while循环的结束条件是:( )
int n=0,p;
do {scanf(“%d”,&p);n++;