当前位置:文档之家› 2007年秋浙江省计算机等级考试二级C试卷及答案

2007年秋浙江省计算机等级考试二级C试卷及答案

2007 年秋浙江省高等学校计算机等级考试试卷(二级 C)说明:(1) 考生应将所有试题的答案填写在答卷上. 其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”.(2) 请将你的准考证号的后五位填写在答卷右下角的指定位置内.(3) 考试时间为 90 分钟.试题1 (每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案,[程序说明]输入 2 个整数lower 和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加 20 F. 计算公式如下,式中: c 表示摄氏温度,f表示华氏温度。

C= 5x(f一32)/9运行示例:Enter lower: 30Enter upper: 35fahr celsius30 -1.132 0.034 1.1[程序]#include <stdio.h>main( ){ int fahr, lower, upper,double celsiusprintf (”Enter lower:”);scanf ("%d”, &lower”);printf ("Enter upper:”);scanf (“%d”, &upper);printf(”fahr celsius \n”);for (fahr=lower;____(1)____;____(2)____){celsius =____(3)____ ;printf (“%d ____ (4)_____ \n“, fahr, celsius);}}[供选择的答案]计算机等级考试试卷(二级C)第1页(共7页)(l) A、 fahr <= upper B、fahr < upperC 、 fahr >=uppa r D、 fahr > upper(2) A、 fahr++ B、 fahr =fahr -2C、 fahr + 2D、fahr + 2(3) A、5*(fahr – 32) /9 B、(5.0/9.0)*(fahr – 32)C、 5/9*(fahr – 32)D、 5 * fahr - 32/9(4) A、 %6d B、%6.2f C、%6.lf D、%6.0f试题2(每小题3分,共12分)阅读下列程序说明和程序. 在每小题提供的若干可选答案中,挑选一个正确答案. [程序说明]输入2 个正整数 a 和 n,求 a+aa+aaa+aa...a(n 个 a)之和.要求定义并调用函数 fn(a,n),它的功能是返回aa...a(n个a).例如,fn(3,2)的返回值是33.运行示例,Enter a: 2Enter n: 3sum = 246[程序]#include<stdio.h>main ( ){ int i, n;long a, sn;long fn(long a, int n);printf(“Enter a;”);scanf (“%ld”, &a);printf(“Enter n:”);scanf(“%d”,&n);_________(5)_______________for ( i=1;i<=n; i++)_________(6)____________printf(“sum=%ld\n”,sn);}long fn(long a,int n){ int i;long tn=0;for(i=1;i<=n;i++) {tn=tn+a;________(7)____________}(8)}[供选择的答案](5)A sn=0; B ;C sn=1;D sn=a;(6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n);C sn=sn+fn(I,a);D sn=sn+fn(I,n);(7) A tn=tn*10; B a=a*10;C sn=tn*10;D sn=sn+a*10;(8) A return; B return sn;C return a;D return tn;试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

[程序说明]输入一个以回车结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其他字符,再判断新字符串是否对称(不区分大小写字母)。

运行示例1:Enter a string : Madam I’m AdamYes运行示例2:Enter a string : elephantNo#include <stdio.h>#include <___(9)___>main(){ int flag ,i,k,length;char str[80];printf(“Enter a string:”);gets(str);i=k=0;while(str[i]!=’\0’){if(isupper(str[i])) str[i]=tolower(str[i]);if(isdigit(str[i])//isalpha(str[i])){(____10____)k++;}i++;计算机等级考试试卷(二级C)笫 3 页(共 7 页)}____(11)______length=k;flag=1;for(k=0;k<=length/2;k++)if(str[k]!=str[length-1-k]){_____(12)______break;}if(flag) printf(“Yes\n”);else printf(“No\n”);}[供选择的答案](9) A 、ctype.h B、string . hC、stdilb .hD、math .h(10) A、i++; B、str[k]=str[i];C、str[i]=str[k];D、;(11) A 、str[i]=’\0’; B 、str[i-1]=’\0’;C、str[k]=’\0’;D、;(12) A、flag=1; B、flag=0;C 、;D 、continue;试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案. [程序]#I include<stdio.h>main(){ int i,,m;scanf(“%d”,&m);for(i=2;i<=m/2;i++)if(m%i==0){printf(“%d#”,i);break;} /*第8行*printf(“%d”,i);}(13)程序运行时,输入5,输出____13_____A、3B、3#3C、3#4D、3#5(14)程序运行时,输入9,输出___14______A、 3B、3#3C、3#4D、3#5(15)将第8行改为”continue;”后,程序运行时,输入9,输出——。

A、 3B、3#3C、3#4D、3#5(16)将第8行改为“;“后,程序运行时,输入9,输出——。

A 、3 B、3#3C、3#4D、3#5试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

[程序]#include<stdio.h>main(){int i,j,temp;int a[3][3]={1,2,3,4,5,6,7,8,9};void f(int *x,int *y);for(i=0; i<3;i++)for(j=0;j<3;j++)if(i<j) f(&a[i][j],&a[j][i]); /*第8行*/for(i=0;i<3;i++)for(j=0;j<3;j++)printf(“%2d”, a[i][j]);}void f(int *x,int *y){ int t;t=*x; *x=*y; *y=t;}(17)程序的输出是—(17)——。

A、3 2 1 6 5 4 9 8 7B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9D、1 4 7 2 5 8 3 6 9(18)将第8行改为”f(&a[I][j],&a[j][I]);”后,程序的输出是——(18)——。

A、 3 2 1 6 5 4 9 8 7B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9D、1 4 7 2 5 8 3 6 9、(19)将第8行改为”if(I<2) f(&a[I][j],&a[2-I][j]);”后,程序的输出是——(19)——。

A、3 2 1 6 5 4 9 8 7B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9D、1 4 7 2 5 8 3 6 9、(20)将第8行改为”if(j<2) f(&a[I][2-j]);”后,程序的输出是——(20)——。

A、3 2 1 6 5 4 9 8 7B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9D、1 4 7 2 5 8 3 6 9试题6(每小题3分,共12分)#include<stdio.h>main(){ int i,x1,x2;int a[5]={1,2,3,4,5};void f1(int x,int y), f2 (int *x, int *y);x1=x2=0;for(i=1;i<5; i++){if (a[i]<a[x1])x2=i;}f2(&a[x1], &a[0]);for (i=0;i<5;i++) printf (“%2d”,a[i]);printf (“\n”);f1 (a[x2], a[1]);for (i=0; i<5;i++) printf (“%2d”,a[i]);printf (“\n”);f2(&a[x2], &a[4]);for (i=0; i<5;i++) printf (“%2d”,a[i]);printf (“\n”);f1 (a[x1],a[3]);for (i=0; i<5;i++) printf (“%2d”,a[i]);printf (“\n”);}void f1 (int *x, int *y){ int t;t=x; x=y; y=t;}void f2(int *x, int *y){ int t;t=*x; *x=*y; *y=t;}(21) 程序运行时,第1行输出——(21)——。

相关主题