全国计算机等级考试二级C语言循环结构测试.docx
《全国计算机等级考试二级C语言循环结构测试.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言循环结构测试.docx(17页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级C语言循环结构测试
全国计算机等级考试二级C语言循环结构测试
2006/8/16【大中小】选择字色
一、选择题
(1)有以下程序段
int n,t=1,s=0;
scanf("%d",&n);
do{ s=s+t; t=t-2; }while (t!
=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数
B)任意负偶数
C)任意正偶数
D)任意负奇数
(2)设变量已正确定义,则以下能正确计算f = n!
的程序段是
A) f=0; B) f=1;
for(i=1;i<=n;i++) f*=i; for(i=1;i C) f=1; D) f=1;
for(i=n;i>1;i++) f*=i; for(i=n;i>=2;i--) f*=i;
(3)有以下程序
main()
{ int k=5,n=0;
while(k>0)
{ switch(k)
{ default :
break;
case 1 :
n+=k;
case 2 :
case 3 :
n+=k;
}
k--;
}
printf("%d\n",n);
}
程序运行后的输出结果是
A)0
B)4
C)6
D)7
(4)有以下程序
main()
{
int a=1,b;
for(b=1;b<=10;b++)
{
if(a>=8) break;
if(a%2==1) { a+=5; continue;}
a-=3;
}
printf("%d\n",b);
}
程序运行后的输出结果是
A)3
B)4
C)5
D)6
(5) 有以下程序
main ()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{ s+=1; a=a-2; }
while(a!
=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是
A) -1
B) -3
C) -5
D) 0
(6) 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句是
A) s=a+b;
B) s=a+c;
C) s=s+c;
D) s=b+c;
(7) 有以下程序
main()
{ int k=4,n=4;
for( ; n{ n++;
if(n%3!
=0) continue;
k--; }
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是
A) 1,1
B) 2,2
C) 3,3
D) 4,4
(8) 要求以下程序的功能是计算:
main ()
{ int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
print("%6.4f\n",s);
}
程序运行后输出结果错误,导致错误结果的程序行是
A) s=1.0;
B) for(n=10;n>1;n--)
C) s=s+1/n;
D) printf("%6.4f/n",s);
(9)有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1:
printf("%d",i);
case 2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是
A) 011122
B) 012
C) 012020
D) 120
(10)有以下程序
main()
{ int i=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s +=i;
}while(i<7);
printf("%d\n",s);
}
执行后输出结果是
A) 16
B) 12
C) 28
D) 21
(11) 以下程序的功能是:
按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score); sum+=score;}
ave=sum/4.0;
printf(“NO%d:
%f\n”,n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是
A) sum=0.0;
B) sum+=score;
C) ave=sun/4.0;
D) printf(“NO%d:
%f\n”,n,ave);
(12) 有以下程序段
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!
=12345 &&n<3);
此处dowhile循环的结束条件是
A) P的值不等于12345并且n的值小于3
B) P的值等于12345并且n的值大于等于3
C) P的值不等于12345或者n的值小于3
D) P的值等于12345或者n的值大于等于3
(13) 以下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(I==5) break;
i++;
}
......
}
A) 1
B) 10
C) 6
D) 死循环,不能确定次数
(14) 以下程序的输出结果是
main()
{ int a=0,i;
for(i=;i<5;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
(15) 以下程序的输出结果是
#include
main()
{ int i=0,a=0;
while(i<20)
{ for(;;)
{ if((i%10)==0) break;
else i--;
}
i+=11; a+=i;
}
printh("%d\n",a);
}
A) 21
B) 32
C) 33
D) 11
(16) t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ …… }
则以下叙述中正确的是
A) 循环控制表达式的值为0
B) 循环控制表达式的值为1
C) 循环控制表达式不合法
D) 以上说法都不对
(17) 以下程序的输出结果是
main()
{ int num= 0;
while(num<=2)
{ num++; printf(“%d\n”,num);
}
A) 1 B) 1 C)1 D) l
2 2 2
3 3
4
(18) 以下程序的输出结果是
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(“%d\n”,a);
}
A) 101
B) 6
C) 5
D) 4
(19) 有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
A) 无限次
B) 有语法错,不能执行
C) 一次也不执行
D) 执行1次
(20) 以下程序执行后sum的值是
A)15
B)14
C) 不确定
D)0
min()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf(“%d\n”,sum);
}
(21) 有以下程序段
int x=3
do
{ printf(“%d”,x-=2); }
while (!
(--x));
其输出结果是
A)中 1
B) 3 0
C) 1 -2
D) 死循环
(22) 有如下程序
main0
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf(“%d\n”,sum);
}
该程序的执行结果是
A) 6
B) 3
C) 死循环
D) 0
(23) 有如下程序
main0
{ int x=23;
do
{ printf(“%d”,x--);}
while(!
x);
}
该程序的执行结果是
A) 321
B) 23