2013年计算机二级考试C语言第五章课后题及参考答案
第五章、循环结构
一、 选择题
5.1 以下程序段的输出结果是
A) 9
B) 1
C) 11
D) 10
int k,j,s;
for(k=2; k<6; k++,k++)
{ s=1;
for(j=k; j<6; j++) s+=j;
}
printf("%d\\n", s);
答案:D
5.2 以下程序段的输出结果是
A) 12
B) 15
C) 20
D) 25
int i,j,m=0;
for(i=1; i<=15; i+=4)
for(j=3; j<=19; j+=4) m++;
printf("%d\\n", m);
答案:C
5.3 以下程序段的输出结果是
A) 10
9
8
B) 9
8
7
C) 10
9
8
7
D) 9
8
7
6
int n=10;
while(n>7)
{ n--;
printf("%d\\n", n);
}
答案:B
5.4 以下程序段的输出结果是
A) 1
B) 3 0
C) 1 -2
D) 死循环
int x=3;
do
{ printf("=",x-=2); }
while(!(--x));
答案:C
5.5 以下程序段的输出结果是
A) 15
B) 14
C) 不确定
D) 0
main()
{ int i,sum;
for(i=1; i<6; i++) sum+=sum;
printf("%d\\n",sum);
}
答案:C
计算机二级C语言章节练习在线测试 | ||
第5章 | 循环结构 |
5.6 以下程序段的输出结果是
A) 741
B) 852
C) 963
D) 875421
main()
{ int y=10;
for(; y>0; y--)
if(y%3==0)
{ printf("%d", --y); continue; }
}
答案:B
5.7 若x是int型变量,以下程序段的输出结果是
A) **3
##4
**5
B) ##3
**4
##5
C) ##3
**4##5
D) **3##4
**5
for(x=3; x<6; x++)
printf((x%2)?("**%d"):(##%d\\n"),x);
答案:D
5.8 以下程序的输出结果是
A) *#*#*#$
B) #*#*#*$
C) *#*#$
D) #*#*$
main()
{ int i;
for(i=1; i<=5; i++)
{ if(i%2) printf("*");
else contionue;
printf("#");
}
printf("$\\n");
}
答案:A
5.9 以下叙述正确的是
A) do_while语句构成的循环不能用其它语句构成的循环来代替。
B) do_while语句构成的循环只能用break语句退出。
C) 用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。
D) 用do_while语句构成循环时,只有在while后的表达式为零时结束循环。
答案:D
5.10 以下程序的输出结果是
A) 39 81
B) 42 84
C) 26 68
D) 28 70
main()
{ int x,i;
for(i=1; i<=100; i++)
{ x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d ", x);
}
printf("\\n");
}
答案:D
计算机二级C语言章节练习在线测试 | ||
第5章 | 循环结构 |
二、 填空题
5.11 当执行以下程序段后,i的值是____、j的值是____、k的值是____。
int a,b,c,d,i,j,k;
a=10; b=c=d=5; i=j=k=0;
for( ; a>b; ++b) i++;
while(a>++c) j++;
do k++; while(a>d++);
答案:5、4、6
5.12 以下程序段的输出结果是____。
int k,n,m;
n=10; m=1; k=1;
while(k<=n) m*=2;
printf("%d\\n",m);
答案:死循环
5.13 以下程序的输出结果是____。
main()
{ int x=2;
while(x--);
printf("%d\\n",x);
}
答案:-1
5.14 以下程序段的输出结果是____。
int i=0,sum=1;
do { sum+=i++; }while(i<5);
printf("%d\\n",sum);
答案:11
5.15 有以下程序段:
s=1.0;
for(k=1; k<=n; k++) s=s+1.0/(k*(k+1));
printf("%f\\n",s);
请填空,使下面的程序段的功能完全与之等同。
s=0.0;
____;
k=0;
do
{ s=s+d;
____;
d=1.0/(k*(k+1));
}
while(____);
printf("%f\\n",s);
答案:d=1.0、k++、k<=n
5.16 以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while(____)
{ if(x>amax) amax=x;
if(____)amin=x;
scanf("%f",&x);
}
printf("\\namax=%f\\namin=%f\\n",amax,amin);
}
答案:x>=0、x
计算机二级C语言章节练习在线测试 | ||
第5章 | 循环结构 |