C 练习题3.docx
一、单工选择1 .下列字符串中,不可以作为CH标识符的是(D).A) ReturnB)scoreC)_0_D)OName2.下面有关类的说怯中不正确的是(C)A)不可以在类的声明中给数据成员赋初值B) 一个类可定义多个构造函数O析构函数可以有一个或多个参数D)在一个类中可以用另一个类的对象作为数据成员3.下列代码的输出结果为(八).inta=2,b=4,c=6;iRa>b)a=b;c=a;i11c!=a)c=b;COUt«a««b««c<<endl;)2,4,2B)2,4,4C) 2.4.6D)程序中有语法错误4.在"intb3=l,32.456,0*3bll的值为(八)。A)2B)3C)1D)05 .派生类仃三种继承基类的方式,三种继承方式的共同特点是(八)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)!(x<y)&&!z1)7 .卜面程序段运行后的输出结果是(C).intx=5;iRx-<5)cout<<x;elsecoutvv+x;A)3B)4C)5D)68.F列do-whilc循环的次数是(B)intX=-1;do(X=xx;)vhile(!x);A)无限次B)I次C)2次D)O次9.下面程序段的输出结果是(B)charc5=fa,V.W,0,c'COllt«C;A)abB)abOabbD)abc10.下面程序的输出结果是(B)intn=24680,d;while(n!=0)d=n%10;n/=10;cout<<d;A)24680B)08642C)864211.执行下面程序,输出结果为(B)#include<iostream>usingnamespacesld;voidmain()inti=2J=3;cout<<i<<",;i+=2*j;inti=0;i÷+;cout<<i<<","<<j<<","cout<<i<<",<<j<<endl;A)2.13.1.3B)2.1.3.8.3C)29393D)2D)变量i重复定义错误12.下面程序的输出结果为<.A)#include<iostream>usingnamespacesld;voidmain()intx=l,a=O,b=O;switch(x)caseO:b+:easel:a+;ease2ra+.b÷+;cout<<"a="<<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 .己知一个函数的原型是:intfun(intx,doubley=0.();则下列函数中可以对fun进行函数重载的是(D)A)intfun(intx);B)floatftn(inty);C)floatfun(inty.doublex);D)intftn(intx,inty);15 .执行下列代码后,屏幕输出显示为(八)#includc<iostrcam>usingnamespacestd:classCBasc(public:CBasc()cout«"CBasc():Constrctor"«Cnd1;CBasc()com«"CBasc():Destrctor"«Cnd1;;classCDerivc:publicCBascpublic:CDeriVeocoul«"CDerive():Constructor"«endl;-CDerive()cout«"CDerive():Destnicior"«endl;;voidmain()CDeriveobj;A) CBase():ConstructorCDerive():ConstructorCDerive():DestructorCBasc():DcstructorB) CDcrive():ConstructorCBase():ConstructorCBase():DestructorCDerive():DestructorD)CBasc():ConstructorCDcrivc():ConstructorCBaSC0: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)来实现的。)维承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。#include<iostrcam>usingnamespacestd;voidmain()inti=0.sum=0;fbr(i=ki<=20;i+)if(i%2=0)continue;sum+=i;i11sum>=5)break;cout«i«sum«cndl;3 .以下程序输出结果是:13。#inchidc<沁StrCam>usingnamespacestd;voidmain()charch7="123ab"!;inti.s=O;Mi=O:chi>='O'&&chfi<=,9,;i+=2)s=10*s+chi-'0'cout<<s<<cndl;4 .在已经定义了浮点型指针Pt后,为了得到一个包括100个浮点数的动态存储空间,并由Pt所指向,的使用语句,float*pt=newfloat1001:撤销该空间应该用语句deletem:.5 .如果期望某个变量的值在程序运行期间不能改变,则在定义该变量时,可以加上关键字I2DSi,这种变量成为常变量。6 .执行如下程序,输出结果为20。include<iostream>usingnamespacesld;voidmain()inta=3,b=2,c=l;intd,e;d=a>b>c;e=d?10:20;cout<<e«endl;7 .设m、n为整型变量,X为浮点型变量,其中m=7,n=3,x=2.4,则.算术表达式m%4(floatmn)+x的值为7.4°8 .执行如下程序,输出结果为3。includc<iostrcam>usingnamespacestd;voidmain()inti=0j=0;if(i>0)if(j<=O)CoUtVV"I;"dsccout<<"2;"cout<<"3"«endl;9 .已知Charstr='Trogramming则执行语句cout«Strl5:会输出a.cout«str+5:会输出ammine。10 .运行如卜程序,屏齐输出为:15。#include<iostream>usingnamespacesld;ntadd(intx=0,inty=2,intz=4)returnx+y+z;voidmain()ints=add(1)+add(O,l)+add(0,l,2);cout<<s;H.运行如F程序,屏幕输出为x=l%=79。"includeVioStream)usingnamespacestd;voidmain()inta5=66,48,19,79,47;intx=aO,y=aO;for(inti=0;i<5;i+)if(x>ai)x=a(i;if(y<ai)y=ai;cout<<"x="<<x;cout<<"y="<<>r<<cndl;)三.程中改WH1(每修改一个”3分,其中找到借误1分,修改正确2分,共18分)每题有2个错误,谙在程序中修改,不得增添或删减行1.下面是一个根据输入圆的半径进行面积计算并输出的程序.#include<iostrcam>usingnamespacesld:McfincPl3.14159;intmain()doublerad;U圆的半径doubleS;H圆的面积cout«'Tlcascinputtheradius:,;cin»rad;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并输出显示。include<iostream>usingnamespacestd;mtadd(intn)计算参数的累加和staticintsum;sum=O;sum+=n;cout«"sum-,<<sum<<endl;returnsum;voidmain()intSum.*p,i;fbr(i=l;i<=20;i+=2)Sum=add(i);p=Sum;cout<<*p<<endl;第一处错误:StatiCintSUm:sum=。:修改为:StatiCintSUm=0:第二处错误:"p=Sum;修改为:n=&Sum:3.创建一个CSquare类,调用构造函数和成员函数,根据边长计算正方形面积并输出.请改正程序中的2处错误。#include<iostream>usingnamespacestd;classCSquarcpublic: