PAGE
PAGE 1
2009年秋浙江省高等学校
计算机等级考试试卷(二级C)
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。
运行示例:
sum=-0.8361
【程序】
#include
#include
main()
{
int denomintor=1,flag=1;
double item,sum=0;
(1)
while( (2) )
{
(3)
denomintor=denomintor+3;
flag=-flag;
}
printf("sum= (4) \n",sum);
}
【供选择的答案】
(1)A.item =0;B.f item =0.0001;
C.;D.item=2; //答案D
(2)A.fabs(item)>=1E-3B.fabs(item)<1E-3
C.fabs(item)>=0.0001D.fabs(item)<0.001//答案A
(3)A.sum=sum+item;item=flag*1.0/denominator;
B.sum=sum+ flag*1.0/denominator;
C.item=flag*1.0/denominator;sum=sum+item;
D. item=item+flag*1.0/denominator;//答案C
(4)A.%.0fB.%.4f
C.%fD.%4.f//答案B
试题2(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输出1到100之间的所有完数,要求定义和调用函数is(n)判断n是否为完数,若n为完数返回1,否则返回0。完数是因子和与它本身相等的数,1不是完数。
运行示例:
6 28
【程序】
#include
main()
{
int i;int is(int n);
for(i=1;i<=100;i++)
if( (5) )
printf("%d ",i);
}
int is(int n)
{
int i,sum;
(6)
sum=0;
for(i=1;i<=n/2;i++)
if( (7) )
sum=sum+i;
if( (8) )return 1;
else return 0;
}【供选择的答案】
(5)A.is(i)==0B.is(i)!=0
C.!is(i)D.is(n) //答案B
(6)A.is(n!=1)return 1;
B.is(n!=1)return 0;
C.is(n==1)return 0;
D.is(n==1)return 1; //答案C
(7)A.n%i==0B.n%i!=0
C.i%n==0D.i%n!=0 //答案A
(8)A.n==0B.sum!=n
C.i>n/2D.sum==n //答案D
试题3(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
计算并输出Fibonacci序列前10项之和。要求定义和调用函数fun(fib,n),该函数将Fibonacci序列前n项的存放在一维数组fib中。Fibonacci序列:1,2,3,5,8,13,21,34,55,……,该序列的第一个数和第二数据是1,从第三个开始,每个数是前两数之和。
运行示例:
sum = 143
【程序】
#include
main()
{int i,sum,a[10];
(9)
(10)
sum=0;
for(i=0;i<10;i++)
sum+= (11) ;
printf("sum=%d",sum);
}
void fun(int fib[],int n)
{int i;
fib[0]=fib[1]=1;
for(i=2;i
(12)
}
【供选择的答案】
(9)A. fun(int fib[] ,int n);B.void