2012年秋省二级试卷

更新时间:2023-12-25 23:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年下半年浙江省高等学校计算机等级考试

二级C程序设计试卷

说明:⑴ 本试卷共6页,满分100分;考试时间为90分钟;

⑵ 考生应将所有试题的答案填写在答卷上。

⑶ 程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“?”。

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

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

【程序说明】

输入一个正整数n,再输入n个整数,判断它们是否按从大到小的次序排列。 运行示例: Enter n: 6

Enter 6 integers: 1 3 6 40 12 50 Sorted:No Enter n: 5

Enter 5 integers: 10 8 7 3 1 Sorted:Yes 【程序】

#include main()

{ int cur, i, n, pre;

printf(\scanf(”%d”, &n); (1)

scanf(”%d”, &pre);

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

(2)

if( cur > pre ) (3) ; (4) }

if(i >= n) printf(\else printf(\}

【供选择的答案】

1

(1) A、printf(\

B、printf(\C、printf(\D、printf(\(2) A、scanf(”%d”, &pre);

C、scanf(”%d”, &cur); (3) A、cur = n

B、;

D、scanf(”%d”, &n); C、pre = n

D、continue D、pre = 0;

B、break

(4) A、pre = cur; B、cur = 0; C、cur = pre;

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

答案

【程序说明】

输出10到99之间各位数字之和为12的所有整数。要求定义和调用函数sumdigit(n)计算整数n的各位数字之和。

运行示例:

39 48 57 66 75 84 93 【程序】

#include main() {

int i; int sumdigit(int n); for(i = 10; i <= 99; i++)

if( (5) )

printf(\

printf(\}

int sumdigit(int n) { int sum;

(6) do {

(7) (8) }while(n != 0); return sum; }

【供选择的答案】

2

(5) A、sumdigit(i) == 12

C、sumdigit(n) == n (6) A、sum = sum; (7) A、sum = 0;

B、sumdigit(i) == i D、sumdigit(n) == 12 C、;

D、sum = n;

B、sum = 0;

B、sum = sum + n; D、sum = sum + n/10; B、n = n; D、n = n/10;

C、sum = sum + n; (8) A、n = n*10;

C、n = n-10;

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

【程序说明】

输入一个字符串(少于80个字符),将其两端分别加上括号后组成一个新字符串。要求定义和调用函数cat(s,t),该函数将字符串t连接到字符串s。 运行示例:

Enter a sring: hello After: (hello) 【程序】

#include

void cat(char *s, char *t) { int i, j;

i = 0;

while( s[i] != ’\\0’ )

i++; (9)

while( t[j] != ’\\0’ ) {

(10) j++; }

(11) } main()

{ char s[80]=”(” , t[80];

printf(”Enter a string: ”); gets(t); (12) cat(s, ”)” ); printf(”After:”); puts(s); }

【供选择的答案】 (9) A、j = 0

B、s[i] = ’\\0’

3

C、i--; j=0 D、j = i

(10)A、s[i] = t[j];

B、t[j] = s[i]; D、t[i] = s[j]; B、s[i+j] = ’\\0’; D、t[i] = s[j]; B、cat(t, s); D、cat(s, t);

C、s[i+j] = t[j]; (11)A、t[j] = ’\\0’;

C、s[j]= ’\\0’;

(12)A、cat(”(” , t);

C、cat(”(” , t, ”)”);

4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案

【程序】

#include void f1(int n) { while(n--)

printf(”%d ”, n); printf(”%d\\n”, n); }

int f2(int n)

{ if(n <= 2) return 1;

else return f2(n-1) + f2(n-2); } main( )

{ int a = 4;

printf(\printf(\f1(3);

printf(\} 【问题】

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

A、0 1

B、1 0

C、0 4

D、1 10

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

A、1 4

B、0 5

C、0 4

D、0 1

(15) 程序运行时,第3行输出 (15) 。

A、3 2 1 0 B、3 1

C、2 1 0 -1

D、2 1 0

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

A、3 4

B、2 3

C、5 8

D、3 5

4

5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案 【程序】

程序1

#include ”stdio.h” main()

{ int i, j , n = 4 ;

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

for(j = 1; j <= i; j++)

putchar(’*’);

putchar(’\\n’); } 程序2

#include int f(int n)

{ static int k = 1;

k++;

return 2*n + k; } main()

{ printf(”%d\\n”, f(4));

printf(”%d\\n”, f(f(4))); } 【问题】

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

A、*****

B、****

C、**

D、*

(18)程序1运行时,第2行输出 (18) 。

A、*****

B、****

C、**

D、*

(19)程序2运行时,第1行输出 (19) 。

A、26

B、10

C、22

D、6

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

A、26

B、7

C、22

D、6

6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案 【程序】

#include main() { int i,j;

5

char *s[4] = {”five”, ”four”, ”three”, ”seven”}; for(i = 0; i < 4; i++)

for(j = i; j < 4-i; j++)

printf(\

} 【问题】

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

A、three A、our A、ve A、n

B、five B、hree B、ree B、r

C、four C、even C、ur C、e

D、seven D、ive D、ven D、en

(22) 程序运行时,第2行输出 (22) 。 (23) 程序运行时,第3行输出 (23) 。 (24) 程序运行时,第4行输出 (24) 。

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

1. 输入一个正整数m和n(1≤n≤6),再输入一个n行n列的矩阵a,统计并输出该矩阵

中非零元素的数量。 2. 按下面要求编写程序:

(1) 定义函数power(x,n)计算x的n次幂(即xn),函数返回值类型是double。 (2) 定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数

power(x,n)计算x的n次幂。

s?2?22?23????2n

6

char *s[4] = {”five”, ”four”, ”three”, ”seven”}; for(i = 0; i < 4; i++)

for(j = i; j < 4-i; j++)

printf(\

} 【问题】

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

A、three A、our A、ve A、n

B、five B、hree B、ree B、r

C、four C、even C、ur C、e

D、seven D、ive D、ven D、en

(22) 程序运行时,第2行输出 (22) 。 (23) 程序运行时,第3行输出 (23) 。 (24) 程序运行时,第4行输出 (24) 。

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

1. 输入一个正整数m和n(1≤n≤6),再输入一个n行n列的矩阵a,统计并输出该矩阵

中非零元素的数量。 2. 按下面要求编写程序:

(1) 定义函数power(x,n)计算x的n次幂(即xn),函数返回值类型是double。 (2) 定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数

power(x,n)计算x的n次幂。

s?2?22?23????2n

6

本文来源:https://www.bwwdw.com/article/iucx.html

Top