C语言循环习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环习题集锦
一.选择题
1.for(i=0;i<10;i++); 结束后,i 的值是;( 10)
A 9
B 10
C 11
D 12 2.下面程序的循环次数是:( D)
int k=0;
while(k<10)
{if(k<1) continue;
if(k==5) break;
k++;
}
A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是( 10) main()
{
int s,k;
for(s=1,k=2;k<5;k++)
s+=k;
printf( “n%”d,s);
}
A 1
B 9
C 10
D 15
4. 要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)
for(i=0;i<= ___ ;)
Pri ntf( “%d,i+=2);
A 9
B 10
C 18
D 20
5. 运行下面程序:(B)
mai n()
{ int i=10,j=0;
do
{ j=j+i;
i--;
}while(i>5);
Printf( αr%d,j);
}
输出结果是:
A 45
B 40
C 34 D
55 6. 运行下面程序
#i rclude “ stdio.h ”
mai r()
{ int k=0,a=1;
while(k<10)
{
for(;;)
{ if((k%10)==0)
break;
else
k--;
}
k+=11;
a+=k;
}
printf( “ %dn%”d,k,a);
}
则输出的结果是( C)
A 21 32
B 21 33
C 11 12
D 10 11 7.以下叙述正确的是:( D)
A .do---while 语句构成的循环不能用其他语句构成的循环来代替。B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。
D .用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:
main()
{ int x=3;
do{
printf(“ %-d-”); ,x
}while(!x);
} 该程序的执行结果是:(C)
A 3 2 1
B 2 1 0
C 3
D 2
9.若k 为整型变量,则下面while 循环执行的次数为:(A )k=10; while(k==0) k=k-1;
A 0
B 1
C 10
D 无限次10.下面有关for 循环的正确描述是(D)
A .for 循环只能用于循环次数已经确定的情况
B.for 循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体。
D.for 循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。
11. 对for(表达式1;;表达式3)可理解为(B)
A for(表达式1 ;0;表达式3)
B for(表达式1;1;表达式3)
C for(表达式1;表达式1;表达式3)
D for(表达式1 表达式2;表达式3)
12. 若i 为整型变量,则以下循环执行的次数是(B)
for(i=2;i==0;)printf( --“); %d” ,i
A .无限次
B 0次
C 1次
D 2次
13.以下循环体的执行次数是;(B) main()
{
int I,j;
for(i=0,j=3;i<=j;i+=2,j--)
printf( “n%”d,i);
}
A 3
B 2
C 1
D 0
14.执行以下程序后,输出结果是:(D) main() { int y=10;
do { y--;}while(--y);
printf( “ %-d-”); ,y
}
A -1
B 1
C 8
D 0
15 以下程序的输出结果是:(C) mian()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10) break;
if(b%3==1) {b+=3; continue;}
}
printf( “ %d” ,a);
}
A 101
B 3
C 4
D 5 二、填空题
1.循环的3 个常见语句分别是? (for,while,do,break,continue) 2.下面程序的运行结果为:( 14,26)
main()
{int a=10,y=0;
do
{a+=2;y+=a; if(y>50) break;
}while(a<14);
printf( “ a=%d,y=n%”d,a,y);
}
3. 从键盘输入1 2 3 4 5 -1 回车,则下面程序运行的结果是: ( 14,-1) main()
{ int n,k=0;
do
{ scanf( “ %d” ,&n);
k+=n;
}while(n!=-1);
printf( “ k=%d,n=%d” ,k,n);
}
4. 下面程序的运行结果为:39 (--i= 1,i=2 两次循环) main()
{int i,j,s=0;
for(i=1,j=5;i s+=i*10+j;