C++测试复习原题2(含答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一.选择题((每空1分,共20分)4.下列关于语言处理说法正确的是(4).A.计算机能够直接执行的是机器语言和汇编语言,所以它们被称为低级语言.B.解释系统是一种边解释边执行的语言处理程序,它的执行效率较高.C.将机器语言转换成汇编语言形式的过程,称为”反汇编”.D.JAVA,C++等都是高级语言,它们的执行效率要比低级语言高.5.对于IP地址为202.93.120.6的主机来说,其网络号为(5).A.202.93.120B.202.93.120.6C.202.93.120.0D.66.在下述枚举定义中,(6)是正确的.A)enumem1{1,one=4,two,8};B)enumem2{“No”,’Yes”};C)enumem3{A,D,E+1,K};D)enumem4{my,your=4,his,her=his+10};7.以下对指针变量的操作中,不正确的是(7).A)intp,*q;q=&p;B)intp,q;q=p=Null;C)inta=5,*p;*p=a;D)inta=5,b,*p=&b,*q=&a;*p=*q;8.下述程序的输出结果是(8).#includeiostream.hvoidmain(){inta[]={5,8,7,6,2,7,3};inty,*p=&a[1];y=(*--p)++;couty;}A)不确定B)6C)5D)89.有说明:intx=1,y=1,z=1,k;执行语句k=x++||++y&&++z;后,变量x、y、z、k的值依次是:(9)A.2221B.1210C.1120D.2111210.下面标识符中(10)是定义局部变量储存类别的保留字A)ABCB)DFGC)EHD)BEA.intB.autoC.staticD.floatnE.registerF.externG.unsignedH.signed11.一个基类以私有方式派生时,其基类中的公有成员和保护成员在派生类中(11)。A.均成为私有的成员B.均成为公有的成员C.均成为保护的成员D.仍为公有的和保护的成12.在计算机上输入C++语言源程序后,需要对它进行(12)才能执行。(A)解释和链接(B)编译和链接(C)编辑和解释(D)建立和链接13.若一个应用程序中有类定义classPerson,在它的public成员中定义了若干成员函数,以下为(13)纯虚函数。A.voidcount(){};B.voidcount()=0;C.virtualvoidcount(){};D.virtualvoidcount()=0;14.以下代码要定义一个链表节点类:classblock{intdate;(14)}其中的填充项要定义指向下一个结点的指针,请选择正确的定义。A.int*link;B.intlink;C.blocklink;D.block*link;15.以下程序运行后,输出结果是_(15)_A)49.5B)9.5C)22.0D)45.0#includeiostream.h3#definePT5.5#defineS(x)PT+x+xvoidmain(){inta=1,b=2;coutS(a*b);}16.以下程序运行后,输出结果是_(16)_A)84B)99C)95D)44#includeiostream.hintd=11;voidfun(intp){intd=5;d+=p;coutd;}voidmain(){inta=3;fun(a);d=a;cout++dendl;}17.函数voidg((void*)(int,int,int),int,int)的参数个数是(17)A)3个B)5个C)1个D)无法确定18.设有语句:inti=10,j=20,k=0;while(j-i){k=k||j;i+=k;}该循环体执行的次数是(18).A)0次B)1次C)10次D)无穷多次19.在C++中实现不同类型数据输入是类istream通过(19)来实现的.A)多次重载””运算符来实现的.B)多次重载””运算符来实现的.C)多次重载cin函数.D)多次重载cin类.20.以下语句执行的结果是:(20).chars1[]=”12345”,s2[]=”12345”;4if(strcmp(s1,s2))cout1endl;elsecout0endl;A)1B)0C)随机值D)编译错误二.阅读程序,写出输出结果((每空1分,共30分)1.以下程序第一行输出是(21),第二行输出是(22).#includeiostream.hvoidsub(intn){intm,r;if(n==3){cout**endl;return;}m=n/10;r=n%10;sub(m);cout**r;cout++r;}voidmain(){inta=365;sub(a);cout++endl;}2.以下程序第一行输出是(23),第二行输出是(24),第三行输出是(25)。#includeiostream.h5voidmain(){inta[6]={100,90,80,70,60,50};int*p;inti=0;p=&a[i];while(*pa[5]){i++;cout*p++'\t';;}coutendl;while(i0){i--;cout*(--p)'\t';}coutendl;cout*p:*(p+3)endl;}3.以下程序第一行输出是(26),第二行输出是(27),第三行输出是(28)#includeiostream.h#includestring.hvoidfun(char*s,intm){chartemp,*p1,*p2;p1=s;p2=s+m;couts=sendl;6coutlength=mendl;while(p1p2){temp=*p1++;*p1=*p2--;*p2=temp;}}voidmain(){chara[]=ABCDEFG;fun(a,strlen(a));coutaendl;}4.以下程序共输出几(29)行?第一行输出是(30),第二行输出是(31),最后一行输出是(32)#includeiostream.henumec{black,white,red,yellow,blue};char*cp[]={black,white,red,yellow,blue};classRect{private:intwidth,hight;intcolor;7public:Rect(intx=10,inty=10,intc=red):width(x),hight(y),color(c){};voidSetRec(intw,inth,intc){width=w;hight=h;color=c;}intArea(){returnwidth*hight;}Rectoperator+(Rectb);voidDisplay();~Rect(){coutRect'\t'cp[color]'\t'hightendl;}};RectRect::operator+(Rectb){Rects;s.width=width+b.width;s.hight=hight+b.hight;s.color=(color+b.color)%5;returns;}voidRect::Display(){coutw=widthh=hightc=cp[color]endl;8}voidmain(){RectA(20,40,red),B(30,50,yellow);B.SetRec(50,70,blue);A=A+B;}5.下列程序第一行输出是(33),第二行输出是(34),第三行输出是(35)#includeiostream.hinta,b;voidf(intj){staticinti=a;intm,n;m=i+j;i++;j++;n=i*j;a++;cout”i=”i’\t’”j=”j’\t’;cout”m=”m’\t’”n=”nendl;}voidmain(){a=1;b=2;f(b);f(a);cout”a=”a’\t’”b=”bendl;}6.下列程序的输出结果共6行。分别为(36)(37)(38)(39)(40)(41)。#includeiostream.hfloatsqr(floata){returna*a;}floatp(floatx,intn){coutin-process:x=x'\t'n=nendl;9if(n==0)return1;elseif(n%2!=0)returnx*sqr(p(x,n/2));elsereturnsqr(p(x,n/2));}voidmain(){coutp(2.0,13)endl;}7.下面递归函数执行结果共四行,分别是:(42),(43),(44),(45)。#includeiostream.hvoidp1(intw){inti;if(w0){for(i=0;iw;i++)cout'\t'w;coutendl;p1(w-1);}}voidmain(){p1(4);}8..以下程序输出的二行分别是(46),(47)。#includeiostream.hclassA{public:intx;A(){x=100;}A(inti){x=i;}voidShow(){coutx=x'\t'AA\n;}};classB{public:inty;B(){y=300;}B(inti){y=i;}10voidShow(){couty=y'\t'BB\n;}};classC:publicA,publicB{public:inty;C(inta,intb,intc):A(a),B(b){y=c;}voidShow(){couty=y'\t'CC\n;}};voidmain(void){Cc1(400,500,600);c1.y=200;c1.Show();c1.A::Show();c1.B::Show();}9.以下程序输出的三行分别是:(48),(49),(50)。#includeiostream.hclassA{intx,n;intmul;public:A(inta,intb){x=a;n=b;mul=1;}virtualintpower(void){mul=1;for(inti=1;i=n;i++)mul*=x;returnmul;}voidshow(void){coutmul'\t';}};classB:publicA{inty,m;intp;public:11B(inti,intj,intk,inth):A(i,j){y=k;m=h;p=10;}intpower(void){p=1;for(inti=1;i=m;i++)p*=y;returnp;}voidshow(void){A::show();coutp'\n';}};voidfun(A*f){coutf-power()'\n';}voidmain(){Aa(5,3);Bb(2,4,3,3);fun(&a);fun(&b);b.show();}三、完善程序(每空1分,共20分)1.下面函数的功能是从数组arr(有n个元素)中找出最小元素值;并返回其引用。int&findmin(intarr[],intn){intpos=0;for(inti=1;i=n-1;++i)if(___(51)_____)pos=___(52)_____;return____(53)____;}2.下面是求前n个自然数和的递归函数(即求1+2+3+…+n)floatsum(int

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功