浙江省计算机二级c语言试题Word文件下载.docx

上传人:b****7 文档编号:22723221 上传时间:2023-02-05 格式:DOCX 页数:21 大小:27.38KB
下载 相关 举报
浙江省计算机二级c语言试题Word文件下载.docx_第1页
第1页 / 共21页
浙江省计算机二级c语言试题Word文件下载.docx_第2页
第2页 / 共21页
浙江省计算机二级c语言试题Word文件下载.docx_第3页
第3页 / 共21页
浙江省计算机二级c语言试题Word文件下载.docx_第4页
第4页 / 共21页
浙江省计算机二级c语言试题Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

浙江省计算机二级c语言试题Word文件下载.docx

《浙江省计算机二级c语言试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《浙江省计算机二级c语言试题Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

浙江省计算机二级c语言试题Word文件下载.docx

C、t!

=0D、number!

=0答案:

A

(3)A、power==0B、digit!

=0

C、number!

=0D、power>

=1答案:

D

(4)A、number/=power;

B、number%=10;

C、number%=power;

D、number/=10;

C

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

【程序说明】

连续输入一批学生的成绩,直到输入成绩的数量超过50或者输入成绩不是有效成绩(有效成绩为0-100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。

函数getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。

entermarks:

90807765–1

max=90

#defineMAXNUM50

intgetmax((5))

{

intk,max;

(6)

for(k=1;

k<

n;

k++)

if(max<

array[k])max=array[k];

returnmax;

{intk,x;

intmark[MAXNUM];

k=0;

x);

while((7))

{mark[k++]=x;

if(k>

0)printf("

max=%d\n"

getmax((8)));

elseprintf("

Nomarks!

\n"

(5)A、intn;

intarray[]B、void

C、int*arrayD、intarray[],intn答案:

(6)A、max=0;

B、;

C、max=array[0]D、max=array[n];

(7)A、k<

MAXNUM||x>

=0&

&

x<

=100

B、k<

MAXNUM&

x>

C、k>

=0||x<

D、k>

=100答案:

(8)A、mark,kB、mark

C、mark[]D、mark,n答案:

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

输入一个4行4列的矩阵,计算并输出矩阵除四边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主结角线)的所有元素之和sum2,主对角线为从矩阵左上角到右下角的连线。

enteranarray:

1234

5678

9101112

13141516

sum1=34

sum2=70

{intj,k,sum;

inta[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

for(j=0;

j<

4;

j++)

for(k=0;

a[j][k]);

sum=0;

if((9))

sum+=a[j][k];

sum1=%d\n"

sum);

(10)

for((11);

(12);

sum2=%d\n"

(9)A、j!

=3&

k!

j!

=0

B、j!

=3||j!

C、j!

=3||k!

=0||k!

=0

D、j!

=0答案:

(10)A、sum1=0;

B、sum=0;

C、sum2=0;

D、;

答案:

(11)A、k=0B、k=j

C、k=1D、k=3答案:

(12)A、k<

=jB、k>

jD、k<

4答案:

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

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

[程序]

{inti,j,k;

scanf("

i);

j=k=0;

if((i/10)>

0)//第7行

j=i;

if((i!

=0)&

(j==0))

k=i;

else

k=-1;

//第12行

j=%d,k=%d\n"

j,k);

(13)程序运行时,输入5,输出(13)。

A、j=0,k=5B、j=5,k=5

C、j=0,k=-1D、j=5,k=-1答案:

(14)程序运行时,输入99,输出(14)。

A、j=99,k=-1B、j=0,k=-1

C、j=0,k=99D、j=99,k=99答案:

(15)将第12行改为k=-1;

j=i/10;

输入99,输出(15)。

A、j=99,k=-1B、j=9,k=99

C、j=99,k=99D、j=9,k=-1答案:

(16)将第7行改为”if((i/10)>

0){“第12行改为”k=-1;

}”输入5,输出(16)。

A、j=0,k=-1B、j=0,k=0

C、j=5,k=5D、j=5,k=-1答案:

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

intk=1;

voidfun();

{intj;

for(j=0;

2;

fun();

k=%d"

k);

voidfun()

{intk=1;

//第11行

k=%d,"

k++;

(17)程序的输出是(17)。

A、k=1,k=2,k=3B、k=1,k=2,k=1

C、k=1,k=1,k=2D、k=1,k=1,k=1答案:

(18)将第11行改为staticintk=1;

程序的输出是(18)。

A、k=1,k=1,k=1B、k=1,k=1,k=2

C、k=1,k=2,k=1D、k=1,k=2,k=3答案:

(19)将第11行改为k=1;

程序的输出是(19)。

A、k=1,k=2,k=1B、k=1,k=1,k=1

C、k=1,k=1,k=2D、k=1,k=2,k=3答案:

(20)将第11行改为;

程序的输出是(20)。

A、k=1,k=1,k=2B、k=1,k=2,k=3

C、k=1,k=1,k=1D、k=1,k=2,k=1答案:

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

structst

{charc;

char*s;

};

char*f(structstt)

{intk=0;

while(t.s[k]!

='

\0'

{if(t.s[k]==t.c)returnt.s+k;

k++;

returnt.s;

{intk;

structsta[4]={{'

1'

"

123"

},{'

2'

321"

3'

4'

}};

%s\n"

f(a[k]));

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

A、321B、21

C、123D、12答案:

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

A、21B、12

C、3D、1答案:

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

A、3B、123

C、1D、321答案:

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

A、123B、1

C、3D、321答案:

试题7(28分)

某某客户购房办理商业贷款,选择了按月等额本息还款法,在贷款本金loan和月利率rate一定的情况下,住房贷款的月还款额money取决于还款月数month,计算公式如下:

(1)定义函数cal_power(x,n)计算x的n次幂(即xn),函数的返回值是double;

(2)定义函数cal_money(loan,rate,month)计算月还款额,函数的返回值是double,要求调用函数cal_power计算x的n次幂;

(3)定义函数main(),输入垡贷款本金loan和月利率rate,输出还款年限-月还款客表,还款年限是5~30,输出时分别精确到年和元。

要求调用函数cal_money计算月还款额。

程序:

doublecal_power(doublex,intn)

{inti;

doublepower=1;

for(i=1;

i<

=n;

i++)

power*=x;

returnpower;

doublecal_money(doubleloan,doublerate,intmonth)

{doublemoney;

money=loan*cal_power(1+rate,month)/(cal_power(1+rate,month)-1);

returnmoney;

main()

{doubleloan,rate,money;

intmonth,i;

请输入贷款本金loan和月利率rate:

%lf,%lf"

loan,&

rate);

还款年限月还款额\n"

for(i=5;

=30;

{money=cal_money(loan,rate,i*12);

%d%f\n"

i,money/(i*12));

2007年秋浙江省高校

输入2个整数lower和upper,输出一张华氏-摄氏转换表,华氏温度的取值范围[lower,upper],每次增加2F,计算公式:

c=5*(f-32)/9;

式中c表示摄氏,f表示华氏。

Enterlower:

30

Enterupper:

35

fahrcelsius

30-1.1

320.0

341.1

{intfahr,lower,upper;

doublecelsius;

lower);

upper);

fahrcelsius\n"

for(fahr=lower;

(1);

(2))

{

celsius=(3);

%d(4)\n"

fahr,celsius);

(1)A、fahr<

=upperB、fahr<

upper

C、fahr>

=upperD、fahr>

upper答案:

(2)A、fahr++B、fahr=fahr-2

C、fahr+2D、fahr=fahr+2答案:

(3)A、5*(fahr-32)/9B、(5.0/9.0)*(fahr-32)

C、5/9*(fahr-32)D、5*fahr-32/9答案:

(4)A、%6dB、%6.2f

C、%6.1fD、%6.0f答案:

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

输入2个正数a和n,求a+aa+aaa+……+a(n个a)这和,要求定义并调用函数fn(a,n),这它的功能是返回aa…a(n个a)。

例如fn(3,2)的返回是33。

Entera:

2

Entern:

3

sum=246

{inti,n;

longa,sn;

longfn(longa,intn);

printf("

%ld"

a);

n);

(5)

for(i=1;

(6)

sum=%ld\n"

sn);

longfn(longa,intn)

{inti;

longtn=0;

tn=tn+a;

(7)

(8)

(5)A、sn=0;

B、;

C、sn=1;

D、sn=a;

(6)A、sn=sn+fn(a,i);

B、sn=sn+fn(a,n);

C、sn=sn+fn(i,a);

D、sn=sn+fn(i,n);

(7)A、tn=tn*10B、a=a*10;

C、sn=tn*10;

D、sn=sn+a*10答案:

(8)A、return;

B、returnsn;

C、returna;

D、returntn;

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

输入一行以回车结束的字符串(少于80个字符),删除其中的英文字母和数字字符以外的其它字符,再判断字符串是否对称(不区分大小写)。

运行示例1:

Enterastring:

MadamI'

mAdam

Yes

运行示例2:

elephant

No

程序

(9)

{intflag,i,k,length;

charstr[80];

gets(str);

i=k=0;

while(str[i])

if(isupper(str[i]))str[i]=tolower(str[i]);

if(isdigit(str[i])||isalpha(str[i]))

{(10)

i++;

(11)

length=k;

flag=1;

=length/2;

if(str[k]!

=str[length-k-1])

(12)

break;

if(flag)printf("

yes\n"

no\n"

【供选择的答案】

(9)A、ctype.hB、string.h答案:

C、stdio.hD、math.h

(10)A、i++;

B、str[k]=str[i];

C、str[i]=str[k];

D、;

答案:

(11)A、str[i]=’\0’;

B、str[i-1]=’\0’;

C、str[k]=’\0’;

(12)A、flag=1;

B、flag=0;

C、;

D、continue;

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

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

{inti,m;

m);

for(i=2;

=m/2;

if(m%i==0)

%d#"

i);

//第8行

(13)、程序运行时,输入5,输出。

A、3B、3#3

C、3#4D、3#5答案:

(14)、程序运行时,输入9,输出。

C、3#4D、3#5答案:

(15)、将程序第8行改为“continue;

”程序运行时,输入9,输出。

A、3B、3#3

(16)、将程序第8行改为“;

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

inti,j,temp;

inta[3][3]={1,2,3,4,5,6,7,8,9};

voidf(int*x,int*y);

for(i=0;

3;

if(i<

j)f(&

a[i][j],&

a[j][i]);

%2d"

a[i][j]);

voidf(int*x,int*y)

{intt;

t=*x;

*x=*y;

*y=t;

(17)程序的输出是。

A、32164987B、789456123

C、123456789D、147258369答案:

(18)、第8行改为“f(&

”后,程序的输出。

(19)、第8行改为“if(i<

2)f(&

a[2-i][j]);

(20)、第8行改为“if(j<

a[i][2-j]);

A、321654987B、789456123

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

inti,x1,x2;

inta[5]={1,2,3,4,5};

voidf1(intx,inty),f2(int*x,int*y);

x1=x2=0;

5;

if(a[i]>

a[x1])x1=i;

if(a[i]<

a[x2])x2=i;

f2(&

a[x1],&

a[0]);

i++)printf("

a[i]);

f1(a[x2],a[1]);

a[x2],&

a[4]);

f1(a[x1],a[3]);

voidf2(int*x,int*y)

voidf1(intx,inty)

t=x;

x=y;

y=t;

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

A、12345B、21345

C、12354D、52341答案:

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

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

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

A、12345

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

当前位置:首页 > 考试认证 > 公务员考试

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

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