浙江省二级C语言笔试真题(2007-2010年)

2019-03-27 18:28

2010年春浙江省高等学校

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

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

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

【程序说明】

输入一个整数,求它的各位数字之和及位数。例如,17的各位数字之和是8,位数是2。 运行示例:

Enter an integer:-153

sum = 8, count = 3 【程序】

#include main() {

int count = 0, in, sum = 0; printf(\ scanf(\ if( D ) in = -in; do{

sum = sum + (2) C ; (3)C ; count++;

}while( (4)B );

printf(\}

【供选择的答案】 (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

1

#include main()

{ int i; int isprime(int m); for(i = 50; i <= 70; i++) if( (5) B )

printf(\}

int isprime(int m) {

int i, k; (6)B

k = (int)sqrt((double)m); for(i = 2; i <= k; i++)

if(m % i == 0) (7) A ; (8)A ; }

【供选择的答案】 (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]; for(i = 0; i < 6; i++) scanf(\ (10) ;

for(i = 1; i < 6; i++) if(a[index] > a[i]) (11) ; (12) ;

printf(\ for(i = 0; i < 6; i++) printf(\

2

printf(\}

【供选择的答案】 (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(\ case '1': printf(\

case '2': printf(\ case '3': printf(\ default: printf(\ }

printf(\}

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(\ f1('1');

printf(\ printf(\} 【问题】

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

3

A、7 -1 B、-1 7 C、7 a (14) 程序运行时,第2行输出 (14) 。

A、1239 B、12 C、1 (15) 程序运行时,第3行输出 (15) 。

A、2.5 B、2 C、2.0 (16) 程序运行时,第4行输出 (16) 。 A、1.000 B、2.000 C、1.500

D、-1 -1 D、9 D、3

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; i++)

for(j = 0; j <= i/2; j++){

t = a[i][j], a[i][j] = a[i][3-j], a[i][3-j] = t; }

printf(\ printf(\}

程序2

#include main() {

char str[10] = \ 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(\

for(i = 0; str[i] != '\\0'; i++)

if(str[i] >= '0' && str[i] <= '5')

number = number * 6 + str[i] -'0'; printf(\} 【问题】

(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阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】

4

#include main() {

int i, j;

char ch, *p1, *p2, *s[4]={\ 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(\} 【问题】

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

1.编写程序,输入100个整数,将他们存入数组a,求数组a中所有奇数之和。

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

(1)定义函数total(n)计算1?2?3????n,函数返回值类型是int。

(2)定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数total(n)计算1?2?3????n。 s?1?11?2?11?2?3????11?2?3???n

计算机等级考试参考答案(二级C)

一、程序阅读与填空(24小题,每小题3分,共72分) ⑴ D ⑵ C ⑶ C ⑷ B ⑸ B ⑹ B ⑺ A ⑻ A ⑼ A ⑽ A ⑾ D ⑿ D ⒀ A ⒁ B ⒂ C ⒃ D ⒄ D ⒅ C ⒆ C ⒇ B (21)A (22)B (23)C (24)D 二、程序编写(每小题14分,共28分)

5


浙江省二级C语言笔试真题(2007-2010年).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:24大小调音阶及其键盘位置与首调唱名法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: