浙江省高校计算机等级考试二级C笔试试题.docx
- 文档编号:9284123
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:23
- 大小:28.77KB
浙江省高校计算机等级考试二级C笔试试题.docx
《浙江省高校计算机等级考试二级C笔试试题.docx》由会员分享,可在线阅读,更多相关《浙江省高校计算机等级考试二级C笔试试题.docx(23页珍藏版)》请在冰豆网上搜索。
浙江省高校计算机等级考试二级C笔试试题
2009年秋浙江省高等学校
计算机等级考试试卷(二级C)
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。
运行示例:
sum=-0.8361
【程序】
#include
#include
main()
{
intdenomintor=1,flag=1;
doubleitem,sum=0;
(1)
while(
(2))
{
(3)
denomintor=denomintor+3;
flag=-flag;
}
printf("sum=(4)\n",sum);
}
【供选择的答案】
(1)A.item=0;B.fitem=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不是完数。
运行示例:
628
【程序】
#include
main()
{
inti;intis(intn);
for(i=1;i<=100;i++)
if((5))
printf("%d",i);
}
intis(intn)
{
inti,sum;
(6)
sum=0;
for(i=1;i<=n/2;i++)
if((7))
sum=sum+i;
if((8))return1;
elsereturn0;
}【供选择的答案】
(5)A.is(i)==0B.is(i)!
=0
C.!
is(i)D.is(n)//答案B
(6)A.is(n!
=1)return1;
B.is(n!
=1)return0;
C.is(n==1)return0;
D.is(n==1)return1;//答案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()
{inti,sum,a[10];
(9)
(10)
sum=0;
for(i=0;i<10;i++)
sum+=(11);
printf("sum=%d",sum);
}
voidfun(intfib[],intn)
{inti;
fib[0]=fib[1]=1;
for(i=2;i (12) } 【供选择的答案】 (9)A.fun(intfib[],intn);B.voidfun(intfib[],intn) C.;D.voidfun(intfib[],intn);//答案D (10)A.fun(fib,10);B.fun(a[],10); C.fun(a,10);D.fun(a[10],10);//答案C (11)A.fib[i]B.a[i] C.a[10]D.fib[0]//答案B (12)A.fib[i]=fib[i-1]+fib[i-2]; B.fib[i-1]=fib[i-2]+fib[i-3]; C.fib[i+1]=fib[i-1]+fib[i]; D.fib[i]=fib[i-1]+fib[i+1];//答案A 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #defineS(a,b)(a)>(b)? (a): (b) intf1(charch) {intgrade; switch(ch) { case'A': grade=95;break; case'B': grade=85;break; case'C': grade=75; case'D': grade=65;break; default: grade=0; } returngrade; } intf2() { staticintk=1,s; s=s+k; k++; returns; } intf3(intn) { if(n==1)return2; elsereturnf3(n-1); } main() { inti; printf("%d\n",f1('C')); for(i=1;i<=3;i++) f2(); printf("%d\n",f2()); printf("%d\n",f3(4)); printf("%d\n",S(3,2+2)); } (13)程序运行时,第1行输出(13)。 A.65B.0 C.75D.95//答案A (14)程序运行时,第2行输出(14)。 A.10B.1 C.6D.2//答案A (15)程序运行时,第3行输出(15)。 A.24B.2 C.10D.1//答案B (16)程序运行时,第4行输出(16)。 A.3B.4 C.5D.1//答案B 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 程序1 #include main() { inti,j,a[3][3]={1,0,0,4,5,0,7,8,9}; intflag=1; for(i=0;i<3;i++) for(j=0;j flag=a[i][j]; printf("%d\n",flag); for(j=2;j>0;j--) for(i=2;i>=j;i--) flag=a[i][j]; printf("%d\n",flag); } 程序2 #include main() { charstr[10]="4Ae2E"; inti; for(i=0;str[i];i++) if(str[i]>='a'&&str[i]<='z') putchar(str[i]); putchar('\n'); for(i=0;str[i];i++) if(str[i]>='a'&&str[i]<='z') putchar(str[i]-'a'+'A'); elseif(str[i]>='A'&&str[i]<='Z') putchar(str[i]-'A'+'a'); putchar('\n'); } (17)程序运行时,第1行输出(17)。 A.0B.1 C.8D.9//答案C (18)程序运行时,第2行输出(18)。 A.9B.7 C.5D.1//答案C (19)程序运行时,第3行输出(19)。 A.AeEB.a C.aeD.e//答案D (20)程序运行时,第4行输出(20)。 A.4Ae2EB.42 C.AeED.aEe//答案D 试题6(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #include main() { inti,j; charstr[10],*s[10]={"SQL","hello","bear","zone"}; gets(str); for(i=0;i<4;i++){ if(strcmp(str,s[i])>0)continue; j=3; while(j>=i){ s[j+1]=s[j]; j--; } s[i]=str; break; } if(i==4)s[4]=str; for(i=0;i<5;i++) printf("%s",s[i]); putchar('\n'); } (21)程序运行时,输入apple,输出(21)。 A.SQLapplehellobearzone B.appleSQLhellobearzone C.SQLhellobearzoneapple D.SQLhelloapplebearzone//答案A (22)程序运行时,输入I,输出(22)。 A.SQLhellobearIzone B.ISQLhellobearzone C.SQLIhellobearzone D.SQLhellobearzoneI//答案B (23)程序运行时,输入zoo,输出(23)。 A.zooSQLhellobearzone B.SQLhellobearzoozone C.SQLhellobearzonezoo D.SQLhellobearzoozone//答案C (24)程序运行时,输入orange,输出(24)。 A.SQLorangehellobearzone B.SQLhelloorangebearzone C.orangeSQLhellobearzone D.SQLhellobearorangezone//答案D 试题7(28分) 1.编写程序,编写程序输入100个整数,将它们存入数组a中,查找并输出数组a中最小值。 参考程序: #include #defineN100 main() { inta[N],i,min; printf("请输入%d个整数: ",N); for(i=0;i scanf("%d",&a[i]);//输入100个整数 min=a[0]; for(i=1;i if(min>a[i])min=a[i];//求最小值 printf("最小值是%d\n",min);//输出最小值 } 2.按下面要求编写程序: (1)定义函数cal_power(x,n)计算x的n次幂(xn),函数的返回值勤类型是double。 (2)定义函数main(),输入两个浮点数x和整数n,计算并输出下列算式的值。 要求调用函数cal_power(x,n)计算x的n次幂。 参考程序: #include doublecal_power(doublex,intn)//第 (1)题 {inti; doublet=1; for(i=1;i<=n;i++) t=t*x; returnt; } main()//第 (2)题 { doublex,sum=0; inti,n; scanf("%f,%d",&x,&n); for(i=1;i<=n;i++) sum+=1/cal_power(x,i); printf("%f\n",sum); } 2010年上半年浙江省高等学校计算机等级考试 二级C程序设计试卷 一、程序阅读与填空(24小题,每小题3分同,共72分) 1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入一个正整数,求它的各位数字及位数,例如,17的各位数字之和是8,位数是2。 运行示例: Enteraninteger: -153 sum=9,count=3 【程序】 #include main() { intcount=0,in,sum=0; printf("Enteraninteger: "); scanf("%d",&in); if( (1))in=-in; do { sum=sum+ (2); (3); count++; }while((4)); printf("sum=%d,count=%d\n",sum,count); }【供选择的答案】 (1)A.in==0B.in>0 C.in! =0D.in<0//答案D (2)A.in/10B.inmod10 C.in%10D.in//答案C (3)A.in=in%10B.in/10 C.in=in/10D.in%10//答案C (4)A.in%10! =0B.in! =0 C.! inD.in/10! =0//答案B 2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输出50到70之间的所有素数,要求定义和调用函数isprime(m)判断m是否为素数,当m为素数时返回1,否则返回0。 素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 运行示例: 53596167 【程序】 #include #include main() {inti,isprime(intm); for(i=50;i<=70;i++) if((5)) printf("%d",i); } intisprime(intm) { inti,k; (6); k=(int)sqrt((double)m); for(i=2;i<=k;i++) if(m%i==0)(7); (8); } 【供选择的答案】 (5)A.isprime(m)! =0B.isprime(i)! =0 C.isprime(m)==0D.isprime(i)==0//答案B (6)A.if(m! =1)return1;B.if(m==1)return0; C.;D.if(m==1)return1;//答案B (7)A.return0B.return1 C.returni<=kD.return//答案A (8)A.return1B.return0 C.returnD.returni<=k//答案A 3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入6个整数,找出最小的数,将它和最后一个数交换,然后输出这6个数。 要求定义和调用函数swap(x,y),该出函数交换指针所指向单元的内容。 运行示例: Enter6integers: 61821097 Afterswaped: 69782101 【程序】 #include voidswap(int*x,int*y) { intt; (9); } main() { inti,index,a[10]; printf("Enter6integers: "); for(i=0;i<6;i++) scanf("%d",&a[i]); (10); for(i=1;i<6;i++) if(a[index]>a[i]) (11); (12); printf("Afterswaped: "); for(i=0;i<6;i++) printf("%d",a[i]); printf("\n"); } 【供选择的答案】 (9)A.t=*x,*x=*y,*y=t B.t=x,x=y,y=t C.*t=*x,*x=*y,*y=*t D.&t=x,x=y,y=&//答案A (10)A.index=0B.index=5 C.index=indexD.index=i//答案A (11)A.a[index]=a[i]B.i=index] C.a[i]=a[index]D.index=i//答案D (12)A.swap(a[index],a[5]) B.swap(*a[index],*a[5]) C.swap(a[*index],a[*5]) D.swap(&a[index],&a[5])//答案D 4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #defineT(c)(((c)>='0')&&((c)<'9')? (c)-'0': -1) voidf1(charch) { switch(ch) { case'0': printf("0"); case'1': printf("1"); case'2': printf("2");break; case'3': printf("3"); default: printf("9"); } printf("\n"); } doublef2() { return(double)(5/2); } doublef3(intn) { if(n==1)return1.0; elsereturn1.0+1.0/f3(n-1); } main() { printf("%d%d\n",T('7'),T('a')); f1('1'); printf("%0.1f\n",f2()); printf("%.3f\n",f3(4)); } (13)程序运行时,第1行输出(13)。 A.7-1B.-17 C.7aD.-1-1//答案A (14)程序运行时,第2行输出(14)。 A.1239B.12 C.1D.9//答案B (15)程序运行时,第3行输出(15)。 A.2.5B.2 C.2.0D.3//答案C (16)程序运行时,第4行输出(16)。 A.1.00B.2.000 C.1.500D.1.667//答案D 5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 程序1 #include main() { inti,j,t,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; for(i=0;i<3;i++) for(j=0;j<=i/2;j++) { t=a[i][j],a[i][j]=a[i][3-j],a[i][3-j]=t;} printf("%d\n",a[0][1]); printf("%d\n",a[2][2]); } 程序2 #include main() { charstr[10]="27"; inti,number=0; for(i=0;str[i]! ='\0';i++) if(str[i]>='0'&&str[i]<='7') number=number*8+str[i]-'0'; printf("%d\n",number); for(i=0;str[i]! ='\0';i++) if(str[i]>='0'&&str[i]<='5') number=number*6+str[i]-'0'; printf("%d\n",number); } (17)程序1运行时,第1行输出(17)。 A.3B.4 C.1D.2//答案D (18)程序1运行时,第2行输出(18)。 A.12B.11 C.10D.9//答案C (19)程序2运行时,第1行输出(19)。 A.2B.27 C.23D.16//答案C (20)程序2运行时,第2行输出(20)。 A.19B.140 C.147D.2//答案B 6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include main() { inti,j; charch,*p1,*p2,*s[4]={"four","hello","peak","apple"}; for(i=0;i<4;i++) { p1=p2=s[i]; ch=*(p1+i); while(*p1! ='\0') { if(*p1! =ch) { *p2=*p1; p2++; } p1++; } *p2='\0'; } for(i=0;i<4;i+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江省 高校 计算机等级考试 二级 笔试 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)