您好,欢迎来到东饰资讯网。
搜索
您的当前位置:首页2010年春浙江省高等教育学校计算机等级考试

2010年春浙江省高等教育学校计算机等级考试

来源:东饰资讯网
浙江省高等学校计算机等级考试

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 main()

{ 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 #include main()

{ 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 main()

{ 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 main()

浙江省高等学校计算机等级考试

{ 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 main() { int i,j;

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务