C 练习题3.docx

上传人:李司机 文档编号:7213577 上传时间:2024-06-29 格式:DOCX 页数:12 大小:30.38KB
返回 下载 相关 举报
C 练习题3.docx_第1页
第1页 / 共12页
C 练习题3.docx_第2页
第2页 / 共12页
C 练习题3.docx_第3页
第3页 / 共12页
C 练习题3.docx_第4页
第4页 / 共12页
C 练习题3.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C 练习题3.docx》由会员分享,可在线阅读,更多相关《C 练习题3.docx(12页珍藏版)》请在三一办公上搜索。

1、一、单工选择1 .下列字符串中,不可以作为CH标识符的是(D).A) ReturnB)scoreC)_0_D)OName2.下面有关类的说怯中不正确的是(C)A)不可以在类的声明中给数据成员赋初值B) 一个类可定义多个构造函数O析构函数可以有一个或多个参数D)在一个类中可以用另一个类的对象作为数据成员3.下列代码的输出结果为(八).inta=2,b=4,c=6;iRab)a=b;c=a;i11c!=a)c=b;COUtabcendl;)2,4,2B)2,4,4C) 2.4.6D)程序中有语法错误4.在intb3=l,32.456,0*3bll的值为(八)。A)2B)3C)1D)05 .派生类仃

2、三种继承基类的方式,三种继承方式的共同特点是(八)oA)基类的私有成员在派生类中不可直接访问B)基类的私有成员在派生类中仍然是私有成员O基类的公有成员在派牛类中仍然是公有成员D)基类的保护成员在派生类中仍然是保护成员6 .设X,y和Z都是it11型变量:,且x=3,y=6.z=4,则下面表达式的值为。的是(D)A)x&yB)x=yC)XHy+z&y-zD)!(xy)&!z1)7 .卜面程序段运行后的输出结果是(C).intx=5;iRx-5)coutx;elsecoutvv+x;A)3B)4C)5D)68.F列do-whilc循环的次数是(B)intX=-1;do(X=xx;)vhile(!x

3、);A)无限次B)I次C)2次D)O次9.下面程序段的输出结果是(B)charc5=fa,V.W,0,c;COlltC;A)abB)abOabbD)abc10.下面程序的输出结果是(B)intn=24680,d;while(n!=0)d=n%10;n/=10;coutd;A)24680B)08642C)864211.执行下面程序,输出结果为(B)#includeusingnamespacesld;voidmain()inti=2J=3;couti,;i+=2*j;inti=0;i+;couti,j,;couti,jendl;A)2.13.1.3B)2.1.3.8.3C)29393D)2D)变量

4、i重复定义错误12.下面程序的输出结果为.A)#includeusingnamespacesld;voidmain()intx=l,a=O,b=O;switch(x)caseO:b+:easel:a+;ease2ra+.b+;couta=a,b=b;)A)a=2.b=IB)a=l.b=lC)a=I.b=0D)a=2,b=213 .有如卜定义:charx=abcdefg;Charyn=HbC,dWg;关于x、y两个数组的正确描述为(C)。A)数组X的字节数小数组y的字节数:B)数组X的字节数和数组y的字节数相同:O数组X的字节数大于数组y的字节数:D)数组X和数组y完全等价。14 .己知一个函数

5、的原型是:intfun(intx,doubley=0.();则下列函数中可以对fun进行函数重载的是(D)A)intfun(intx);B)floatftn(inty);C)floatfun(inty.doublex);D)intftn(intx,inty);15 .执行下列代码后,屏幕输出显示为(八)#includcusingnamespacestd:classCBasc(public:CBasc()coutCBasc():ConstrctorCnd1;CBasc()comCBasc():DestrctorCnd1;;classCDerivc:publicCBascpublic:CDeriV

6、eocoulCDerive():Constructorendl;-CDerive()coutCDerive():Destniciorendl;;voidmain()CDeriveobj;A) CBase():ConstructorCDerive():ConstructorCDerive():DestructorCBasc():DcstructorB) CDcrive():ConstructorCBase():ConstructorCBase():DestructorCDerive():DestructorD)CBasc():ConstructorCDcrivc():ConstructorCBa

7、SC0:DcstnictorCDcrivc():DestnictorC) CDerive():ConstructorCBase():ConstructorCDcrivc():DcstnictorCBasc():Dcstructor16 .下面选项中数组定义等价的是(D)A)inta23=3.4,5);与inta3=3.4,5;B) inta23=0,l;与inta23=0,l;C) inta(23=1.0,2,2A5;与inta2=1,0,2,2,4.5;D) inta3=1,02,2.4.5;与inta23=1.0,224,5;17.在C+程序中,对象之间的相互通信,是通过(B)来实现的。)

