您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页2009秋浙江省二级考试试卷

2009秋浙江省二级考试试卷

来源:小侦探旅游网
2009年秋浙江省高等学校

计算机等级考试试卷(二级C)

一、程序阅读与填空(24小题,每小题3分,共72分)

1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】

计算并输出下式的值,要求精确到最后一项的绝对值小于10-3(保留4位小数)。

111s1

4710运行示例: sum = 0.8361 【程序】 #include

#include main()

{ int denominator = 1, flag = 1; double item, sum=0; ___(1)____ while(____(2)___){ ___(3)____ denominator =denominator + 3; flag = -flag; } printf(\"sum=___(4)____\\n\ sum);

}

【供选择的答案】 (1) [A] item=0;

[C] ;

[B] item=0.0001 [D] item=2

[B] fabs(item)< 1E - 3 [D] fabs(item)< 0.001

(2) [A] fabs(item)>=1E - 3

[C] fabs(item)>= 0.0001

(3) [A]sum=sum +item; item=flag*1.0/denominator;

[B] sum=sum + flag*1.0/denominator; [C] item=flag*1.0/denominator; sum=sum+item; [D] item=item+flag*1.0/denominator; (4) [A] %.0f

[B]%.4f

[C]%f

[D] %4.f

2. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出1到100之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,1不是完数。

运行示例: 6 28 【程序】 #include main()

{ int i; int is(int n); for(i=1; i<=100; i+1) if(___(5)____) printf(“ %d ”, i); }

int is (int n) { int i, sum; __(6)___ sum = 0; for(i=1; i<=n/2; i++) if(___(7)____) sum=sum+i; if (__(8)__) return 1; else return 0; }

【供选择的答案】 (5) [A] is(i)= =0

[C] !is(n)

[B] is(i) != 0 [D] is(n)

[B] if(n!=1) return 0; [D] if(n= =1) return 1; [B] n%i! =0 [D] i%n!=0

[B]sum!=n

[C]i>n/2

[D] sum= =n

(6) [A] if(n!=1) return 1;

[C] if(n= =1) return 0; (7) [A] n%i= =0

[C] i%n= =0 (8) [A] n= =0

3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】计算并输入Fibonacci序列前10项之和。要求定义和调用函数fun(fib, n),该函数将Fibonacci序列前n项的值存放在一维数组fib中。Fibonacci序列:1,1,2,3,5,8,13,21,34,55,……,该序列的第一个数和第二个数都是1,从第三个数开始,每个数是前两个数之和。

运行示例: sum = 143 【程序】 #include main() { int i, sum, a[10]; ___(9)____ ___(10)____ sum=0; for(i=0; i<10; i++) sum=sum+____(11)___; printf(“sum=%d”, sum); } void fun (int fib[],int n)

{ }

int i;

fib[0] = fib[1] = 1; for(i=2; i【供选择的答案】

(9) [A] fun(int fib[],int n);

[C] ; (10) [A] fun(fib, n); [C] fun(a,10);

[B] void fun(int fib[], int n) [D] void fun(int fib[], int n); [B] fun(a[], 10); [D] fun(a[10], 10);

(11) [A]fib[i] [B] a[i] [C] a[10] [D] fib[0] (12) [A] fib[i] = fib[i-1] + fib[i-2];

[B] fib[i-1] = fib[i-2] + fib[i-3]; [C] fib[i+1] = fib[i] + fib[i-1]; [D] fib[i] = fib[i-1] + fib[i+1];

4. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #define S(a, b) (a)>(b) ? (a):(b) int f1(char ch) { int grade; switch(ch){ case “A”: grade =95; break; case “B”: grade =85; break; case “C”: grade =75; case “D”: grade =65; break; default: grade=0; } return grade;

}

int f2( )

{ static int k=1, s; s = s+k; k++; return s ;

}

int f3 (int n )

{ if (n = = 1) return 2; else return f3(n-1);

}

main() { int i;

printf(“%d\\n”, f1(„C‟)); for (i=1; i<=3; i++) f2( ); printf(“%d\\n”, f2( )); printf(“%d\\n”, f3(4)); printf(“%d\\n”, S(3, 2+2)); } 【问题】

(13) 程序运行时,第1行输出 (13)

[A]65 [C] 75 (14) 程序运行时,第2行输出 (14) [A]10 [C] 6 (15) 程序运行时,第3行输出 (15) [A]24 [B]2

[B] 0

[D] 95 [B] 1 [D]2 [C] 10

[D] 1

(16) 程序运行时,第4行输出 (16)

[A] 3 [B]4 [C]5 [D] 1

5. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 程序1 #include main() { int i, j, a[3] [3]={1,0,0,4,5,0,7,8,9}; int flag=1; for (i=0;i<3;i++) for (j=0; j0; j--) for(i=2; i>=j; i--) flag=a[i] [j]; printf(“%d\\n”, flag);

}

