浙江省高等学校
计算机等级考试试卷(二级C)
2010-2007笔试部分真题
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("Enter an integer:");
scanf("%d", &in);
if( D ) in = -in;
do{
sum = sum + (2) C ;
(3)C ;
count++;
}while( (4)B );
printf("sum = %d, count = %d\n", sum, count);
}
【供选择的答案】
(1) A、in == 0B、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 % 10B、in /10
C、in = in /10D、in % 10
(4) A、in % 10 != 0B、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
#include
main()
{int i; int isprime(int m);
for(i = 50; i <= 70; i++)
if( (5) B )
printf("%d ", i);
}
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) != 0B、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 0B、return 1
C、return i <= k D、return
(8) A、return 1B、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("%d", &a[i]);
(10) ;
for(i = 1; i < 6; i++)