浙江省高校计算机等级考试二级C笔试试题.docx

上传人:b****8 文档编号:9284123 上传时间:2023-02-04 格式:DOCX 页数:23 大小:28.77KB
下载 相关 举报
浙江省高校计算机等级考试二级C笔试试题.docx_第1页
第1页 / 共23页
浙江省高校计算机等级考试二级C笔试试题.docx_第2页
第2页 / 共23页
浙江省高校计算机等级考试二级C笔试试题.docx_第3页
第3页 / 共23页
浙江省高校计算机等级考试二级C笔试试题.docx_第4页
第4页 / 共23页
浙江省高校计算机等级考试二级C笔试试题.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

浙江省高校计算机等级考试二级C笔试试题.docx

《浙江省高校计算机等级考试二级C笔试试题.docx》由会员分享,可在线阅读,更多相关《浙江省高校计算机等级考试二级C笔试试题.docx(23页珍藏版)》请在冰豆网上搜索。

浙江省高校计算机等级考试二级C笔试试题.docx

浙江省高校计算机等级考试二级C笔试试题

2009年秋浙江省高等学校

计算机等级考试试卷(二级C)

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。

运行示例:

sum=-0.8361

【程序】

#include

#include

main()

{

intdenomintor=1,flag=1;

doubleitem,sum=0;

(1)

while(

(2))

{

(3)

denomintor=denomintor+3;

flag=-flag;

}

printf("sum=(4)\n",sum);

}

【供选择的答案】

(1)A.item=0;B.fitem=0.0001;

C.;D.item=2;//答案D

(2)A.fabs(item)>=1E-3B.fabs(item)<1E-3

C.fabs(item)>=0.0001D.fabs(item)<0.001//答案A

(3)A.sum=sum+item;item=flag*1.0/denominator;

B.sum=sum+flag*1.0/denominator;

C.item=flag*1.0/denominator;sum=sum+item;

D.item=item+flag*1.0/denominator;//答案C

(4)A.%.0fB.%.4f

C.%fD.%4.f//答案B

