2012年_春_浙江省高等学校(C语言)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

}

相关文档
最新文档