8、维承B)调用成员函数O封装D)函数重载二、填空Jl(每空1分,共14分)1 .假定个类的构造函数为A(intx=l,inty=9)a=x;b=a*y;,则执行Ax(7);语句后,x.a=7x.b=63.2 .以下以下输出结果是_5.9。#includeusingnamespacestd;voidmain()inti=0.sum=0;fbr(i=ki=5)break;coutisumcndl;3 .以下程序输出结果是:13。#inchidcusingnamespacestd;voidmain()charch7=123ab!;inti.s=O;Mi=O:chi=O&chfi=,9,;i+=2)s=

9、10*s+chi-0;coutscndl;4 .在已经定义了浮点型指针Pt后,为了得到一个包括100个浮点数的动态存储空间,并由Pt所指向,的使用语句,float*pt=newfloat1001:撤销该空间应该用语句deletem:.5 .如果期望某个变量的值在程序运行期间不能改变,则在定义该变量时,可以加上关键字I2DSi,这种变量成为常变量。6 .执行如下程序,输出结果为20。includeusingnamespacesld;voidmain()inta=3,b=2,c=l;intd,e;d=abc;e=d?10:20;couteendl;7 .设m、n为整型变量,X为浮点型变量,其中m=

10、7,n=3,x=2.4,则.算术表达式m%4(floatmn)+x的值为7.48 .执行如下程序,输出结果为3。includcusingnamespacestd;voidmain()inti=0j=0;if(i0)if(j=O)CoUtVVI;dsccout2;cout3endl;9 .已知Charstr=Trogramming则执行语句coutStrl5:会输出a.coutstr+5:会输出ammine。10 .运行如卜程序,屏齐输出为:15。#includeusingnamespacesld;ntadd(intx=0,inty=2,intz=4)returnx+y+z;voidmain()

11、ints=add(1)+add(O,l)+add(0,l,2);couts;H.运行如F程序,屏幕输出为x=l%=79。includeVioStream)usingnamespacestd;voidmain()inta5=66,48,19,79,47;intx=aO,y=aO;for(inti=0;iai)x=a(i;if(yai)y=ai;coutx=x;couty=rcndl;)三.程中改WH1(每修改一个”3分,其中找到借误1分,修改正确2分,共18分)每题有2个错误,谙在程序中修改,不得增添或删减行1.下面是一个根据输入圆的半径进行面积计算并输出的程序.#includeusingnam

12、espacesld:McfincPl3.14159;intmain()doublerad;U圆的半径doubleS;H圆的面积coutTlcascinputtheradius:,;cinrad;if(rad=O)S=0.0;elseS=Pl*rad*rad;计算面积cout,Theareais:VVS;return0;第处错误:definePl3.14159:修改为:#de,nePl3.14159笫二处错误:if(rad=O)修改为:if(rad=O)2.下面程序计算上20之间所有奇数的和,函数addi堂每次调用时实参的累加和并返回累加结果,采用指针p访问变量Sum并输出显示。includeu

13、singnamespacestd;mtadd(intn)计算参数的累加和staticintsum;sum=O;sum+=n;coutsum-,sumendl;returnsum;voidmain()intSum.*p,i;fbr(i=l;i=20;i+=2)Sum=add(i);p=Sum;cout*pendl;第一处错误:StatiCintSUm:sum=。:修改为:StatiCintSUm=0:第二处错误:p=Sum;修改为:n=&Sum:3.创建一个CSquare类,调用构造函数和成员函数,根据边长计算正方形面积并输出.请改正程序中的2处错误。#includeusingnamespace

