2010年上半年浙江省高等教育学校计算机等级考试
二级C级程序设计试卷
说明
(1)本试卷共7页,满分100分;考试时间为90分钟; (2)考生应将所用试题答案填写在答卷上;
(3)程序阅读与填空全部是选择题,请在答案上的各小题选项的对应位置上填“√”; (4)请在答卷上填写学校名称,准考证号和姓名,并将你的准考证号的后五位填写在答案第一页右下角的指定位置内。
一、程序阅读与填空(24小题,每小题3分,共72分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中。挑选一个正确答案。
[程序说明]
输入一个整数,求它的各位数字之和及位数,例如,17的个位数之和是8,位数是2.
运行示例:
Enter an inteqer:-153 sum=8,count=3 [程序]
#include { int count = 0,in,sun = 0; pintf( \"Enter an inteqer:\"); Scanf(\"%d\ if( (1) ) in = -in; do{ sum = sum + (2) ; (3) ; count++; }while( (4) ); printf(\"sum = %d,count =%d\\n\} [供选择的答案] (1)A. in == 0 B.in > 0 C. in ! ==0 D.in <0 (2)A.in / 10 B.in mod 10 C.in % 10 D.in (3)A.in =in % 10 B.in /10 C.in=in /10 D.in %10 (4)A. in %10 !=0 B.in !=0 C.!in D.in / 10 !=0 浙江省高等学校计算机等级考试 2.阅读下列程序说明和程序,在每小题提供的若干可选答案中。挑选一个正确答案. [程序说明] 输出50到70之间的所有素数,要求定义和调用函数isprime(m)判断m与是否为素数,若m为素数则返回1.否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是数素。 运行示例: 53 59 61 67 [程序] #include { int i ; int isprime(int m); for(i=50 ; i <= 70; i++) if( (5) ) printf(\"%d\} int isprime(int m) { int i, k ; (6) k = (int )sqrt((double)m); for(i = 2;i <=k ;i++) if(m % i==0) (7) ; (8) ; } [供选择的答案] (5)A.isprime (m) !=0 B.isprime(i) !=0 C.isprime (m) ==0 D.isprime(i) ==0 (6)A.if (m!=1) return 1; B.if(m==1) return 0; C. ; D.if(m==1) return 1; (7)A.return 0 B.return 1 C. return i <=k D. return (8) A.. return 1 B.return 0 C. return D. return i<=k 3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确 答案。 【程序说明】 输入6个整数,找出其中最小的数,将它和最后一个数交换,然后输出这6个数,要求定义和调用函数swap(x,y),该函数交换指针x和y所指向单元的内容。 运行示例: Enter 6 integers: 6 1 8 2 10 97 After swaped: 6 97 8 2 10 1 【程序】 浙江省高等学校计算机等级考试 void swap(int *x, int *y) { int t; _____(9)_____; } main( ) { int i,index, a[10]; Printf{\"Enter 6 integers:\ 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(\"After swaped:\"); for(i = 0;i < 6; i++) printf(\"%d\ 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 = &t (10) A. Index = 0 B. Index = 5 C. index = index D. index = 1 (11) A. a[index] = a[i] B. i = index C. a[i] = a[index] D. index = i (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]) 4. 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #define T(c) ( ( (c) >= '0') && ( (c) <= '9') ? (c) – '0' : -1) void f1 (char ch) { switch (ch) { case '0': printf (\"0\"); case '1': printf (\"1\"); case '2': printf (\"2\");break; case '3': printf (\"3\"); default : printf (\"9\"); 浙江省高等学校计算机等级考试 } printf ( \"\\n\" ); } double f2 () { return (double) (5/2) ; } double f3 (int n) { if(n = = 1) return 1.0; else return 1.0 + 1.0 / f3 (n-1); } main ( ) { printf (\"%d %d\\n\ f(1) ( '1' ); printf (\"% .1f \\n\ ptintf (\"% . 3f \\n \\\ } 【问题】 (13) 程序运行时,第1行输出______(13)______。 A. 7 -1 B. -1 7 C. 7 a D. -1 -1 (14)程序运行时,第2行输出 (14) A 1239 B 12 C 1 D 9 (15)程序运行时,第3行输出 (15) A 2.5 B 2 C 2.0 D 3 (16)程序运行时,第4行输出 (16) A 1.000 B 2.000 C1.500 D 1.667 5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。 【程序】 程序1 #include { int i,j,t,a[3] [4] ={1,2,3,4,5,6,7,8,9,10,11,12} for (i = 0;i < 3;j++) 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 浙江省高等学校计算机等级考试 { char str [10] = “27”; int i,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 3 B 4 C 1 D 2 (18)程序1运行时,第2行输出 (18) A 12 B 11 C 10 D 9 (19)程序2运行时,第1行输出 (19) A 2 B 27 C 23 D 16 (20)程序2运行时,第2行输出 (20) A 19 B 140 C 147 D 2 6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include char ch,*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++) printf(”%s\\n”, s[i]); } 浙江省高等学校计算机等级考试 【问题】 (21)程序运行时,第1行输出 (21) A our B four C fur D fou (22)程序运行时,第2行输出 (22) A ello B hllo C heo D hell (23)程序运行时,第3行输出 (23) A peak B eak C pek D pak (24)程序运行时,第4行输出 (24) A pple B apple C ale D appe 二、程序编写(每小题14分,共28分) C程序设计试卷第6页(共7页) 1. 编写程序,输入100个整数,将它们存入数组a,求数组中所有奇数之和。 2.按下面要求编写程序: (1)定义函数total(n)计算1+2+3+……+n,函数返回值类型是int。 (2)定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数total(n)计算 1+2+3……+n。 s=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+4……+n) 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.cn 版权所有 湘ICP备2023022426号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务