最新浙江省二级C语言考试真题.docx

上传人:b****5 文档编号:5335482 上传时间:2022-12-15 格式:DOCX 页数:49 大小:56.20KB
下载 相关 举报
最新浙江省二级C语言考试真题.docx_第1页
第1页 / 共49页
最新浙江省二级C语言考试真题.docx_第2页
第2页 / 共49页
最新浙江省二级C语言考试真题.docx_第3页
第3页 / 共49页
最新浙江省二级C语言考试真题.docx_第4页
第4页 / 共49页
最新浙江省二级C语言考试真题.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

最新浙江省二级C语言考试真题.docx

《最新浙江省二级C语言考试真题.docx》由会员分享,可在线阅读,更多相关《最新浙江省二级C语言考试真题.docx(49页珍藏版)》请在冰豆网上搜索。

最新浙江省二级C语言考试真题.docx

最新浙江省二级C语言考试真题

2008年春浙江省高校

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

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

【程序说明】

输入一个整数n(n>=2),输入菲波那契序列的前n项,每行输出6个数,菲波那序列:

1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三项开始,每个数是前两个数之和。

运行示例:

Entern:

10

112358

13213455

#include

main()

{intcount,i,n,x1,x2,x;

printf("Entern:

");

scanf("%d",&n);

x1=x2=1;

printf("%6d%6d",x1,x2);

(1);

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

{

(2);

printf("%6d",x);

count++;

if((3))printf("\n");

x1=x2;

(4);

}

}

【供选择的答案】

(1)A、count=2B、count=0

C、count=1D、count=-1答案:

A

(2)A、x=x1-x2B、x=x1+x2

C、x=x1D、x=2答案:

B

(3)A、count/6==0B、count%6!

=0

C、count%6==0D、count/6!

=0答案:

C

(4)A、x=x1+x2B、x2=x1

C、x=x2D、x2=x答案:

D

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

【程序说明】

输入2个正数m和n(1<=m

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

运行示例:

Enterm,n:

110

count=4,sum=17

【程序】

#include

#include

intprime(intm)

{inti,n;

if(m==1)return(5);

n=sqrt(m);

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

if(m%i==0)return(6);

return(7);

}

main()

{intcount=0,i,m,n,sum=0;

printf("Enterm,n:

");

scanf("%d%d",&m,&n);

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

if((8)){

sum+=i;

count++;

}

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

}

【供选择的答案】

(5)A、1B、m

C、m==1D、0答案:

D

(6)A、mB、1

C、0D、n答案:

C

(7)A、mB、1

C、0D、i==n答案:

B

(8)A、prime(i)!

=0B、prime(i)==0

C、1=prime(i)D、!

prime(i)答案:

A

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

【程序说明】

输入一个2*3的二维数组,找出最大值以及它的行下标和列下标,并输出该结果。

运行示例:

Enterarray(2*3):

3210-96-1

max=a[0][2]=10

3210

-96-1

#include

main()

{intcol,row,i,j;

inta[2][3];

printf("Enterarray(2*3):

");

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

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

scanf("%d",(9));

(10);

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

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

if(a[i][j]>a[row][col])

{(11)

}

printf("max=a[%d][%d]=%d\n",row,col,a[row][col]);

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

{for(j=0;j<3;j++)

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

(12)

}

【供选择的答案】

(9)A、&a[i][j]B、&a[j][i]

C、a[i][j]D、a[j][i]答案:

A

(10)A、row=col=2;B、row=col=0;

C、a[row][col]=0;D、a[row][col]=-1;答案:

B

(11)A、row=j;col=i;B、a[row][col]=a[i][j];

C、row=i;col=j;D、a[row][col]=a[j][i];答案:

C

(12)A、printf(“\n”)};B、}printf(“\n”);

C、;D、printf(“\n”);}答案:

D

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

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

【程序】

#include

main()

{intop1,op2,res;

charopertor;

scanf("%d",&op1);

opertor=getchar();

while(opertor!

='=')

{

scanf("%d",&op2);

switch(opertor)

{

case'+':

res=op1+op2;break;

case'-':

res=op1-op2;break;

case'*':

res=op1*op2;break;

case'/':

res=op1/op2;break;

default:

res=0;

}

op1=res;

opertor=getchar();

}

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

}

(13)程序运行时,输入2*3-2=,输出(13)。

A、6B、2

C、0D、4答案:

D

(14)、程序运行时,输入15+2/3=,输出(14)。

A、16B、15

C、6D、5答案:

D

(15)、程序运行时,输入1+2*10-10/2=,输出(15)。

A、10B、16

C、15D、25答案:

A

4、程序运行时,输入1+3*5/2-7=,输出(16)。

A、3B、1

C、-2D、-3答案:

A

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

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

【程序】

#include

#defineMAXLEN80

main()

{intk=0,number=0;

charstr[MAXLEN];

while((str[k]=getchar())!

='#')

k++;

str[k]='\0';

for(k=0;str[k]!

='\0';k++)

if(str[k]>='0'&&str[k]<='9'||str[k]=='A'||str[k]=='B')

if(str[k]>='0'&&str[k]<='9')

number=number*12+str[k]-'0';

elseif(str[k]=='A'||str[k]=='B')

number=number*12+str[k]-'A'+10;

else;//第15行

elsebreak;//第16行

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

}

(17)、程序运行时,输入10#,输出(17)。

A、16B、10

C、12D、1答案:

A

(18)、程序运行时,输入1a0#,输出(18)。

A、264B、10

C、1D、12答案:

C

(19)、第16行改为“;”后,程序运行时,输入A*0#,输出(19)。

A、0B、120

C、10D、12答案:

B

(20)、第16行改为“elsebreak;”删除第15行后,程序运行时,输入1b0#,输出(20)。

A、10B、12

C、276D、1答案:

B

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

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

【程序】

#include

#include

main()

{char*s[2]={"****","****"};

while(*s[1]!

='\0')

{printf("%s\n",s[0]+strlen(s[1])-1);

s[1]++;

}

}

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

A、****B、***

C、**D、*答案:

D

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

A、****B、***

C、**D、*答案:

C

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

A、****B、***

C、**D、*答案:

B

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

A、****B、***

C、**D、*答案:

A

试题7(28分)

1、定义函数fact(n)计算n的阶乘:

n!

=1*2*3*……*n,函数的返回值类型是double。

2、定义函数cal(m,n)计算累加和:

s=m+(m+1)+(m+2)……+n,函数的返回值类型是double。

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

该算式中,每一项的分子是累加和,要求调用函数cal(m,n)计算累加和;每一项的分母是阶乘,要求调用函数fact(n)计算n!

y=1+(1+2)/2!

+(1+2+3)/3!

+……+(1+2+3+……n)/n!

#include

doublefact(intn)//第一题

{inti;

doublet=1;

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

t*=i;

returnt;

}

doublecal(intm,intn)//第二题

{doubles=0;

inti;

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

s+=i;

returns;

}

main()//第三题

{intn,i;

doubles=0;

printf("请输入一个正整数:

");

while(scanf("%d",&n),n<=0);

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

s+=cal(1,i)/fact(i);

printf("%f",s);

}

2008年秋浙江省高等学校

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

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

【程序说明】

输入一批学生的成绩,遇到负数表示输入结束,要求统计并各等级成绩的学生个数。

成绩等级分为三级,分别为A(90~100)、P(60~80)和F(0~59)。

运行示例:

Enterscores:

887168705981910607783-10

A:

1;P:

8;F:

2;

[程序]

#include

main()

{intmark,a,p,f;

a=p=f=0;

printf("Enterscores:

");

scanf("%d",&mark);

while(

(1))

{

if(mark>=90)

a++;

(2)p++;

(3)f++;

(4)

}

printf("A:

%d;P:

%d;F:

%d;\n",a,p,f);

}

【供选择的答案】

(1)A、mark>=0B、mark>0

C、mark<=0D、mark<0答案:

A

(2)A、elseif(mark>=60)B、if(mark>=60)

C、else(mark>=60)D、if(mark<90)答案:

A

(3)A、else(mark<60)B、else

C、elseif(mark>0)D、elseif(mark<=60)答案:

B或填elseif(mark>=0)

(4)A、scanf("%d",mark);B、scanf("%d",&mark);

C、;D、mark=getchar();答案:

B

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

【程序说明】

求1~999之间所有满足各位数字的立方之和等于它本身的数。

例如153的秋位数字的立方和是13+53+33=153

运行示例:

1153370371407

[程序`]

#include

main()

{intdigit,j,sum,x;

for(j=1;j<1000;j++){

(5)

(6)

do{

(7)

sum=sum+digit*digit*digit;

x=x/10;

}while((8));

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

}

}

【供选择的答案】

(5)A、sum=0;B、sum=1;

C、sum=j;D、;答案:

A

(6)A、x=1;B、x=j;

C、;D、x=sum;答案:

B

(7)A、digit=x/10;B、digit=x;

C、digit=x%10;D、;答案:

C

(8)A、x==0B、j!

0

C、j==0D、x!

=0答案:

D

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

【程序说明】

输入10个整数,将它们从大到小排序后输出。

运行示例:

Enter10integers:

1098-9369100-102

Aftersorted:

100981096320-1–9

[程序]

#include

(9)

voidsort((10))

{inti,index,k,t;

for(k=0;k

index=k;

for(i=k+1;i

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

(11)

}

}

voidswap(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

main()

{inti,a[10];

printf("Enter10integers:

");

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

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

(12);

printf("Aftersorted:

");

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

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

printf("\n");

}

【供选择的答案】

(9)A、voidswap(int*x,int*y)B、;

C、voidswap(int*x,int*y);D、voidswap(int*x,*y);答案:

C

(10)A、int&a,intnB、int*a,int*n

C、int*a,inynD、inta,int*n答案:

C

(11)A、swap(*a[index],*a[k])B、swap(a[index],a[k])

C、swap(index,k)D、swap(&a[index],&a[k])答案:

D

(12)A、sort(a)B、sort{a[10]}

C、sort(a[],10)D、sort(a,10)答案:

D

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

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

[程序]

程序1

#include

main()

{intj,k,s1,s2;

s1=s2=0;

for(j=0;j<=5;j++){

s1++;

for(k=1;k<=j;k++)

s2++;

}

printf("%d%d",s1,s2);

}

程序2

#include

main()

{intj,k,s1,s2;

s1=0;

for(j=1;j<=5;j++){

s1++;

for(k=1,s2=0;k<=j;k++)

s2++;

}

printf("%d%d",s1,s2);

}

程序3

#include

main()

{intj,k,s1,s2;

s1=0;

for(j=1;j<=5;j++){

s1++;

for(k=1;k<=j;k++,s2=0)

s2++;

}

printf("%d%d",s1,s2);

}

程序4

#include

main()

{intj,k,s1,s2;

s1=s2=0;

for(j=1;j<=5;j++,s1=0){

s1++;

for(k=1;k<=j;k++)

s2++;

}

printf("%d%d",s1,s2);

}

(13)程序1运行时。

输出(13)。

答案:

D

A、015B、50

C、55D、515

(14)程序2运行时。

输出(14)。

答案:

C

A、015B、50

C、55D、515

(15)程序3运行时。

输出(15)。

答案:

B

A、015B、50

C、55D、515

(16)程序4运行时。

输出(16)。

答案:

A

A、015B、50

C、55D、515

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

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

【程序】

程序1

#include

main()

{inti,m=15,y=-1;

for(i=2;i<=m/2;i++)

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

elsey=1;

printf("%d",y);

}

程序2

#include

main()

{inti,m=15,y=-1;

for(i=2;i<=m/2;i++)

if(m%i==0){y=0;break;}

printf("%d",y);

}

程序3

#include

main()

{inti,m=15,y=-1;

for(i=2;i<=m/2;i++)

if(m%i==0)break;

if(i>m/2)y=1;

elsey=0;

printf("%d",y);

}

程序4

#include

main()

{inti,m=15,y=-1;

for(i=2;i<=m/2;i++)

if(m%i==0){break;y=0;}

printf("%d",y);

}

(17)程序1运行时。

输出(17)。

答案:

A

A、1B、0

C、15D、-1

(18)程序1运行时。

输出(18)。

答案:

B

A、1B、0

C、15D、-1

(19)程序1运行时。

输出(19)。

答案:

B

A、1B、0

C、15D、-1

(20)程序1运行时。

输出(20)。

答案:

D

A、1B、0

C、15D、-1

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

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

【程序】

#include

main()

{intk;

charch,a[10],*s[10]={"one","two","three","four"};

k=0;

while((ch=getchar())!

='\n'&&k<9)

if(ch>'5'&&ch<'8')a[k++]=ch;

a[k]='\0';

for(k=0;a[k]!

='\0';k++)

printf("%s",s['9'-a[k]-1]);

}

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

答案:

D

A、twothreeB、two

C、onefourthreeD、fourthreetwoone

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

答案:

C

A、twothreeB、two

C、onefourthreeD、fourthreetwoone

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

答案:

B

A、twothreeB、two

C、onefourthreeD、fourthreetwoone

(25)程序运行时,输入7633#,输出(25)。

答案:

B

A、twothreeB、two

C、onefourthreeD、fourthreetwoone

试题7(28分)

(1)定义函数fact(n)计算n的阶乘:

n!

=1*2*……*n,函数的返回值类型是double。

(2)定义函数cal(e)计算下列算式的值,直到最后一项的绝对值小于e,函数的返回值类型是double。

(3)定义函数main()。

输入正整数n,当精度e分别取值10-1、10-2、10-3……、10-n时,分别计算并输出下列式的值,直到最后一项的绝对值小于精度e,以比较不同精度下算出的结果。

要求调用函数cal(e)计算下列算式的。

参考程序:

#include

#include

(1)doublefact(intn)

{inti;

doublet=1;

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

t=t*i;

returnt;

}

(2)doublecal(doublee)

{

doublesum=0,t=1;

inti=1;

while(1/t>=e)

{t=fact(i);

sum=sum+1.0/t;

i++;

}

returnsum;

}

(3)main()

{intn,i;

while(scanf("%d",&n),n<=0);

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

{printf("i=%d1+1/2!

+1/3!

+……=%f\n",i,cal(pow(10,-i)));

}

}

2009年春浙江省高等学校

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

说明:

(1)请将所有试题的答案填写在答卷上。

其中试题一到试题六请在答卷上各小题正确选项的对应位置处填“√”;

(2)请在答卷上填写学校名称、准考证号和姓名,并将你的准考证号的后五位填写在答卷右下角的指定位置内;

(3)考试时间为90分钟。

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

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

当前位置:首页 > 党团工作 > 其它

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

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