程序2 #include main()

{ char str[10] = ”4Ae2E”;

int i;

for(i=0; str[i] !=‟\\0‟; i++) if (str[i]>=‟a‟ && str[i]<=‟z‟) putchar(str[i]); putchar(„\\n‟);

for(i=0; str[i] !=‟\\0‟; i++) if (str[i]>=‟a‟ && str[i]<=‟z‟)

putchar(str[i] - „a‟ + ‟A‟); else if (str[i]>=‟A‟ && str[i]<=‟Z‟) putchar(str[i] - „A‟ + ‟a‟); putchar(„\\n‟);

} 【问题】

(17) 程序1运行时,第1行输出 (17)

[A]0 [C] 8 (18) 程序1运行时,第2行输出 (18) [A]9 [C] 5 (19) 程序2运行时,第1行输出 (19) [A]AeE [B]a

[B] 1

[D] 9 [B] 7 [D]1 [C] ae

[D] e

(20) 程序2运行时,第2行输出 (20)

[A] 4Ae2E [B]42 [C]AeE [D] aEe

6. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 #include #include

main( )

{ int i , j;

char str [10], *s[10]={“SQL”,”hello”,”bear”,”zone”}; gets (str);

for (i=0; i<4; i++){ if (strcmp(str, s[i]) > 0) continue; j =3;. while ( j >= i){ s[j+1] = s[j]; j--; } s[i] = str; break; } if (i= =4) s[4]=str; for (i=0; i<5; i++) printf(“%s ”, s[i]); putchar(„\\n‟);

} 【问题】

(21) 程序运行时,输入apple , 输出 (21)

[A]SQL apple hello bear zone [B] apple SQL hello bear zone [C] SQL hello bear zone apple [D] SQL hello apple bear zone

(22) 程序运行时,输入I , 输出 (22)

[A]SQL hello bear I zone [B] I SQL hello bear zone [C] SQL I hello bear zone [D]SQL hello bear zone I (23) 程序运行时,输入zoo , 输出 (23)

[A]zoo SQL hello bear zone [B] SQL hello bear zoo zone [C] SQL hello bear zone zoo [D] SQL hello zoo bear zone

(24) 程序运行时,输入orange , 输出 (24)

[A] SQL orange hello bear zone [B] SQL hello orange bear zone [C]orange SQL hello bear zone [D] SQL hello bear orange zone

二、程序编写(每小题14分,共28分)

1. 编写程序,输入100个整数,将它们存入数组a中,查找并输出数组a中的最小值。

2.按下面要求编写程序:

(1)定义函数cal_power(x, n)计算x的n次幂(即xn),函数返回值类型是double.

(2)定义函数main(),输入浮点数x和正整数n,计算并输出下列算式的值。要求调用函数cal_power(x, n)计算x的n次幂。

s111123n xxxxC模拟试卷29

参考答案

一、程序阅读与填空(24小题,每小题3分,共72分)

题号 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) 答案 D A C B B C A D D C B A A A B B C C D D A B C D 二、程序编写(2小题,每小题14分,共28分)

1.

#include void main() {

int a[100],i; int min;

for(i=0;i<100;i++)

scanf(\"%d\ min=a[0];

for(i=1;i<100;i++) if(a[i]#include

double cal_power(double x,int n) {

double p = x; int i;

for(i=1;ivoid main() {

double x, s=0; int i,n;

scanf(\"%f,%d\ for(i=1;i<=n;i++)

s=s+1/cal_power(x,i); printf(\"%f\}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

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