第6章 循环程序设计
一、单选题
1.以下关于循环的描述中,错误的是:( )。
A.可以用for语句实现的循环一定可以用while语句实现
B.可以用while语句实现的循环一定可以用for语句实现
C.可以用do...while语句实现的循环一定可以用while语句实现
D.do...while语句与while语句的区别仅仅是关键字while的位置不同
( 知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
( 知识点:循环的基本概念; 难度系数:1; 答案:B )
3.以下关于循环体的描述中,错误的是:( )。
A.循环体中可以出现break语句
B.循环体中可以出现continue语句
C.循环体中不能出现switch语句
D.循环体中还可以出现循环语句
( 知识点:循环的基本概念; 难度系数:1; 答案:C )
4.在while(x)语句中的x与下面条件表达式等价的是:( )。
A.x==0 B.x==1 C.x!=l D.x!=0
( 知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0 B.1 C.真 D.非0
( 知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;
while循环执行的次数是:( )。
A.无限次 B.有语法错,不能执行
C.一次也不执行 D.执行一次
( 知识点:while语句; 难度系数:1; 答案:A )
7.有以下程序段:
int x=0;
while(x=1)
{……}
则以下叙述中正确的是:( )。
A.循环控制表达式的值为0 B.循环控制表达式的值为1
C.循环控制表达式不合法 D.以上说法都不正确
( 知识点:while语句; 难度系数:1; 答案:B )
8.下述语句执行后,变量k的值是:( )。
int k=0;
while(k++<2);
printf("%d",k);
A.2 B.3 C.01 D.12
( 知识点:while语句; 难度系数:2; 答案:B )
9.以下叙述正确的是:( )。
A.do...while语句构成的循环不能用其他语句构成的循环代替
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
( 知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
A.do...while的循环体至少无条件执行一次
B.while的循环控制条件比do...while的循环控制条件严格
C.do...while允许从外部转到循环体内
D.do...whilewhile语句怎么退出的循环体不能是复合语句
( 知识点:do...while语句; 难度系数:1; 答案:A )
11.该程序段的输出结果是:( )。
main()
{
int n=9;
do
{
n--;
printf("%d",n);
}while(n>6);
}
A.987 B.876 C.8765 D.9876
( 知识点:do...while语句; 难度系数:1; 答案:B )
12.有以下程序段:
int i=0,s=0;
do
{
s=++i;
}while(i!=0);
printf("%d",s);
则以下说法正确的是:( )。
A.程序段执行无限次 B.程序段中的do...while表达式不合法
C.程序段运行后输出0 D.程序段运行后输出1
( 知识点:do...while语句; 难度系数:1; 答案:A )
13.有以下程序段:
int x=-1;
do
{
x=x*x;
}while(!x);
则以下说法正确的是:( )。
A.是无限循环 B.循环执行两次
C.循环执行一次 D.循环条件不合法
( 知识点:do...while语句; 难度系数:1; 答案:C )
14.下面有关for循环的正确描述是:( )。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
( 知识点:for语句; 难度系数:1; 答案:D )
15.对于for(表达式1;;表达式3)可理解为:( )。
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
( 知识点:for语句; 难度系数:1; 答案:B )
16.以下循环体的执行次数是:( )。
main()
{
int i,j;
for(i=0,j=1;i<=j+1;i++,j--)
printf("%d\n",i);
}
A.3 B.2 C.1 D.0
( 知识点:for语句; 难度系数:1; 答案:B )
17.以下for语句运行时循环次数是:( )。
for(i=0,j=0; (j!=10)&&(i<5); i++);
A.无限次 B.4次 C.5次 D.6次
( 知识点:for语句; 难度系数:1; 答案:C )
18.下述语句执行后,变量i的值是:( )。
int i;
for(i=1;i++<3;);
printf("%d",i);
A.1 B.2 C.3 D.4
( 知识点:for语句; 难度系数:2; 答案:D )
19.以下程序段中,内重循环总的执行次数是:( )。
int i,j;
for(i=5;i>0;i--)
for(j=0;j<4;j++)
{……}
A.20次 B.24次 C.25次 D.30次
( 知识点:循环的嵌套; 难度系数:1; 答案:A )
20.以下程序段的输出结果是:( )。
main()
{
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)
m++;
printf("%d\n",m);
}
A.12 B.15 C.20 D.25
( 知识点:循环的嵌套; 难度系数:1; 答案:C )
21.下面程序的输出结果是:( )。
main()
{
int k,j,m;
for(k=5;k>=1;k--)
{
m=0;
for(j=k;j<=5;j++)
m=m+k*j;
}
printf(“%d\n”,m);
}
A.124 B.25 C.36 D.15
( 知识点:循环的嵌套; 难度系数:1; 答案:D )
22.下面程序的输出结果是:( )。
main()
{
int k=0,m=0;
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m=%d",k,m);
}
A.k=0,m=3 B.k=0,m=5 C.k=1,m=3 D.k=1,m=5
( 知识点:循环的嵌套; 难度系数:1; 答案:B )
23.下面程序的输出结果是:( )。
main()
{
int i,b,k=0;
for(i=1;i<=5;i++)
{
b=i%2;
while(b--==0)
k++;
}
printf("%d,%d",k,b);
}
A.3,1 B.3,0 C.2,1 D.2,0
( 知识点:循环的嵌套; 难度系数:1; 答案:D )
24.C语言中while与do...while语句的主要区别是:( )。
A.do...while的循环体至少无条件执行一次
B.do...while允许从外部跳到循环体内
C.while的循环体至少无条件执行一次
D.while的循环控制条件比do...while的严格
( 知识点:几种循环的比较; 难度系数:1; 答案:A )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论