《2006年春浙江省计算机等级考试二级C试卷及答案.docx》由会员分享,可在线阅读,更多相关《2006年春浙江省计算机等级考试二级C试卷及答案.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2019年春浙江省高等学校计算机等级考试试卷(二级C)说明: 考生应将全部试题的答案填写在答卷上。其中试题1试题6,请在答卷上各小题正确选项的对应位置处填“”; 请将你的准考证号的后五位填写在答卷右下角的指定位置内; 考试时间为90分钟;试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题供应的若干可选答案中,选择一个正确答案。【程序说明】求 1 + 2/3 + 3/5 + 4/7 + 5/9 + 的前20项之和。 运行示例:sum = 11.239837【程序】#include void main( )int i, b = 1;double s; (1) ; for(i = 1;
2、i = 20; i+) s = s + (2) ; (3) printf( (4) , s);【供选择的答案】(1)A、s = 0B、s = 1 C、s = -1D、s = 2(2) A、i/bB、double(i)/double(b) C、i/2*i-1D、(double)i/(double)b(3) A、;B、b = 2 * i 1; C、b = 1.0 * b; D、b = b + 2; (4) A、sum = %dn B、s = %cnC、sum = %fn D、s = %sn试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题供应的若干可选答案中,选择一个正确答案。【程序说
3、明】输入10个整数,将它们从大到小排序后输出。 运行示例:Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34After sorted: 100 99 87 34 6 5 4 1 0 -9【程序】#include void main( ) int i, j, t, a10; printf(Enter 10 integers: ); for(i = 0; i 10; i+) scanf( (5) ); for(i = 1; i 10; i+) for( (6) ; (7) ; j+) if( (8) ) t = aj; aj = aj+1; aj+1 = t;
4、 printf(After sorted: ); for(i = 0; i i B、j 9 - i C、j i - 1(8) A、ai-1 ai B、aj+1 aj+2 C、aj aj+1 D、ai aj试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题供应的若干可选答案中,选择一个正确答案。【程序说明】输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另一个字符串中,再输出后一个字符串。运行示例1:Enter a string: 103+895=Enter an integer: 6The new string is 103+89运行示例2:Enter a string
5、: 103+895=Enter an integer: 60The new string is 103+895=运行示例3:Enter a string: 103+895=Enter an integer: 0The new string is 【程序】#include #include void main( ) char s80, t80, i, m;printf(Enter a string:); gets(s);printf(Enter an integer:);scanf(%d, &m); for(i = 0; (10) ; i+) (11) ; (12) printf(The new
6、 string is );puts(t);【供选择的答案】(9) A、ctype.hB、math.h C、stdio.hD、string.h(10) A、i mB、si!= 0 C、si!= 0 & i mD、si!= 0 | i m(11) A、*s+ = *t+B、ti = si C、*t+ = *s+D、si = ti(12)A、ti = 0;B、; C、*+s = 0;D、*+t = 0;试题4(每小题3分,共12分)阅读下列程序并答复问题,在每小题供应的若干可选答案中,选择一个正确答案。【程序】#include void main( ) int s, x1, y1, z1, x2,
7、y2, z2; printf(Enter 6 integers:);scanf(%d%d%d%d%d%d, &x1, &y1, &z1, &x2, &y2, &z2);s = f(x2, y2, z2) - f(x1, y1, z1);printf(%dn, s);f(int x, int y, int z) int k, n; int tab213 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 n = (x % 4 = 0 & x %
8、 100 != 0 | x % 400 = 0); for(k = 1; k y; k+) z = z + tabnk; return z;(13) 程序运行时,输入1 0 0 0 0 0,输出 (13) 。 A、29B、28C、0 D、-1(14) 程序运行时,输入0 0 1 0 0 0,输出 (14) 。 A、29B、28C、0 D、-1(15) 程序运行时,输入2000 2 1 2000 3 1,输出 (15) 。 A、29B、28C、0 D、-1(16) 程序运行时,输入1981 2 1 1981 3 1,输出 (16) 。 A、29B、28C、0 D、-1试题5(每小题3分,共12分
9、)阅读下列程序并答复问题,在每小题供应的若干可选答案中,选择一个正确答案。【程序】# include void main ( ) int a = -1, b = 1; void f1(int x, int y), f2(int *x, int *y); void f3(int *x, int *y), f4(int x, int y); f1(a, b); printf(%d,%d)n, a, b); a = -1, b = 1; f2(&a, &b); printf(%d,%d)n, a, b); a = -1, b = 1; f3(&a, &b); printf(%d,%d)n, a, b
10、); a = -1, b = 1; f4(a, b); printf(%d,%d)n, a, b);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;void f3(int *x, int *y) int *t; t = x; x = y; y = t;void f4(int x, int y) int *t = malloc(sizeof(t); *t = x; x = y; y = *t;(17) 程序运行时,第1行输出 (17) 。
11、 A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)(18) 程序运行时,第2行输出 (18) 。 A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)(19) 程序运行时,第3行输出 (19) 。 A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)(20) 程序运行时,第4行输出 (20) 。 A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)试题6(每小题3分,共12分)#include struct card char *face; char *suit;void filldeck(st
12、ruct card *wdeck, char *wface,char *wsuit)int i; for (i = 0; i 4; i+) wdecki.face = wfacei%2; wdecki.suit = wsuiti/2;void deal(struct card *wdeck)int i; for (i = 0; i 85:260-84:760 2试题8 (14分)编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。运行示例:Enter n: 5sum = 1.716672019年春浙江省高等学校计算机等级考试
13、答案(二级C)试题16试题7试题8合计试题16ABCDABCD(1)(13)(2)(14)(3)(15)(4)(16)(5)(17)(6)(18)(7)(19)(8)(20)(9)(21)(10)(22)(11)(23)(12)(24)试题7#include void main( )int mark, a, p, f;c = p = f = 0; printf(Enter scores:);scanf (%d, &mark); while (mark = 0) if(mark = 85) a+; else if (mark = 60) p+; else f+; scanf (%d, &mark
14、);printf(=85:%dn, a);printf(60-84:%dn, p);printf(60:%dn, a);试题8#include void main( ) int i, n; double x, sum; double fact(int n); scanf(%d, &n); sum = 0; for(i=1; i=n; i+) sum = sum + 1/fact(i); printf(sum=%fn, sum);double fact(int n) int i; double res = 1; for(i=1; i=n; i+) res = res*i; return res;第 10 页