2012年_春_浙江省高等学校(C语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年上半年浙江省高等学校计算机等级考试
二级C程序设计试卷
说明:
⑴本试卷共6页,满分100分;考试时间为90分钟;
⑵考生应将所有试题的答案填写在答卷上;
⑶程序阅读与填空全部是选择题,请在答卷上的各小题选项的对应位置上填“√”;
⑷请将你的准考证号的后五位填写在答卷右下角的指定位置内。
一、程序阅读与填空(24小题,每小题3分,共72分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】
输入一个正整数m,判断它是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。
运行示例:
Enter m:9
9 is not a prime.
Enter m:79
79 is a prime.
【程序】
#include
#include
void main()
{ int j,k,m;
printf("Enter m:");
scanf("%d",&m);
k=sqrt(m);
for(j=2; (1);j++)
if( (2)) (3);
if(j>k && (4))
printf("%d is a prime.\n",m);
else
printf("%d is not a prime.\n",m);
}
【供选择的答案】
(1)A、j>k B、j<=k C、j>m D、j (2)A、m%j==0 B、m%j=0 C、m%j!=1 D、m%j==1 (3)A、return B、break; C、go D、continue (5)A、m==1 B、m!=2 C、m!=1 D、m==2 2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 输一个正整数n1,再输入第一组n1个数,这些数已按从小到大的顺序排列,然后输入一正整数n2,随即输入第二组n2个数,它们也按从小到大的顺序排列,要求将这两组数合并,合并后的数应按从小到大的顺序排列。要求定义和调用函数merge(list1,n1,list2,n2,list,n),其功能是将数组list1的前n1个数和数组list2的前n2个数共n个数合并存入数组list,其中list1的前n1个数和list2的前n2个数分别按从小到大的顺序排列,合并后的数组list的前n 个数也按从小到大的顺序排列。 运行示例: Enter n1:6 Ente 6 integers:2 6 12 39 50 99 Enter n1:5 Ente 5 integers:1 3 6 10 35 Merged:1 2 3 6 6 10 12 35 39 50 99 【程序】 #include void merge(int list1[],int n1,int list2[],int n2,int list[], (5)) { int i,j,k; (6) while(i if( (7)) list[k]=list1[i++]; else list[k]=list2[j++]; k++; } while(i while(i (8); } void main() { int i,n1,n2,n,list1[100],list2[100],list[100]; printf("Enter n1:"); scanf("%d",&n1); printf("Ente %d integers:",n1); for(i=0;i scanf("%d",&list1[i]); printf("Enter n2:"); scanf("%d",&n2); printf("Ente %d integers:",n2); for(i=0;i scanf("%d",&list2[i]); merge(list1,n1,list2,n2,list,&n); printf("Merged:"); for(i=0;i printf("%d ",list[i]); printf("\n"); } 【供选择的答案】 (5)A、int &n B、int n C、n D、int *n (6)A、i=j=0; B、i=j=k=1; C、i=j=k=0; D、k=0; (7)A、list1[k] C、list1[i] D、list1[i]>list2[j] (8)A、*n=k B、return n1+n2 C、n=k D、return k 3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成密文。变换规则如下:小写字母z变换成为a,其他字符变换成为该字符ASCII码顺序后1位的字符,比如o 变换成p。 输入一个字符串(少于80个字符),输出相应的密文。要求定义和调用函数encrypt(s),该函数将字符串s变换为密文。 运行示例: Input the string:hello hangzhou After being encrypted:ifmmp!ibohaipv 【程序】 #include #include void encrypt(char *); void main() { char line[80]; printf("Input the string:"); gets(line); (9); printf("After being encrypted:%s\n",line); } void encrypt(char s[]) { int i; for(i=0; (10);i++) if(s[i]=='z') (11) else (12) }