文档库 最新最全的文档下载
当前位置:文档库 › 2007年秋c

2007年秋c

2007年秋c
2007年秋c

2007年秋c

2007年秋浙江省高等学校

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

试题1

(每小题3分,共12分)

和程序,恳每小题提供的若

—丨止确合案。

9

运行示例:

En ter lower: 30

En ter upper: 35 fahr Celsius

30 -1.1 32 0.0 【程序4行

#i nclude mai n()

{ int fahr, lower, upper; double Celsius;

prin tf("E nter lower:"); sea nf("%d", & lower); prin tf("E nter upp er:"); sea nf("%d", &upper);

【可序下 氏 SiS3 ifSfa

张华 式

5 (f 32) e ---------

prin tf("fahr eelsius\n");

for (fahr = lower; (1);

⑵ ){

Celsius = (3) ;_

prin tf("%d (4)泄

fahr, Celsius); }}

【供选择的答案】 (1) A 、fahr <= upper

< upper

C 、fahr >= upper fahr > upper

(2) A 、fahr++ B 、fahr

B 、fahr = fahr (2)

C 、fahr + 2 步长为2 2。增加2 (3) A 、5 * (fahr - 32)/9 (5.0 / 9.0) * (fahr - 32) C 、5 / 9* (fahr - 32) 纟结果血该是小数 ⑷ A 、%6d

%6、1f 「一 保留1位小数 试题2 (每小题3分, 阅读下列程序说明和程序,琏每小题提供的若 可选答案中,挑选一个正确答案。

「… ____________________________________________________________________________________________ ■?

例谧徹3,2)

[程 卜正整数a 和n fahr %6沪 共12分) ― ,求「 左)曰之和。要求定义并调用函 能是返回aa …a(n 个a)。 ‘ 口 33。

的返行,

En ter a: 2 En ter n: 3

[程序1= 246

#i nclude

能是 mai n() { int i, n;

a+aa+aaa+aa

long a, sn;

long fn (I ong a, i nt n);

prin tf("E nter a:");

sca nf("%ld", & a);

prin tf("E nter n:");

sca nf("%d", &n);

(5)

for(i=1; i v=n; i++)

(6) ____________

prin tf("sum=%ld\n",s n); long fn (I ong a, i

nt n) { int i;

/*注意1*/ long tn=O;

for(i=1; i v=n; i++){

tn=tn+a;

(7)

}

(8)

}

【供选择的答案】

⑸ A、sn=O;

C 、sn=1;

和的初值为0 ! (6) A、sn=sn+fn(a,i);

sn

C sn

:、n (般n+fn (i,a ); D

循,终以次数为n,因此不能是n.否则不能累 注意:例如如,,祐(32丁, 3)

(7) A 、tn=tn*10; a=a*10;

C 、sn=tn*10;

SB 10无& 后是以

是0.所这不符合选目要求。

(8) A 、return; return sn;

C 、return a; return tn;

试题3

(每小题3分,共12分)

干m 列程序说明一程正确答案每小题提供的若 输

入一个以回车结束的字符串(少于 字符),删除其中除英文字母和数字字符以外的 其它字符,再判断新字符串是否对称(不区分大 小写字母)。 运行示例1:

循环

要和所以注意错误匹配,

所的返回值错误33 O (2个 D CD 错误。f 占耳 tn=330. 因为返回的

A ,则tn 的个位数就一定

80个

Enter a string: Madam I'm Adam 运行示例 2 :

En ter a stri ng:

ele phant 【程序】

#in clude

#i nclude < (9) >

mai n()

{ int flag, i, k, le ngth;

char str[80];

prin tf("E nter a stri ng:"); gets(str);

i = k = 0;

while(str[i] != '\0'){ if(is upp er(str[i])) str[i]=tolower(str[i]);

if(isdigit(str[i])||isal pha(str[i]

)){

(10)一

k++; }

i++; }

(11)

len gth = k;

flag = 1;

for(k = 0; k <= len gth/2; k++) if(str[k]

str[len gth-1-k]){ !=

本题 参考课本P114页

最后

(10) A 、i++; str[k] = str[i]; 参考课

本淮s

l

(11) A …―

str[i-1] = 参考课

(12) _0人、flag = 1;

flag

c= 0;

墜换课本 题阅读下列程序回答问题,3小

题提供的若 [可序答案中,挑选一个正确答案。

#i nclude mai n()

(12) _________ break; } if(flag) printf("Y es\n"); else prin tf("No\n");

【供选择的答案】

s 9

nnA.h

本题是课 本P114页例 、ctype.h

、stdlib.h

D 6.9 与 p122 1 、 的5题的

行。

数第 、str[i] = '\0';

-\0: 、 k 、;

D

P115页第7行。

外,恭』2分)

DB 行。

{ int i, m;

sca nf("%d", & m);

for(i = 2; i <= m/2; i++) if (m % i == 0){ prin tf("%d#", i); break;

/*第8行*/

}

p rintf("%d", i);

} 一

(13)程序运行时,输入

O

—A

C

3#5

(14)程序运行时,输入

o

—A

C

3#5

序运5亍时舊入霍改输出A 、3 B

C -

3#5

输入5 9将第

A

C 输出(13)

、3#3

、3#3

”后,程

o

—3#3

D、

、、33#4

D

输出(14)

B D

、、33#4

con ti

nue;

、、33#4

8行改为“;”后,程序运行时,

(16) O

、3#3

D 、、、33#4

#5

里就是根据程序的流程做

出判断 读下小列程序:i

读答列程序挑选一个正确答案

这3

试题5 (

【程阅选】案

#i nclude o

以 共12分) 回答问题,在每小题提供的若

mai n()

{ int i, j, tem p; int

{1,2,3,4,567,8,9};

void f(i nt *x, i nt *y); for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) if(i < j) f(&a[i][j],

&a[j][i]); /*

第 8 行 */

for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) prin tf("%2d",

a[i][j]); }

void f(i nt *x, i nt *y) { int t; t = *x; *x

o

数马

69 屋32

58 明穿

147(17

(17)程序的输出是, ' A 、3 2 1 6 5 498 8 9 4 5 6 1 2 3

C 、1 2 3 4 5 6 7 8 9 7 2 5 8 3 /*算8

B 、7 D 、1 4

交换。数

2, 5, 7

组变实现数组对角线左下与右上元

素 a[3][3]= /*第3行*/

=t ; }

*y; *y

1

3,6,9

将第”8

后行程序为输出是綁18,) 、3 2 1 6 5 4 9 8 7

8 9 4 5 6 1 2 3

C 、1 2 3 4 5 6 7 8 9

7X5 83 6 9

两次交换 现]);

O —B T 7

D 、1 4 两次交换,又复原了!所以数组没有变化。 (19) 将第8行改为 输出曲,是(&a)2-

血。

i

?i

后,

A 8 9 4 5 6 C 、1 数组变8

7, 8,

7

,5,, 、3 2 1 6 5 4 9 8

7 1 2 3 2 3 4 5 6 7 8 9

6 9 96

2

20) 将第8行改为

