浙江省计算机二级C语言0710部分真题.docx

上传人:b****6 文档编号:8471219 上传时间:2023-01-31 格式:DOCX 页数:72 大小:87.88KB
下载 相关 举报
浙江省计算机二级C语言0710部分真题.docx_第1页
第1页 / 共72页
浙江省计算机二级C语言0710部分真题.docx_第2页
第2页 / 共72页
浙江省计算机二级C语言0710部分真题.docx_第3页
第3页 / 共72页
浙江省计算机二级C语言0710部分真题.docx_第4页
第4页 / 共72页
浙江省计算机二级C语言0710部分真题.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

浙江省计算机二级C语言0710部分真题.docx

《浙江省计算机二级C语言0710部分真题.docx》由会员分享,可在线阅读,更多相关《浙江省计算机二级C语言0710部分真题.docx(72页珍藏版)》请在冰豆网上搜索。

浙江省计算机二级C语言0710部分真题.docx

浙江省计算机二级C语言0710部分真题

浙江省高等学校

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

2010-2007笔试部分真题

2010年春浙江省高等学校

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

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

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

【程序说明】

输入一个整数,求它的各位数字之和及位数。

例如,17的各位数字之和是8,位数是2。

运行示例:

Enteraninteger:

-153

sum=8,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

(2)A、in/10B、inmod10

C、in%10D、in

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

C、in=in/10D、in%10

(4)A、in%10!

=0B、in!

=0

C、!

inD、in/10!

=0

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

【程序说明】

输出50到70之间的所有素数。

要求定义和调用函数isprime(m)判断m是否为素数,若m为素数则返回1,否则返回0。

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

运行示例:

53596167

【程序】

#include

#include

main()

{inti;intisprime(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

(6)A、if(m!

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

C、;D、if(m==1)return1;

(7)A、return0B、return1

C、returni<=kD、return

(8)A、return1B、return0

C、returnD、returni<=k

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

【程序说明】

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

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

运行示例:

Enter6integers:

61821097

Afterswaped:

69782101

【程序】

voidswap(int*x,int*y)

{intt;

(9);

}

main()

{inti,index,a[10];

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=&t

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

C、index=indexD、index=1

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

C、a[i]=a[index]D、index=i

(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])

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("%.1f\n",f2());

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

}

【问题】

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

A、7-1B、-17C、7aD、-1-1

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

A、1239B、12C、1D、9

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

A、2.5B、2C、2.0D、3

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

A、1.000B、2.000C、1.500D、1.667

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、4C、1D、2

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

A、12B、11C、10D、9

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

A、2B、27C、23D、16

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

A、19B、140C、147D、2

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++)

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

}

【问题】

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

A、ourB、fourC、furD、fou

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

A、elloB、hlloC、heoD、hell

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

A、peakB、eakC、pekD、pak

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

A、ppleB、appleC、aleD、appe

二、程序编写(每小题14分,共28分)

1.编写程序,输入100个整数,将他们存入数组a,求数组a中所有奇数之和。

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

(1)定义函数total(n)计算

,函数返回值类型是int。

(2)定义函数main(),输入正整数n,计算并输出下列算式的值。

要求调用函数total(n)计算

计算机等级考试参考答案(二级C)

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

D

C

C

B

B

B

A

A

A

A

D

D

A

B

C

D

D

C

C

B(21)A(22)B(23)C(24)D

二、程序编写(每小题14分,共28分)

1.

#include

voidmain()

{

inta[100],i,s=0;

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

{

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

if(a[i]%2==1)

s=s+a[i];

}

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

}

2.

#include

inttotal(intn)

{

inti,s=0;

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

s=s+i;

returns;

}

voidmain()

{

inti,n;

floats=0;

scanf("%d",&n);

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

s=s+1.0/total(i);

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

}

2009年秋浙江省高等学校

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

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

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

【程序说明】

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

运行示例:

sum=0.8361

【程序】

#include

#include

main()

{intdenominator=1,flag=1;

doubleitem,sum=0;

___

(1)____

while(____

(2)___){

___(3)____

denominator=denominator+3;

flag=-flag;

}

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

}

【供选择的答案】

(1)

[A]item=0;[B]item=0.0001

[C];[D]item=2

(2)

[A]fabs(item)>=1E-3[B]fabs(item)<1E-3

[C]fabs(item)>=0.0001[D]fabs(item)<0.001

(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;

(4)

[A]%.0f[B]%.4f[C]%f[D]%4.f

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

【程序说明】输出1到100之间的所有完数。

要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。

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

运行示例:

628

【程序】

#include

main()

{inti;intis(intn);

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

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)==0[B]is(i)!

=0

[C]!

is(n)[D]is(n)

(6)

[A]if(n!

=1)return1;[B]if(n!

=1)return0;

[C]if(n==1)return0;[D]if(n==1)return1;

(7)

[A]n%i==0[B]n%i!

=0

[C]i%n==0[D]i%n!

=0

(8)

[A]n==0[B]sum!

=n[C]i>n/2[D]sum==n

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

【程序说明】计算并输入Fibonacci序列前10项之和。

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

Fibonacci序列:

1,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=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);

(10)

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

[C]fun(a,10);[D]fun(a[10],10);

(11)

[A]fib[i][B]a[i][C]a[10][D]fib[0]

(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]+fib[i-1];

[D]fib[i]=fib[i-1]+fib[i+1];

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

【程序】

#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]65[B]0

[C]75[D]95

(14)

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

[A]10[B]1

[C]6[D]2

(15)

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

[A]24[B]2[C]10[D]1

(16)

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

[A]3[B]4[C]5[D]1

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

【程序】

程序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]!

=’\0’;i++)

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

putchar(str[i]);

putchar(‘\n’);

for(i=0;str[i]!

=’\0’;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运行时,第1行输出(17)

[A]0[B]1

[C]8[D]9

(18)

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

[A]9[B]7

[C]5[D]1

(19)

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

[A]AeE[B]a[C]ae[D]e

(20)

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

[A]4Ae2E[B]42[C]AeE[D]aEe

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

【程序】

#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

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

当前位置:首页 > 高等教育 > 工学

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

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