《2007年秋浙江省计算机等级考试二级C试卷及答案(共7页).doc》由会员分享,可在线阅读,更多相关《2007年秋浙江省计算机等级考试二级C试卷及答案(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上2007 年秋浙江省高等学校 计算机等级考试试卷(二级 C)说明:(1) 考生应将所有试题的答案填写在答卷上. 其中试题一到试题六请在答卷上的各小题选项的对应位 置上填 “”. (2) 请将你的准考证号的后五位填写在答卷右下角的指定位置内. (3) 考试时间为 90 分钟.试题1 (每小题3分,共12分) 阅读下列程序说明和程序, 在每小题提供的若干可选答案中, 挑选一个正确答案,程序说明 输入 2 个整数lower 和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范围是lower,upper, 每次增加 20 F. 计算公式如下, 式中: c 表示摄氏温
2、度,f表示华氏温度。 C= 5x(f一32)/9 运行示例: Enter lower: 30 Enter upper: 35 fahr celsius 30 -1.1 32 0.0 34 1.1程序 #include main( ) int fahr, lower, upper, double celsius printf (”Enter lower:”); scanf (%d”, &lower”); printf (Enter upper:”); scanf (“%d”, &upper); printf(”fahr celsius n”); for (fahr=lower;_(1)_;_(2
3、)_) celsius =_(3)_ ; printf (“%d _ (4)_ n“, fahr, celsius); 供选择的答案 计算机等级考试试卷(二级C)第1页(共7页)(l) A、 fahr = upper B、fahr =uppa r D、 fahr upper (2) A、 fahr+ B、 fahr =fahr -2 C、 fahr + 2 D、fahr + 2 (3) A、5*(fahr 32) /9 B、(5.0/9.0)*(fahr 32) C、 5/9*(fahr 32) D、 5 * fahr - 32/9 (4) A、 %6d B、%6.2f C、%6.lf D、%
4、6.0f 试题2 (每小题3分,共12分) 阅读下列程序说明和程序. 在每小题提供的若干可选答案中, 挑选一个正确答案. 程序说明 输入 2 个正整数 a 和 n, 求 a+aa+aaa+aa.a(n 个 a)之和.要求定义并调用函数 fn(a,n), 它的功能是返回aa.a(n个a).例如,fn(3,2)的返回值是33. 运行示例, Enter a: 2 Enter n: 3 sum = 246 程序#include main ( ) int i, n; long a, sn; long fn(long a, int n); printf(“Enter a;”); scanf (“%ld”,
5、 &a); printf(“Enter n:”); scanf(“%d”,&n); _(5)_ for ( i=1;i=n; i+) _(6)_ printf(“sum=%ldn”,sn); long fn(long a,int n) int i; long tn=0; for(i=1;i=n;i+) tn=tn+a;_(7)_ (8)供选择的答案(5) A sn=0; B ;C sn=1; D sn=a; (6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n); C sn=sn+fn(I,a); D sn=sn+fn(I,n); (7) A tn=tn*10; B a=
6、a*10; C sn=tn*10; D sn=sn+a*10; (8) A return; B return sn;C return a; D return tn;试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。程序说明 输入一个以回车结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其他字符,再判断新字符串是否对称(不区分大小写字母)。 运行示例1: Enter a string : Madam Im Adam Yes 运行示例2: Enter a string : elephant No #include #inclu
7、de main() int flag ,i,k,length;char str80;printf(“Enter a string:”);gets(str);i=k=0;while(stri!=0)if(isupper(stri) stri=tolower(stri);if(isdigit(stri)/isalpha(stri)(_10_)k+;i+; 计算机等级考试试卷(二级C)笫 3 页(共 7 页)_(11)_length=k;flag=1;for(k=0;k=length/2;k+)if(strk!=strlength-1-k)_(12)_break;if(flag) printf(“Y
8、esn”);else printf(“Non”);供选择的答案(9) A 、ctype.h B、 string . h C、 stdilb .h D、 math .h(10) A、 i+; B、 strk=stri; C、 stri=strk; D、;(11) A 、stri=0; B 、stri-1=0; C、 strk=0; D、 ;(12) A、 flag=1; B、 flag=0; C 、; D 、continue;试题4 (每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.程序 #I includemain() int i,m; scan
9、f(“%d”,&m);for(i=2;i=m/2;i+)if(m%i=0)printf(“%d#”,i);break; /*第8行*printf(“%d”,i);(13)程序运行时,输入5,输出_13_ A、3 B、3#3C、3#4 D、3#5(14)程序运行时,输入9,输出_14_A、 3 B、 3#3C、 3#4 D、 3#5(15)将第8行改为”continue;”后,程序运行时,输入9,输出。 A、 3 B、 3#3 C、 3#4 D、3#5(16)将第8行改为“;“后,程序运行时,输入9,输出。 A 、3 B、 3#3 C、 3#4 D、 3#5试题5(每小题3分,共12分) 阅读下
10、列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。程序 #include main() int i,j,temp; int a33=1,2,3,4,5,6,7,8,9; void f(int *x,int *y); for(i=0; i3;i+)for(j=0;j3;j+) if(ij) f(&aij,&aji); /*第8行*/for(i=0;i3;i+)for(j=0;j3;j+) printf(“%2d”, aij); void f(int *x,int *y) int t;t=*x; *x=*y; *y=t; (17)程序的输出是(17)。 A、3 2 1 6 5 4
11、9 8 7 B、 7 8 9 4 5 6 1 2 3 C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9(18)将第8行改为”f(&aIj,&ajI);”后,程序的输出是(18)。 A、 3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3 C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、(19)将第8行改为”if(I2) f(&aIj,&a2-Ij);”后,程序的输出是(19)。 A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3 C、1 2 3 4 5 6 7 8 9 D、1 4
12、7 2 5 8 3 6 9、(20)将第8行改为”if(j2) f(&aI2-j);”后,程序的输出是(20)。A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9试题6(每小题3分,共12分)#includemain() int i,x1,x2; int a5=1,2,3,4,5; void f1(int x,int y), f2 (int *x, int *y);x1=x2=0;for(i=1;i5; i+)if (aiax1) x2=i;f2(&ax1, &a0);for (i=0;i
13、5;i+) printf (“%2d”,ai);printf (“n”);f1 (ax2, a1);for (i=0; i5;i+) printf (“%2d”,ai);printf (“n”);f2(&ax2, &a4);for (i=0; i5;i+) printf (“%2d”,ai);printf (“n”);f1 (ax1,a3);for (i=0; i5;i+) printf (“%2d”,ai);printf (“n”);void f1 (int *x, int *y) int t;t=x; x=y; y=t;void f2(int *x, int *y) int t;t=*x;
14、 *x=*y; *y=t; (21) 程序运行时,第1行输出(21)。A1 2 3 4 5 B。2 1 3 4 5 C、1 2 3 5 4 D、5 2 3 4 1(22) 程序运行时,第2行输出 :_(22)_A、2 1 3 4 5 B、5 2 3 4 1 C、2 5 3 4 1 D、1 2 3 4 5(23)程序运行时,第3行输出 _(23)_ .A、1 2 3 5 4 B、2 5 3 4 1C、1 2 3 4 5 D、5 2 3 4 1(24)程序运行时,第4行输出 _(24)_ . A、5 2 3 1 4 B、1 2 3 4 5 C、1 2 3 5 4 D、5 2 3 4 1试题7 (2
15、8 分)从n个不同的元素中,每次取出 k个不同的元素,丕管其顺序合并成一组,称为组合.组合种数计箅公式如下. nk=n!/(n-k)!*k!)1)定义函数fact(n)计算n!,类型double.2)定义函数cal(k,n),计算组合种数nk,类型double.要求调用fact(n)计算n!3)定义函数main(),输入正整数n,输出n的所有组合数nk,要求调用函数cal(k,n)答案:试题1:1、A 2、D 3、B 4、C试题2:5、A 6、A 7、A 8、D试题3:9、A 10、B 11、A 12、B试题4:13、A 14、B 15、D 16、D试题5:17、D 18、C 19、B 20、
16、A试题6:21、D 22、D 23、D 24、B试题7:# include “stdio.h”double fact(int n)int k; double result=1;for(k=1;k=n;k+)result*=k;return result;double cal(int k, int n)double result;result=fact(n)/(fact(n-k)*fact(k);return result;void main( )int n,k;double x;scanf(“%d”,&n);for(k=1;k=n;k+)x=cal(k,n);printf(“%fn”,x);专心-专注-专业