华科-C-期末考试试卷答案.docx
2008-2009学年度第二学期华中科技大修C+语言程序设计试卷(八)(考试时间:150分钟考试方式:闭卷)所有答案必须写在答题纸上一、物项选择题(30小题,福小时1分,共30分)1.CH程序中的语句必须以(B)结束D花括号I)OA日号B分号C空格2、下列选项中,()不是分隔符R标识符B:C:3、执行语句inta=10,b:int&pa=a>4pb=b:后,下列正确的语句是(B)A&pb=a:Bb=pa:Cpb二&pa:D*pb=*pa:4、设l=l,J=2,则表达式,J的优为(C>A1B2C3D45、执行卜.列语句后,intX.y:X三y三1:XX!"y;V的值是(0A不确定B0C16A逗号表达式<x=4»5,x«5>,X+25的值为(D)A25B20C100D7、Bfeinti,y:在下列选JS中错误的是(OAif(X&&y)i;Bif(x=y)i:Cif(Xy)iiI)if(x*y)i+*:8、i'2,执行下列语句后的值为(B)itch(case1:i)ifcasei:C5J0Acasedefaul"i;break;"-"itzi:)A1已知intdoiB2C3I)4二3:Tifidoi5语句执行时循环次数为;cut«i«endl;)while(i!=I);A1B2C3D无限10,以下为死耐环的程序段是(B)Afor(intx=0;x<3;)(x*:);Bintk=0;do(wk:)while(k>=O);Cinta=5:while(八)(a:):I)intt=3:for(;i:i);IK以下正确的函数原型为OOAf(intX;inty):Bvoid(X,y):Cvoid(intx,y);Dvoidf<int.int):12、有函数原型Yoidfun2(int),下面选项中,正确的调用是(C)AdoubleX=2.17:fun2(&x):Binta=15;fun2(a3.M>:Cintb=100:fun2(*b):DnIn2(256);13,有声明intfunl(int);int<pf)(int)=fun4;下而选项正确的是(B)Ainta=15;intn=fun4<fta):Binta=15;coutpf(aX14);Ccoui«pf)(256):Dcout«*pf(256):14、函数参数的默认值不允许为6D>A全局常fitB全同变fitC局SE变量D函数调用1S,下列的描述中(B)是错误的.A使用全舫变寰可以从被调用函数中获取多个操作站果B局钝变盘可以初始化.若不初始化,则系统默认它的(ft为O。当函数调用完后,涉态同部变局的值不会消失D全局变技若不初始化.则东统默认它的值足016,以下对一般数组n的正确定义是(C)Aintn=5.an:Cinta(5):Bconstinin=5:intanl:Dintn:cin»n;intanJ;17、Blinta10=(0,1.2.3.4,5.6.7.8,9)和尸a,则不能表示数祖H中元素的式子是(C)A«BpCI)np-aj18.以下不能对二维数姐a进行正确初始化的谐句是(C)Ainta2S=0;Binta3=(10.1).IO);Cintn21.3J-HO.11.(2.31.(4,5»DinlaU3=(0,1),(2l3.4)15k,(7»19、已知intn(3>3-U.2.3.4.5.6.7.8.9.则不能表示数组元索a2的地址是(B)AAa21B*(a2÷1)Ca(2*1D(a*2>*I20.若用数组名作为调用函数的实参,则传建给形参的是A数祖存储首地址C数组的第个元素位B数批中全部元素的D数组元素的个数21,下列描述中,钳误的是(八)A箱出字符指针就是输出字符串B怆出字符指指计的间接引用就是输出的个字符C具有相同字符的两个字符小常I1UII等D两个数祖名的比较是地址的比较22、判断字符中si是否大于字符H;$2的表达式为(D)Asi>s2Bstrc11p(si9s2)=0Cstrcy(si.s2)>0Dstrc11p(s2>si)>023、在下列结构变圻的定义中,不正确的是(D)structCnployeeKstruct(charnog20;IOng(charnone20;code;lo11i!code:)e睥:)eg:Cstructcnploy<cDxtruct(charrw11je20;long(charna11e20;cod«longcode::<nployeeIe<loyee;GIlP;c11ploy<cc11p;24、假定有以下声明和定义,则下面引用影式错误的的(B>structstudent(i11tnun;floatscore;stu3=(1001.80),11002»751.(1003.91H.*pZlstu;A->wuB<p*÷).nunC(r÷÷)->nunD<*).nuft25、若有以下声明和定义,则下列错误的引用是(D)structWorker(intno:charnane20;Iw.*=*w;Aw.noBp>noC(4p).noI)*p.no26、关干类和对象不正确的说法是(C)A类是一-种类型,它封袋/数据和操作B对象是为类的实例C-个类的对软只有个D一个对象必属于某个类27,下面对构造函数的不正确描述是(B)A系统可以提供默认的构造函数.H构造函数可以有参数.所以也可以有返网假C构造函数可以Jft我,D构造函数可以设M耿认卷故。28、在类定义的外郃.可以被访问的成员有(C)A所有类成员Bprivate或PrctCCted的类成员CPIUbIiC的类成员DPUbliC或PriVaIe的类成员29.在下列选项中,(C)是错误的.gets和函数puis可以输入输出包含空格的字符中BCin不能输入包含空格的字符串Ccout不能输出包含空格的字符中D使用就位运算符总可以对字符数组整体赋的30、下列选项中,(C)具有文件作用城.A语句标EB局部变吊C全局受fft形式参数二、程序填空(每空2分.共IeI分)K函数Funghui的功能是把杨牌三角形的数据赋给:推数组的下半三角,诸填空,Velidyanghui(intx6j6j),ri11ti.jx00=l:fr(i=l:iv6;i+)(x(ilO=-xii-(1)=hfor(j=ljj<i:j+<)*ij=c(i.j)(2):”此处cl.j)为求组合的函数2、函数fun的功能是逆置数组元素,数组a有n个元素,请填空。Voidfun(inta11,intn)(inti.t:for(i-0;i<r2-(3):i*+)(t=ai;a(i-a_n-l'i_<4):an-l-i,(5)=t:三、程序分析题:给出下面各程序的怆出结果,(5小超,每小JS4分.共20分)K将E舛程序的运行结果写在右边空白位置includc<ioxtrca111.h>voidiminO(inti.s=0:for(i三0;i<5:i")MritCh(i)<case0:s÷=i:break:cn<1:s*=i;break;case2:s-*=i;break:default:s4三2;)c<>ut<<a*xsi<*<nd1:2 .将下列程序的运行结果写在右边空白位置Ctinclude<iostrewn,h>intfl(inta>intb)(returna÷b;Jintf2(intn,intb)(returna-b;)inti'3(ini(»t>(Int.int>.inta.intb)(return(voidtwiin()(int(«p)<int,int);P=fl:cout«f3(p.4,8)<<endl:P=f2:cout«f3(p.8.,l)«end);)123 .都下列程序的运行结果写在右边空白位置intf(intJ3aint,int):include<iostre<n.h>voidBainO(inta(3=(O.1.2.3.l,5.6,7,8):COUtaf(a,3,3)«rndl;)intf(inta)3.intr<w,intcol)(inti.J.t=1:for(i=0;i<ro»:i")for<j=OJ<colJ)(aijfif(i=J)t*=ai(J:Ireturnt;)454、将下列程序的运行结果写在右边空白位置inclu<le<iostreat.h>Sincludc<11nth.h>classpoint(public:oini(floatx.floaty)I门二x;b二y;CoUt(<。点C*<<h<(",friendfloatd(point<,point&B)(returnsqrt(A.a'B.a><A.a-B.e)(A.b'B.b)*(A.b'B.b)fleet,b:):voidCaIn()(pointpl(2,3):cout«4到ff;point2(4.5):(a.b)::)private:COUtR的距离是:t,«d(pl.p2)“nd】;点3)到点(%5)的距离是:2.828135、将卜.列程序的运行结果写在右边空白位置inc!dc<iostrea11.h>classT<public:T<intx)(a=x;b*=x;staticvoiddisplay(Tc)kout<<<ra=*<<c.a<<*d<r*'b=<*c.b<<erxil;)private:inta;staticintb;);intT:b=5:void11ainOTA(3)>B(5);:Zdisplay(八);redisplay(B):)n=3b=13a=5b=l3四、程序设计题(4小即,每小JSM)分.共40分)1.输入某学生成绩,若成绩在通常情况下85分以上输出yrygood,若成绩在W分到85分之间输出"oOd"若成域低于60分输出"nogood*.Sinclude<iostrea>usingnanespacestd:voidnain()(intscore:cout<"输入分数:。:cin>>scorc;if(score>=85)emit<<,verygood!*;elseif(score>=60)cout(<Ngood!;elsecout<<*nogood!*:2、编号一个程序,包含三个血我的displ”函数和一个主函SU要求第一个函数输出此ub】e值,前面用字符串,double:“引导,第二个函数输出一个iiHfi前面用字符小飞im,”引导,第三个函数输出一个Char字符值,前