计算机二级c语言

发布时间 : 星期三 文章计算机二级c语言更新完毕开始阅读

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

A、21 B、12 C、3 D、1 A、3 B、123 C、1

D、321

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

A、123 B、1 C、3 D、321

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

试题7 (28分)

某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),计算公式如下。客户打算在5~30年的范围内选择还清贷款的年限,想得到一张“还款年限-月还款额表”以供参考。

rate(1?rate)monthmoney?loan?(1?rate)month?1

(1) 定义函数cal_power(x, n)计算x的n次幂(即x),函数返回值类型是double。 (2) 定义函数cal_money(loan,rate,month)计算月还款额,函数返回值类型是double,要

求调用函数cal_power(x, n)计算x的n次幂。

()n

定义函数main(),输入贷款本金 loan(元)和月利率 rate,输出“还款年限-月还款额表”,还款年限的范围是5~30年,输出时分别精确到年和元。要求调用函数cal_money(loan,rate,month)计算月还款额。

2006年秋浙江省高等学校 计算机等级考试试卷(二级C)

说明:⑴ 考生应将所有试题的答案填写在答卷上。其中试题一到试题六请在答卷上的各小题选项的

对应位置上填“√”。

⑵ 请将你的准考证号的后五位填写在答卷右下角的指定位置内; ⑶ 考试时间为90分钟。

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

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

输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。 运行示例:

Enter characters: f(x,y)=3x+5y-10 letter=5, digit=4, other=6

【程序】

#include void main( )

{ int digit, i, letter, other; (1) ch;

共76页 第13页

digit = letter = other = 0; printf(\ while( (2) != '\\n') if( (3) ) letter ++;

(4) (ch >= '0' && ch <= '9') digit ++; else

other ++;

printf(\}

【供选择的答案】

(1) A、* B、float C、double D、char (2) A、(ch = getchar())

B、ch = getchar()

C、getchar(ch) D、putchar(ch)

(3) A、(ch >= 'a' && ch <= 'z') && (ch >= 'A' && ch <= 'Z')

B、(ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') C、ch >= 'a' && ch <= 'Z' D、ch >= 'A' && ch <= 'z' (4) A、if

B、else

D、if else

C、else if

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

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

【程序说明】

输入一个整数,将它逆序输出。要求定义并调用函数reverse(long number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。

运行示例:

Enter an integer: -123 After reversed: -321 【程序】

#include void main( ) { long in;

long reverse(long number); printf(\ scanf(\

printf(\}

long reverse(long number) { int flag; (6) ;

flag = number < 0 ? -1 : 1; if( (7) ) number = - number;

共76页 第14页

while(number != 0){ res = (8) ; number /= 10; }

return flag*res; }

【供选择的答案】

(5) A、reverse( ) B、in

C、reverse(in) D、reverse (6) A、res = 0 B、long res C、long res = 0 D、res

(7) A、number > 0 B、number < 0 C、number != 0 D、number == 0

(8) A、number B、res*10 + number C、number/10

D、res*10 + number/10

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

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

输入一个3 行2 列的矩阵,分别输出各行元素之和. 运行示例: Enter an array: 6 3 1 -8 3 12

sum of row 0 is 9 sum of row 1 is -7 sum of row 2 is 15 【程序】

#include void main( )

{ int j, k, sum = 0; int a[3][2];

printf(\ for(j = 0; j < 3; j++) for(k = 0; k < 2; k++) scanf(\ for(j = 0; j < 3; j++){ (10)

for(k = 0; k < 2; k++) sum = (11) ;

printf(\ } }

共76页 第15页

【供选择的答案】

(9) A、a[j][k] B、a[k][j] C、&a[j][k] D、&a[k][j] (10) A、; B、sum = -1; C、sum = 1; D、sum = 0;

(11) A、sum + a[j][k] B、sum + a[j][j] C、sum + a[k][k] D、0 (12) A、k

B、j

C、0 D、1

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

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

#include void main( ) { int k;

for(k = 5; k > 0; k--){ if(k==3)

continue; /* 第6行 */ printf(\ } }

(13) 程序的输出是 (13) 。 A、5 4 3 2 1 B、5 4 2 1 A、5 4 3 2 1 B、5 4 2 1 A、5 4 3 2 1 B、5 4 2 1 A、5 4 3 2 1 B、5 4 2 1

C、5 4 D、3 C、5 4 D、3 C、5 4 D、3

(16) 。 C、5 4 D、3

(14) 将第6行中的continue改为break后,程序的输出是 (14) 。 (15) 将第6行中的continue删除(保留分号)后,程序的输出是 (15) 。 (16) 将第6行全部删除后,程序的输出是

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

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

# include void main()

{ char c, s[80]= \ int i;

void f(char *s, char c); c = getchar(); f(s, c); puts(s); }

void f(char *s, char c) { int k = 0, j = 0;

共76页 第16页

联系合同范文客服:xxxxx#qq.com(#替换为@)