当前位置:文档之家› 浙江省等级考试二级C语言2007年春试卷及答案

浙江省等级考试二级C语言2007年春试卷及答案


(1) 定义函数cal_power(x, n)计算x的n次幂(即xn),函
数返回值类型是double。
(2) 定义函数cal_money(loan,rate,month)计算月还款
额,函数返回值类型是double,要求调用函
数cal_power(x, n)计算x的n次幂。
(3) 定义函数main(),输入贷款本金
/* 第12行 */
printf("j=%d, k=%d\n", j, k);
}
(13) 程序运行时,输入5,输出
(13)

A、j=0, k=5
B、j=5,k=5
C、j=0,k=-1
D、
j=5,k=-1
(14) 程序运行时,输入99,输出
(14)

A、j=99, k=-1
B、j=0, k=-1
C、j=0, k=99
2007年春浙江省高等学校
计算机等级考试试卷(二级C)
说明:⑴ 考生应将所有试题的答案填写在答卷上。其中试题一到试题六请 在答卷上的各小题选项的对应位置上填“√”。
⑵ 请将你的准考证号的后五位填写在答卷右下角的指定位置内; ⑶ 考试时间为90分钟。
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选 一个正确答案。
D、
k=1,k=1,k=1
(18)将第11行改为“static int k=1;”后,程序的输出是
(18)

A、k=1,k=1,k=1
B、k=1,k=1,k=2
C、k=1,k=2,k=1
D、
k=1,k=2,k=3
(19) 将第11行改为“k=1;”后,程序的输出是
(19)

A、k=1,k=2,k=1
printf("%s\n", f(a[k]));
}
char * f(struct st t)
{ int k = 0;
while(t.s[k]!='\0'){
if(t.s[k] == t.c) return t.s+k;
k++;
}
return t.s;
}
(21) 程序运行时,第1行输出
(21)

A、321
if( (9) )
sum += a[j][k];
printf("sum1 = %d\n", sum);
(10)
for(j = 0; j < 4; j++)
for( (11) ; (12) ; k++)
sum += a[j][k];
printf("sum2 = %d\n", sum);
}
【供选择的答案】
【程序说明】 输入一个正整数,按照从高位到低位的顺序输出各位数字。 运行示例:
Enter an integer: 1902 The digits are: 1 9 0 2 【程序】 #include <stdio.h> void main( ) { int digit, number, power, t;
有元素之和sum1,再计算和输出该矩阵主对角线以上(含主对角线)的所 有元素之和sum2, 主对角线为从矩阵的左上角至右下角的连线。
运行示例: Enter an array:
123 4 567 8 9 10 11 12 13 14 15 16 sum1 = 34 sum2 = 70 【程序】 #include <stdio.h> void main( ) { int j, k, sum;
loan(元)和月利率
rate,输出“还款年限-月还款额表”,还款年限的范围
是5~30年,输出时分别精确到年和元。要求调用函数
cal_money(loan,rate,month)计算月还款额。
2007春年秋浙江省高等学校计算机等级考试答案 (二级C)
试题1~试题6请在各小题正确选项的对应位置处填“√”(每小题3分,
B、21
C、123
D、12
(22) 程序运行时,第2行输出
(22)

A、21
B、12
C、3
D、1
(23) 程序运行时,第3行输出
(23)

A、3
B、123
C、1
D、321
(24) 程序运行时,第4行输出
(24)

A、123
B、1
C、3
D、321
试题7 (28分)
某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金 (loan)和月利率(rate)一定的情况下,住房贷款的月还款额 (money)取决于还款月数(month),计算公式如下。客户打算在5 ~30年的范围内选择还清贷款的年限,想得到一张“还款年限-月还款 额表”以供参考。
for(j = 0; j < 2; j++)
Fun();
printf("k=%d", k);
}
void Fun()
{ int k = 1;
/* 第11行 */
printf("k=%d,", k);
k++;
}
(17)程序的输出是
(17)

A、k=1,k=2,k=3
B、k=1,k=2,k=1
C、k=1,k=1,k=2
(9) A、j != 3 && k != 3 && j != 0 && k !=0
B、j != 3 && k != 3 || j != 0 && k !=0
C、j != 3 || k != 3 && j != 0 || k !=0
D、j == 3 && k == 3 || j == 0 && k ==0
printf("Enter an integer:"); scanf("%d", &number); number = number < 0 ? -number : number;
power = 1; (1)
while( (2) ){ power *= 10; t /= 10;
}; printf("The digits are:"); while( (3) ){
(16)

A、j=0, k=-1
B、j=0,k=0
C、j=5,k=5
D、
j=5,k=-1
试题5(每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选
一个正确答案。
【程序】
#include <stdio.h>
int k = 1;
void Fun();
void main()
{ int j;
main() { int year,monthmoney;
D、j=99, k=99
(15) 将第12行改为“k = -1;j=i/10;”后,程序运行时,输入
99,输出
(15)

A、j=99, k=-1
B、j=9,
k=99
C、j=99, k=99
D、j=9, k=-1
(16) 将第7行改为“if((i/10) > 0){”,第12行改为“k =
-1;}”后,程序运行时,输入5,输出
mark[k++] = x; scanf("%d", &x);
}
if(k > 0) printf("Max = %d\n", getmax(
(8) ));
else printf("No marks!\n");
}
【供选择的答案】
(5) A、int n; int array[]
B、void
C、int *array
【程序说明】 连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入
的成绩不是有效成绩(有效成绩为0~100),将输入的有效成绩存入数 组mark中,在数组中查找并输出最高分。函数getmax(array,n)在有n个 元素的一维数组array中找出并返回最大值。
运行示例: Enter marks: 90 80 77 65 -1 Max = 90 【程序】
共72分)
A BCD
(1)


A BCD
(13) √

(2)
(3)

(4)

(5)

(6)

(7)

(8) √
(9) √
(10)

(11)

(12)

(14)
(15)

(16)

(17)

(18)

(19)

(20)

(21)

(22) √
(23) √
(24)

试题7(28分) #include "stdio.h" double cal_power(double x,int n) { double sp=1.0; int i; for(i=1;i<=n;i++)
struct st{
char c; char s[80];
};
char * f(struct st t);
void main( )
相关主题