第五章 循环结构 习题与答案.doc
文本预览下载声明
第五章 循环结构
选择题
1)下面有关for循环的正确描述是( )
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体中,可以包含多条语句,但必须用花括号括起来
2)对表达式for(表达式1; ;表达式3)可理解为
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
3)以下描述中正确的是( )
A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,是先执行一次循环,再进行判断
D)do-while循环中,根据情况可以省略while
4)以下程序段的描述,正确的是( )
x=-1;
do
{x=x*x;}while(!x);
A)是死循环B)循环执行两次
C)循环执行一次D)有语法错误
5)设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf(″%d″,s);
则( )
A)运行程序段后输出0B)运行程序段后输出1
C)程序段中的控制表达式是非法的 D)程序段执行无限次
6)有如下程序
#includestdio.h
main()
{ int n=9;
while(n6){n--;printf(″%d″,n);}
}
该程序的输出结果是( )
A)987 B)876
C)8765 D)9876
7)在下列选项中,没有构成死循环的是( )
A)int i=100; B)for(;;);
while(1)
{i=i%100+1;
if(i100)break;
}
C)int k=10000; D)int s=36;
do{k++;}while(k10000); while(s)--s;
8)以下程序中循环体总的执行次数是( )
int i,j;
for(i=6;i1;i--)
for(j=0;ji;j++)
{……}
A)20B)261
C)15D)25
9)已知
int t=0;
while (t=1)
{...}
则以下叙述正确的是( )A)循环控制表达式的值为0B)循环控制表达式的值为1
C)循环控制表达式不合法D)以上说法都不对
10)以下程序的输出结果是( )
#includestdio.h
main()
{ int i,j,x=0;
for(i=0;i2;i++)
{ x++;
for(j=0;j3;j++)
{ if(j%2)continue;
x++; }
x++;
}
printf(″x=%d\n″,x);
}
A)x=4B)x=8
C)x=6D)x=12
11)下列说法正确的是( )
int i,x;
for(i=0,x=0;i=9 x!=876;i++)scanf(″%d″,x);
A)最多的执行10次B)最多执行9次
C)是无限循环D)循环体一次也不执行
12)下面程序的运行结果是( )
#include stdio.h
main()
{ int y=10;
do{y--;}while(--y);
printf(″%d\n″,y--);
}
A)-1 B)1
C)8 D)0
13)以下程序的输出结果是( )
#includestdio.h
main()
{ int a,i;a=0;
for(i=1;i5;i++)
{ switch(i)
{ case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}printf(″%d\n″,a);
}
A)31 B)13
C)10 D)20
14)下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的语句是( )
#include stdio.h
main()
{ int a,b,t;
scanf(″%d%d″,a,b);
while(______)
{ if(ab)
{t=a;a=b;b=t;}
printf(″%d%d\n″,a,b);
scanf(″%d%d″,a,b);
}
}
A)!a=b B)a!=b
C)a==b D)a=b
15)下面程序的运行结果是( )
#inc
显示全部