试题2(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输出1到100之间的所有完数,要求定义和调用函数is(n)判断n是否为完数,若n为完数返回1,否则返回0。

完数是因子和与它本身相等的数,1不是完数。

运行示例:

628

【程序】

#include

main()

{

inti;intis(intn);

for(i=1;i<=100;i++)

if((5))

printf("%d",i);

}

intis(intn)

{

inti,sum;

(6)

sum=0;

for(i=1;i<=n/2;i++)

if((7))

sum=sum+i;

if((8))return1;

elsereturn0;

}【供选择的答案】

(5)A.is(i)==0B.is(i)!

=0

C.!

is(i)D.is(n)//答案B

(6)A.is(n!

=1)return1;

B.is(n!

=1)return0;

C.is(n==1)return0;

D.is(n==1)return1;//答案C

(7)A.n%i==0B.n%i!

=0

C.i%n==0D.i%n!

=0//答案A

(8)A.n==0B.sum!

=n

C.i>n/2D.sum==n//答案D

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

计算并输出Fibonacci序列前10项之和。

要求定义和调用函数fun(fib,n),该函数将Fibonacci序列前n项的存放在一维数组fib中。

Fibonacci序列:

1,2,3,5,8,13,21,34,55,……,该序列的第一个数和第二数据是1,从第三个开始,每个数是前两数之和。

运行示例:

sum=143

【程序】

#include

main()

{inti,sum,a[10];

(9)

(10)

sum=0;

for(i=0;i<10;i++)

sum+=(11);

printf("sum=%d",sum);

}

voidfun(intfib[],intn)

{inti;

fib[0]=fib[1]=1;

for(i=2;i

(12)

}

【供选择的答案】

(9)A.fun(intfib[],intn);B.voidfun(intfib[],intn)

C.;D.voidfun(intfib[],intn);//答案D

(10)A.fun(fib,10);B.fun(a[],10);

C.fun(a,10);D.fun(a[10],10);//答案C

(11)A.fib[i]B.a[i]

C.a[10]D.fib[0]//答案B

(12)A.fib[i]=fib[i-1]+fib[i-2];

B.fib[i-1]=fib[i-2]+fib[i-3];

C.fib[i+1]=fib[i-1]+fib[i];

D.fib[i]=fib[i-1]+fib[i+1];//答案A

试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

#defineS(a,b)(a)>(b)?

(a):

(b)

intf1(charch)

{intgrade;

switch(ch)

{

case'A':

grade=95;break;

case'B':

grade=85;break;

case'C':

grade=75;

case'D':

grade=65;break;

default:

grade=0;

}

returngrade;

}

intf2()

{

staticintk=1,s;

s=s+k;

k++;

returns;

}

intf3(intn)

{

if(n==1)return2;

elsereturnf3(n-1);

}

main()

{

inti;

printf("%d\n",f1('C'));

for(i=1;i<=3;i++)

f2();

printf("%d\n",f2());

printf("%d\n",f3(4));

printf("%d\n",S(3,2+2));

}

(13)程序运行时,第1行输出(13)。

A.65B.0

C.75D.95//答案A

(14)程序运行时,第2行输出(14)。

A.10B.1

C.6D.2//答案A

(15)程序运行时,第3行输出(15)。

A.24B.2

C.10D.1//答案B

(16)程序运行时,第4行输出(16)。

A.3B.4

C.5D.1//答案B

试题5(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

程序1

#include

main()

{

inti,j,a[3][3]={1,0,0,4,5,0,7,8,9};

intflag=1;

for(i=0;i<3;i++)

for(j=0;j

flag=a[i][j];

printf("%d\n",flag);

for(j=2;j>0;j--)

for(i=2;i>=j;i--)

flag=a[i][j];

printf("%d\n",flag);

}

程序2

#include

main()

{

charstr[10]="4Ae2E";

inti;

for(i=0;str[i];i++)

if(str[i]>='a'&&str[i]<='z')

putchar(str[i]);

putchar('\n');

for(i=0;str[i];i++)

if(str[i]>='a'&&str[i]<='z')

putchar(str[i]-'a'+'A');

elseif(str[i]>='A'&&str[i]<='Z')

putchar(str[i]-'A'+'a');

putchar('\n');

}

(17)程序运行时,第1行输出(17)。

A.0B.1

C.8D.9//答案C

(18)程序运行时,第2行输出(18)。

A.9B.7

C.5D.1//答案C

(19)程序运行时,第3行输出(19)。

A.AeEB.a

C.aeD.e//答案D

(20)程序运行时,第4行输出(20)。

A.4Ae2EB.42

C.AeED.aEe//答案D

试题6(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

#include

main()

{

inti,j;

charstr[10],*s[10]={"SQL","hello","bear","zone"};

gets(str);

for(i=0;i<4;i++){

if(strcmp(str,s[i])>0)continue;

j=3;

while(j>=i){

s[j+1]=s[j];

j--;

}

s[i]=str;

break;

}

if(i==4)s[4]=str;

for(i=0;i<5;i++)

printf("%s",s[i]);

putchar('\n');

}

(21)程序运行时,输入apple,输出(21)。

A.SQLapplehellobearzone

B.appleSQLhellobearzone

C.SQLhellobearzoneapple

D.SQLhelloapplebearzone//答案A

(22)程序运行时,输入I,输出(22)。

A.SQLhellobearIzone

B.ISQLhellobearzone

C.SQLIhellobearzone

D.SQLhellobearzoneI//答案B

(23)程序运行时,输入zoo,输出(23)。

A.zooSQLhellobearzone

B.SQLhellobearzoozone

C.SQLhellobearzonezoo

D.SQLhellobearzoozone//答案C

(24)程序运行时,输入orange,输出(24)。

A.SQLorangehellobearzone

B.SQLhelloorangebearzone

C.orangeSQLhellobearzone

D.SQLhellobearorangezone//答案D

试题7(28分)

1.编写程序,编写程序输入100个整数,将它们存入数组a中,查找并输出数组a中最小值。

参考程序:

#include

#defineN100

main()

{

inta[N],i,min;

printf("请输入%d个整数:

",N);

for(i=0;i

scanf("%d",&a[i]);//输入100个整数

min=a[0];

for(i=1;i

if(min>a[i])min=a[i];//求最小值

printf("最小值是%d\n",min);//输出最小值

}

2.按下面要求编写程序:

(1)定义函数cal_power(x,n)计算x的n次幂(xn),函数的返回值勤类型是double。

(2)定义函数main(),输入两个浮点数x和整数n,计算并输出下列算式的值。

要求调用函数cal_power(x,n)计算x的n次幂。

参考程序:

#include

doublecal_power(doublex,intn)//第

(1)题

{inti;

doublet=1;

for(i=1;i<=n;i++)

t=t*x;

returnt;

}

main()//第

(2)题

{

doublex,sum=0;

inti,n;

scanf("%f,%d",&x,&n);

for(i=1;i<=n;i++)

sum+=1/cal_power(x,i);

printf("%f\n",sum);

}

2010年上半年浙江省高等学校计算机等级考试

二级C程序设计试卷

一、程序阅读与填空(24小题,每小题3分同,共72分)

1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个正整数,求它的各位数字及位数,例如,17的各位数字之和是8,位数是2。

运行示例:

Enteraninteger:

-153

sum=9,count=3

【程序】

#include

main()

{

intcount=0,in,sum=0;

printf("Enteraninteger:

");

scanf("%d",&in);

if(

(1))in=-in;

do

{

sum=sum+

(2);

(3);

count++;

}while((4));

printf("sum=%d,count=%d\n",sum,count);

}【供选择的答案】

(1)A.in==0B.in>0

C.in!

=0D.in<0//答案D

(2)A.in/10B.inmod10

C.in%10D.in//答案C

(3)A.in=in%10B.in/10

C.in=in/10D.in%10//答案C

(4)A.in%10!

=0B.in!

=0

C.!

inD.in/10!

=0//答案B

2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输出50到70之间的所有素数,要求定义和调用函数isprime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

运行示例:

53596167

【程序】

#include

#include

main()

{inti,isprime(intm);

for(i=50;i<=70;i++)

if((5))

printf("%d",i);

}

intisprime(intm)

{

inti,k;

(6);

k=(int)sqrt((double)m);

for(i=2;i<=k;i++)

if(m%i==0)(7);

(8);

}

【供选择的答案】

(5)A.isprime(m)!

=0B.isprime(i)!

=0

C.isprime(m)==0D.isprime(i)==0//答案B

(6)A.if(m!

=1)return1;B.if(m==1)return0;

C.;D.if(m==1)return1;//答案B

(7)A.return0B.return1

C.returni<=kD.return//答案A

(8)A.return1B.return0

C.returnD.returni<=k//答案A

3.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入6个整数,找出最小的数,将它和最后一个数交换,然后输出这6个数。

要求定义和调用函数swap(x,y),该出函数交换指针所指向单元的内容。

运行示例:

Enter6integers:

61821097

Afterswaped:

69782101

【程序】

#include

voidswap(int*x,int*y)

{

intt;

(9);

}

main()

{

inti,index,a[10];

printf("Enter6integers:

");

for(i=0;i<6;i++)

scanf("%d",&a[i]);

(10);

for(i=1;i<6;i++)

if(a[index]>a[i])

(11);

(12);

printf("Afterswaped:

");

for(i=0;i<6;i++)

printf("%d",a[i]);

printf("\n");

}

【供选择的答案】

(9)A.t=*x,*x=*y,*y=t

B.t=x,x=y,y=t

C.*t=*x,*x=*y,*y=*t

D.&t=x,x=y,y=&//答案A

(10)A.index=0B.index=5

C.index=indexD.index=i//答案A

(11)A.a[index]=a[i]B.i=index]

C.a[i]=a[index]D.index=i//答案D

(12)A.swap(a[index],a[5])

B.swap(*a[index],*a[5])

C.swap(a[*index],a[*5])

D.swap(&a[index],&a[5])//答案D

4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

#defineT(c)(((c)>='0')&&((c)<'9')?

(c)-'0':

-1)

voidf1(charch)

{

switch(ch)

{

case'0':

printf("0");

case'1':

printf("1");

case'2':

printf("2");break;

case'3':

printf("3");

default:

printf("9");

}

printf("\n");

}

doublef2()

{

return(double)(5/2);

}

doublef3(intn)

{

if(n==1)return1.0;

elsereturn1.0+1.0/f3(n-1);

}

main()

{

printf("%d%d\n",T('7'),T('a'));

f1('1');

printf("%0.1f\n",f2());

printf("%.3f\n",f3(4));

}

(13)程序运行时,第1行输出(13)。

A.7-1B.-17

C.7aD.-1-1//答案A

(14)程序运行时,第2行输出(14)。

A.1239B.12

C.1D.9//答案B

(15)程序运行时,第3行输出(15)。

A.2.5B.2

C.2.0D.3//答案C

(16)程序运行时,第4行输出(16)。

A.1.00B.2.000

C.1.500D.1.667//答案D

5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

程序1

#include

main()

{

inti,j,t,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

for(i=0;i<3;i++)

for(j=0;j<=i/2;j++)

{

t=a[i][j],a[i][j]=a[i][3-j],a[i][3-j]=t;}

printf("%d\n",a[0][1]);

printf("%d\n",a[2][2]);

}

程序2

#include

main()

{

charstr[10]="27";

inti,number=0;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='0'&&str[i]<='7')

number=number*8+str[i]-'0';

printf("%d\n",number);

for(i=0;str[i]!

='\0';i++)

if(str[i]>='0'&&str[i]<='5')

number=number*6+str[i]-'0';

printf("%d\n",number);

}

(17)程序1运行时,第1行输出(17)。

A.3B.4

C.1D.2//答案D

(18)程序1运行时,第2行输出(18)。

A.12B.11

C.10D.9//答案C

(19)程序2运行时,第1行输出(19)。

A.2B.27

C.23D.16//答案C

(20)程序2运行时,第2行输出(20)。

A.19B.140

C.147D.2//答案B

6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

main()

{

inti,j;

charch,*p1,*p2,*s[4]={"four","hello","peak","apple"};

for(i=0;i<4;i++)

{

p1=p2=s[i];

ch=*(p1+i);

while(*p1!

='\0')

{

if(*p1!

=ch)

{

*p2=*p1;

p2++;

}

p1++;

}

*p2='\0';

}

for(i=0;i<4;i+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1