14、std;classCSquarcpublic:CSquarc(inti=0)length=i;intGctArca()CalArca();returnArea;-CSquare(intx=l)private:voidCalArca();intArea;intlength;voidCSquarc:Ca!Arca()Area=length*length;intmain()CSquarca(l23);coina.Area;returnO;第一处错误:CSqUare(inix=l,修改为:CSQUare,第二处错误:COUtVVa,ArCa:修改为:CoUla,GCtArCa();四.程序填充(每空3

15、分,共24分)1.下列程序将字符出Strl中的大写字母转化成小写字母,其余字符不变,结果拷贝到字符串Str2中,最后输出显示Strl和str2中的内容。#includeusingnamespacestd;intmain()charstrl=TheC+Programming1.anguage!,str2100;char*pl.*p2;pl=strhp2=str2;fbr(;pl+,p2)循环直到遇到Slrl中的字符串结束符if(A,=*pl&*plV=Z)/如果是大写字母H将大写字母转换为小写字母elsep2=pl;p2=rU);pl=strl;p2=str2;coutstrlis:plendl

16、;coutstr2is:p2endl;returnO;第1处空填:*pl!=O或*pl!-0成*pl第2处空填:*p2=*p1-A+a:或*p2=*p1+32;2 .从键盘上输入个不包括空格的字符串,长度不超过80个字符,统计字符串中是英文小写字母的字符个数并显示输出。#includeusingnamespacestd;intcount(charstr();voidmain()chartcxt8l=0;CoulVVPleaseenteraline:;cintcxt;coutThcnumberoflowereaseletters=n;cout=a,&stHiK=z3 .下面程序利用指针变量作为形

17、参实现两个变量的值互换,造在下面的下划线处埴入正确的程序代码,完成程序功能。#includeViOStream)usingnamespacestd;voidswa(int,int&);intnain()(inti=5,j=8;coutijcndl;returnO;voidswap(int*pl,int&p2)inttemp;tcmp=*pl;p2=temp;第1处空填:SWaD:第2处空填:*d1=d2:4 .以下是一个采用类结构的方式求n!的程序,请填空完成程序.#includeusingnamespacestd;classFactorialprivate:intn.fact;public:

18、Factorial(int);voidCalculate();voidDispIayO;;FaCloria1:FaCloriaI(intval)n=val;fact=l;保存n!的计算结果voidFactoria1.zCaIculate()inti=n;while(i1)fact*=;/计算n!voidFactoriaIzDisplay()coutn!=factn;A.Calculatc();A.Display();第I处空域:或i-第2处空填:FaCtOriaIA(n):五.缰程(第113分,第214分,共27分)1 .主函数中的浮点型二维数组A33J需要进行数据修改和显示操作,具体要求如下

19、:1)编写数据修改函数voidfunl(noatx(3,intn),功能是将二维数组A中大于等于所有元素平均值的元素赋值为1.小于平均值的元素赋为0;形参中的n为被修改二维数组A的行数:2)编写显示函数VoidShOW(float*p.intn.intm),功能是显示二维数组中的所有元素;形参中指针P用于访问被显示数组,n为被显示数组行数,m为被显示数组列数;3)编写主函数,为A33赋初值,依次分别为123,4,5,6,7,8,9:调用函数funI完成元素值修改功能,再调用Show函数显示修改后的数组数据。注:二维数组A33的首元素的地址为A0或&AfO(O,#includeusingname

20、spacestd;voidtun(oatx3,intn)intij:floattcmp=0.average=。:fbrti=0i3U+)Mj=0jn+)temp+=x(i(i);average=temp/(3.*n);fbr(i=0;i3;i+)Mj=0j=average)i1.i)=:elsexb=O.O;voidshow(floatp.intn.intm)intij;fbr(i=0;in;i+)(for(j=OJmJ+)cout*(p-i*m+j);coutn;intmain()(floatA33=1a,3,4.5.6.7,8.9;lunl(A,3);shw(AOJ,3,3);return

21、0;2 .定义个描述哺乳动物基本信息的类,类名称为MammaI,以类Mammal作为基类,公有派生Dog类。具体要求如下:1)MammaI的成员包括:a.保护数据成员:charname30;/姓名intage;/年龄b.公有成员函数虚函数:SPCak);显示输出自己的所有信息,姓名、年龄构造函数:Mannal(char*Name,intAge);完成类Mammal所有数据成员初始化2)派生类Dog的具体要求:a.私有数据成员stringsound;H叫声b.公有成员函数构造函数:完成数据成员的初始化虚函数:SPCak);显示输出自己的所有信息,姓名、年龄、叫声3)main()函数中建立Mamm

22、al对象m和Dog类对象dog,分别为m(MAMMA1.,3);Dog(DOG,5,bark);.建立-个Mammal的指针pt.首先指向m.调用speak函数,然后再指向dog,也调用speak.分别输出两个对象的信息.#include#includeusingnamespacestd;classMammalprotected:charname;intage;public:Manmal(charName,IntAge)name=Name;age=.ge;virtualvoidspcak()coutNamcrnamccndl;coutAgcz,agecndl;;classDogipublicMammalprivate:stringsound;public:Dog(char*Na11c.intAge.stringSound):Mamnal(Namc.Age)jsound=Sound;virtualvoidspcak()CoUlVVName:VVnamespeak();t=&dog;t-seak();returnO;

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号