当前位置:首页 > 计算机二级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
{ 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
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
{ 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
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
{ 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页
共分享92篇相关文档