镰呦,是圍邮改); o

—A 、3 2' 1 6 5 4 9 8 7 8 9 4 5 6 1 2 3

C 、1 2 3 4 5 6 7 8 9 7 2 5 8 3 6 9

程序誇

B 、7

试题6 (每小题3分,共12 分)

#i nclude mai n() { int i, x1, x2;

int a[g={1*2,3,4,5};

void f1(int x, int int *y );

x1 = x2 = 0; for? = 1; i < 5

彳」++){

if(a[^ > a[x1]) xT = i ; if(a 2 < a[x2]) = i ; }

y), f2(i nt

*x ,

/*语句7*/

/*语句11*/

一一一一

a '' d H a 的24-

;

o

t 疋t 牧 M 一一泊 t

X

L O i L 也组就a 的原始数据为: 语制,到语句 11实现这样的功能:

a

X1=4, 躺,3,%=3, a[4]=5「找出在最大和和最最小 :比■ a[0]更小的

数,所以x2 一直没 r X2 — 0 铉心:函数、是传值方式调用,没有实现交 换|细详细看 传 详细看课本P139.

(21)程序运行时,

O

—A 、1 2 3 4 5

5

是:a[0]=1, a 但In 有变,x2= 注意:函数 课本是传8 上方式调用,实现交换 1行输出 _____ (21 B

C 、1 2 3 5 4

1 函数f2是传址方式调用,交换a[4]和a[0] 这时:a[5]={5,2,3,4,1}

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

_ 。

—A 、2 1 3 4 5

1

o

A 、5 2 3 1 4

D 函数f1是传值方式调用,没有交换

这时:a[5]={1,2,3,4,5} 试题7 (28 分)

合元素:不公式|序合并成一组,称为组合。组

(1) C n k

返义函 类型是' doubl 计算n 的阶乘n!価 数

矣型是,n

doube

算要求种用函数 4 4 -亠 )■典 —厂 丿 )弘定义函数工main(),输入正整数n , 的所有组合种数…C(d ?——、, 业匚 I ZI \ 计*

double 。 ..... 返回值类型是1 计算n 的阶输入正整数n 输, 算组合融n),要求调用函 (3 P 函数 数 cal(k,n)

(22) B 、 5 2 3 4

C 、2 5 3 4 1

D 函数f1是传值方式调用,没有交换

f 时:a[5]={5.2.3.4.1} 这时)a

l 序运行时,第 _ 。 — A 1 2 3 5 4 4

C 、1 2 3 4 5

是传址方式调用,交换a[0] :4行输出—

3行输出 (23)

D 、

函数f2

这时)a i 序运巒5

5 2 3 4 1

和 a[4]

(24)

B 、 1 2 3 4

C 、1 2 3 5 4

#i nclude double fact(double x, 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=1.0*fact( n)/(fact( n-k)*fact(k)); /* 乘 1.0 变小数*/ retu rnt result;

}

void mai n()

{

int k, n;

double cal;

sca nf( %d%d ,&k,&n);

for(k=1;kv=n ;k++) {

printf( cal =%lf\n ,cal(k, n));

}

相关文档