《秋浙江省计算机等级考试二级C试卷及答案.docx》由会员分享,可在线阅读,更多相关《秋浙江省计算机等级考试二级C试卷及答案.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2007 年秋浙江省高等学校 计算机等级考试试卷(二级 C)说明:(1) 考生应将全部试题的答案填写在答卷上. 其中试题一到试题六请在答卷上的各小题选项的对应位 置上填 “. (2) 请将你的准考证号的后五位填写在答卷右下角的指定位置内. (3) 考试时间为 90 分钟.试题1 (每题3分,共12分) 阅读以下程序说明和程序, 在每题供应的假设干可选答案中, 选择一个正确答案,程序说明 输入 2 个整数lower 和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范围是lower,upper, 每次增加 20 F. 计算公式如下, 式中: c 表示摄氏温度,f表示华氏温度。 C= 5
2、x(f一32)/9 运行例如: Enter lower: 30 Enter upper: 35 fahr celsius程序 #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)_) celsius =_(3)_ ; printf (“%d _ (4)_ n“, f
3、ahr, 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 试题2 (每题3分,共12分) 阅读以下程序说明和程序. 在每题供应的假设干可选答案
4、中, 选择一个正确答案. 程序说明 输入 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, &a); printf(“Enter n:); scanf(“%d,&n); _(5)_ for
5、( 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=a*10; C sn=tn*10; D sn=sn+a*10; (8) A return; B return sn
6、;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 #include main() int flag ,i,k,length;char str80;printf(“Enter a string
7、:);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(“Yesn);else printf(“Non);供选择的答案(9) A , ctype.h B, string . h C, std
8、ilb .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; scanf(“%d,&m);for(i=2;i=m/2;i+)if(m%i=0)printf(“%d#,i);break; /*
9、第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#515将第8行改为continue;后,程序运行时,输入9,输出。 A, 3 B, 3#3 C, 3#4 D, 3#516将第8行改为“;“后,程序运行时,输入9,输出。 A , 3 B, 3#3 C, 3#4 D, 3#5试题5每题3分,共12分 阅读以下程序并答复以下问题,在每题供应的假设干可选答案中,选择一个正确答案。程序 #include main() int i,j,temp
10、; 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 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
11、 918将第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 7 2 5 8 3 6 9, 20将第8行改为if(j2) f(&aI2-j);后,程序的输出是20。A, 3 2 1 6 5 4 9
12、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;i5;i+) printf (“%2d,ai);printf (“n);f1 (ax2, a1);for (i=0; i5;i+) printf
13、(“%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; *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
14、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 523程序运行时,第3行输出 _(23)_ .A, 1 2 3 5 4 B, 2 5 3 4 1C, 1 2 3 4 5 D, 5 2 3 4 124程序运行时,第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 (28 分)从n个不同的元素中,每次取出 k个不同的元素,丕管其依次合并成一组,称为组合.组合种数计箅公式如下. nk=n!/(n-k)!*k!)1)定
15、义函数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, A试题6:21, D 22, D 23, D 24, B试题7:# include “stdio.hdouble 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);
限制150内