版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023年9全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷
一、選擇題(每題2分洪70分)
(11)在函數(shù)中,可以用auto,extem,register,和static這四個(gè)關(guān)鍵字中的一種來闡明變
量的存儲(chǔ)類型,假如不闡明存儲(chǔ)類型,則默認(rèn)的存儲(chǔ)類型是A
AautoBextemCregisterDstatic
(12)對(duì)于一種類定義,下列論述中錯(cuò)誤的是B
A假如沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一種拷貝構(gòu)造函數(shù)
B假如沒有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一種缺省的構(gòu)造函數(shù)
C假如沒有定義構(gòu)造函數(shù),編譯器將生成一種缺省的構(gòu)造函數(shù)和一種拷貝構(gòu)造函
數(shù)
D假如己經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會(huì)生成任何構(gòu)造函數(shù)
(13)假如派生類以publie方式繼承基類,則原基類的protected組員和publie組員在
派生類中的訪問類型分別是D
Apub1ic和publicBpublic和protected
Cprotected和publicDprotected和protec
ted
(14)下列運(yùn)算符函數(shù)中肯定不屬于類FunNumber的組員函數(shù)的是D
Aintoperator-(FunNumber)
BFunNumberoperator-()
CFunNumberoperator-(int)
Dintoperator-(FunNumber)
(15)C++中的模板包括C
A對(duì)象模板和函數(shù)模板B對(duì)象模板和類模板
C函數(shù)模板和類模板D變量模板和對(duì)象模板
(16)假如調(diào)用C++流進(jìn)行輸入輸出,下面的論述中對(duì)的的是A
A只能借助于流對(duì)象進(jìn)行輸入輸出B只能進(jìn)行格式化輸入輸出
C只能借助于cin和cout進(jìn)行輸入輸出D只能使用運(yùn)算符》和《進(jìn)行輸入輸
出
(17)下列符號(hào)中不屬于C++關(guān)鍵字的是D
AfriendBnamespaceCcontinueDbyte
(18)下列各組的量申明中,含義相似的一組是B
Aunsignedlongint和IongBsignedsh
ortint和short
Bunsignedshort和shortDshortint和inl
(19)必須用一對(duì)打括號(hào)括起來的程序段是D
Aswitch語句中的Icase標(biāo)號(hào)語句Bif語句的分支
C循環(huán)語句的循環(huán)體D函數(shù)的函數(shù)體
(20)語句的加^^=&!<定義于指針「,于這個(gè)語句等效的語句序列是A
Aint*p;p=&kBint*p;p=k
Cint*p;*p=&kDint*p;*p=k
(21)有關(guān)函數(shù)重載,下列論述中錯(cuò)誤的是C
A重載函數(shù)的函數(shù)名必須相似
B重載函數(shù)必須在函數(shù)個(gè)數(shù)或類型上有所不同樣
C重載函數(shù)的返回值類型必須相似
D重載函數(shù)的函數(shù)體可以有所不同樣
(22)有如下頭文獻(xiàn)
Intf1();
Staticintf2();
ClassMA{
Pub1ic
Intf3();
Staticintf4();(靜態(tài)函數(shù))
);
在所描述的函數(shù)中,具有隱含的this指針的是C
AfiBf2CI3Df4
(23)派生類的組員函數(shù)不能訪問基類的IC
A共有組員和保護(hù)組員B共有組員
C私有組員D保護(hù)組員
(24)下列有關(guān)運(yùn)算符重載的描述中,對(duì)的I的是A
A運(yùn)算符重載為組員函數(shù)時(shí),若參數(shù)表中五參數(shù),重載的是一元運(yùn)算符
B一元運(yùn)算符只能作為組員函數(shù)重載
C二元運(yùn)算符重載為非組員函數(shù)時(shí),參數(shù)表中有一種參數(shù)
DC++中可以重載所有的運(yùn)算符
(25)下列有關(guān)類模板的模板參數(shù)的論述中,錯(cuò)誤的是D
A模板參數(shù)可以作為數(shù)據(jù)組員的類型
B模板參數(shù)可以作為組員函數(shù)的返回類型
C模板參數(shù)可以作為組員函數(shù)的參數(shù)類型
D模板函數(shù)不能作為組員函數(shù)的局部變量的類型
(26)已知一程序運(yùn)行后執(zhí)行的第一種輸出操作是B
Cout?setw(10)?setfi11(*)?1234
則此操作的輸出構(gòu)造是
A1234B******1234
C**********1234D1234******
(27)有如下程序
#include<iostrcam>
Usingnamespacestd;
Classmyclass{
Pub1ic:
MyC1ass0{++count;}
-MyClass(){--count;}
Staticintgetcount(){returncount;}
Private
Staticintcount;
);
IntMyClass::count=0;
Intmain(){
Myclassobj;
Cout<<obj,getCount();
MyClass*ptr=newMyClass;
Cout?MyClass::getcount();
Deleteptr;
Cout?MyClass::gercount();
Return();
)
程序的輸出成果是A
A121B232C221D122
(28)有如下程序
ttinclude<iostrean>
Usingnamespacestd;
ClassMyclass{
Public;
Myclassconst(x):ual(x)<>
Uoidprint()const<cout<<const:ual=^<<ual<<\t;}
Uoidprint()<cout<<ual=^<<ual<<\t;}
Priuate;
Intual;
};
Intmain(){
Const叫classobj1(10);
Myclassobj2(20);
Obj1.print();
0bj2.print();
Return();
程序肚I輸出成果是C
Aval=10const:val=20Bconst:val=10const:val=20
Cconst:val=10val=20Dval=10val=20
(29)有如下程序
#inelude<iostream>
Usingnamespacestd;
Classpart{
Public;
Part(intx=(\):val(x){cout?val;)
-part(){cout?va1;1
Private;
Intval;
Classwhole{
Publie;
VVhoIe(intx,inty,intz=0):p2(x),pl(y),va1(z){cout<<va1;}
VVhole(){count?val;}
Private;
Partpl,p2;
Intval;
);
Intniaint{
Wholeobj(l,2,3);
Resturn();
}
程序輸出的成果是D
A123321B213312C213
(30)有如下程序:
#inc1ude<iostrcam>
Usingnamespacestd;
Classbase{
Public:
Base(intx=0){cout?x;}
};
Classderived:publicbase{
Public:
Derivedrin(x=y){cout?x;}
Prib1ic:
Baseva1;
h
Intmain(){
Derivedd(!);
Return();
)
程序的輸出成果是C
AOB1C01D001
(31)若有如下類定義:
ClasssB{
Voidfun1(){}
Protected;
Doub1evarl;
Public:
Voidfun2(){}
ClassD:publicB{
Protected;
Voidfun3(){}
};
己知。bj是類D的對(duì)象,下列語句中不違反組員訪問控制的權(quán)限時(shí)是C
Aobj.fun1();Bobj.var1;Cobj.fun2();D
bj.fun3();
(32)有如下程序:
#include<iostreani>
Usingnamespacesid;
Classbase{
Pub1ic;
Voidoutput(){cout?1;)
Virtualvoidprint(){cout?B;}
);
C1assderived:publicbase{
Publie:
Voidoutput(){cout?2;}
Voidprint(){coutvV'D';}
};
Intmain()
Base*passnewderived;
Ptr—>output();
Ptr—>print();
Deleteptr;
Return();
)
程序的輸出成果是D
AIBB1DC2BD2D
33.下列是重載乘法運(yùn)算的函數(shù)原型申明,其中錯(cuò)誤的是A
Amyclassoperator*(double,doub1e);
Bmyclassoperator*(double,myc1ass);
CmycIassoperator*(myclass,doub1e);
Dmyclassoperator*(myclass,myclass);
*是二元運(yùn)算符,并且原則庫里面已經(jīng)有double*doubleH勺運(yùn)算符定義,返回值為double,
因此A的重載是錯(cuò)誤的
34.A
(34)如下函數(shù)的作用是以雙倍行距輸出文件:
Voiddouble_space(iFstrean&f,oFstrean)&t)<
Charc;
While()<
*
If(c=&n')t..put(c),
>
斷或處缺失的部分是
AF.get(c)與t.put(c)Bf.put(c)與t.get(c)
Ct-ger(c)^F.yet(c)Dt?put(c)與f.get(c)
(35)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classB{
public:
virtualvoidshow(){cout?"b"
};
c1assD:publicB{
public:
voidshow(){cout}
};
voidfunl(B*ptr){ptr->show();)
voidfun2(B&ref){ref.show();}
voidfun3(Bb){b.show();)
voidmain(){
Bb,*p=newD;
Dd;
fun1(p);
fun2(b);
fun3(d);
)
程序時(shí)輸出成果是D
ADBDBBBDCDBBDDbb
二、填空題(每空2分,共三十分)
(6).在有定義語句:inta=3,b=2,c=1;則體現(xiàn)式avb?a:b時(shí)值是
(7).執(zhí)行下列語句后,變量sum的值是.
Intsum=0;
For(intj=I;j<=I;j++)
For(intj=I;j<=Iu++)
Sum++;
(8).已知有函數(shù)f的定義如下:
Intf(){
Staticint-6;
s-2;
returns
則在某程序中第二次執(zhí)行函數(shù)用語句f();時(shí),函數(shù)f的返回值是,
⑼己知如下程序得輸出成果時(shí)23,請(qǐng)將劃線處缺失得部分補(bǔ)充完整。
#inc1ude<iostream>
Usingnamespacestd;
Classmyclass{
Public:
Voidprint()cout{cout?23;}
Intmain(){
Myclass*p=newmyclass();
Print();
Return():
Classsample{
Pub1ic:
Sample(){}
(13)有如下復(fù)數(shù)類的聲明,請(qǐng)補(bǔ)充完整。
Classcomplex(
Doublereal;〃實(shí)部
Doubleinag;〃虛部
Public:
Comple(doublex.doubley){
Real=x;
Imag=y;
Complexoperator?(complexc)〈〃重載力口法運(yùn)算符”
RptiirnrnmplPX(
(14)請(qǐng)將如下程序補(bǔ)充完整,使得輸出成果為bbaa
#include<iostream>
Usingnamespacestd;
ClassA{
Public:
{cout?Maa”;}
);
ClassB:publieA{
Pub1ic:
~B(){coutvv”bb”;}
Intmain(){
B*p=newB;
De1etep;
Return();
)
(15)請(qǐng)將下列棧類stack補(bǔ)充完整
C1assstack{
Private;
Intplist[100];//int數(shù)組,用于寄存棧的元素
Inttop;"棧頂元素(數(shù)組下標(biāo))
Publie:
Stack():top(0){}
Voidpush(sonsint&item);〃新元素item壓入棧
Intpop(void);〃將棧頂元素彈出棧
);
Voidstack::pbsh(constint&item){
If(top==99)〃假如棧滿,程序結(jié)束
Exit(l);
Top++;/底頂指針增1
―(151—;
)
Intstack::pop(){
If(top<0)〃假如???,程序結(jié)束
Exit⑴;
Returnplish[top--];
)
參照答案
6.27.68.49.(*p)10.ABBA11.voidBa
se::fun()
12.virtualdisplay()==0;14.—A()15.pList[top]=item
2023年9月計(jì)算機(jī)等級(jí)考試
一、選擇題(每題2分,共70分)
(11)在下列原型所示的)C++函數(shù)中,按“傳值”方式傳遞參數(shù)的是(A)。
A)voidf1(intx);?B)voidf2(int*x);C)voidf3(constint*x);
D)voidf4(int&x);
(12)在C++中,編譯系統(tǒng)自動(dòng)為一種類生成缺省構(gòu)造函數(shù)的條件是(A)。
A)該類沒有定義任何有參構(gòu)造函數(shù)B)該類沒有定義任何無參構(gòu)造函數(shù)
。該類沒有定義任何構(gòu)造函數(shù)D)該類沒有定義任何組員函數(shù)
(13)在一種派生類的組員函數(shù)中,試圖調(diào)用其基類的組員函數(shù)“voidf()r,但無法通過
編譯。這闡明(C)。
A)f()是基類的私有組員C)派生類的繼承方式為私有
B)f()是基類的保護(hù)組員D)派生類的繼承方式為保護(hù)
(14)下列有關(guān)運(yùn)算符重載的論述中,錯(cuò)誤的是(B)。
A)有的運(yùn)算符可以作為非組員函數(shù)重載
B)所有的運(yùn)算符都可以通過重載而被賦予新的含義
C)不得為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值
D)有的運(yùn)算符只能作為組員函數(shù)重載
(15)下列有關(guān)模板的論述中,錯(cuò)誤的是(D)。
A)調(diào)用模版函數(shù)時(shí),在一定條件下可以省略模板實(shí)參
B)可以用int.double這樣的類型修飾符來申明模版參數(shù)
C)模板申明中的關(guān)鍵字class都可以用關(guān)鍵字typename替代
D)模板的形參表中可以有多種參數(shù)
(16)要運(yùn)用C++流進(jìn)行文獻(xiàn)操作,必須在程序中包括的頭文獻(xiàn)是(B)。
A)iostreamg,B)fstreamC)strstream?,D)iomanip
(17)下列字符串中不能作為C++標(biāo)識(shí)符使用的是(B)。
A)WHILEB)userC)_1varD)9stars
(18)下列語句中錯(cuò)誤的是(D)e
A)constinta;B)constinta=l0;C)constint*point=O;D)
constint*point=newint(10);
(19)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
intmain(){
intsum;
for(inti=0;i<6;i+=3){
sum=i;
for(intj=i;j<6;j++)sum+=j;
)
cout<<sum?endl;
return0;
}
運(yùn)行時(shí)的輸出成果是(A)。
A)3B)10C)12,D)15
(20)下列語句中,對(duì)的的是(D)。
A)char*myString='*He1Io-World!”;B)charmyString="Hello-Worl
d!\
C)charmyString[l1]='*He11o-WorId!M;D)charmyString[12]=H
Hello-World!”;
(21)若已經(jīng)申明了函數(shù)原型“voidfun(inta,doubleb=0.0);",則下列重載函數(shù)申明
中對(duì)的的是(C)。
A)voidfun(inta=90,doub1eb=0.0);B)intfun(inta,doub1eB);
C)voidfun(doublea,intB);D)boolfun(inta,doubleb=0.Oh
(22)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classSample(
public:
Sample(){}
-Samp1e(){cout?'**;}
);
intmain(){
Samp1etemp[2],*pTenip[2];
return0;
)
執(zhí)行這個(gè)程序輸出星號(hào)(*)的個(gè)數(shù)為(B)。
A)1B)29,D)4
(23)下列選項(xiàng)中,與實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性無關(guān)的是(A)。
A)重載函數(shù)虛函數(shù)C)指針D)引用
(24)下列運(yùn)算符函數(shù)中,肯定不屬于類Value的I組員函數(shù)的是(B)。
A)Valueoperator+(Va1ue);B)Va1ueoperator-(Va1ue,Value);
C)Va1ueoperator*(int);D)Valueoperator/(Value);
(25)下列模板申明中,有語法錯(cuò)誤的是(D)。
A)template<typenameT>Tfun(Tx){returnx;)
B)template<typenameT>Tfun(Tx,intn){returnx*n;}
C)template<classT>Tfun(T*p){return*p;}
D)temp1ate<c1assT>TcIassA{Tn;};
(26)在語句“coutVVA,;”中,cout是(B)。
A)類名,,B)對(duì)象名C)函數(shù)名aD)C++的關(guān)鍵字
(27)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classMyClass{
publie:
MyClass(inti=0){cout?l;}
MyCIass(constMyClass&x){cout<<2;}
MyCIass&operator=(constMyClass&x)
{cout<<3;return*this;}
-MyClassO{cout<<4;}
卜
intmain(){
MyC1assobjl(1),obj2(2),obj3(objl);
return0:
)
運(yùn)行時(shí)的輸出成果是(A)。
A)112444?B)11114444C)121444?2)11314444
(28)有如下程序:
#include<iostrcam>
usingnamespacestd;
classMyClass{
pub!ic:
MyClass(intx):val(x){}
voidSet(intx){va1=x;}
voidPrintOconst{cout?Hva1=M<<va1<<*\t*;}
private:
intval;
};
intmain(){
constMyC1assobjl(10);
MyClassobj2(20);
objl.Print();//語句1
obj2.Print();〃語句2
obj1.Set(20);//語句3
obj2.Set(30);〃語句4
return0;
}
其主函數(shù)中錯(cuò)誤的語句是[C)。
A)語句IggB)語句2C)語句3。?D)語句4
(29)在類申明中,緊跟在“publie:”后申明的組員的訪問權(quán)限是(A)。
A)私有B)公有,,C)保護(hù)默認(rèn)
(30)對(duì)于通過公有繼承定義的派生類,若其組員函數(shù)可以直接訪問基類的某個(gè)組員,闡明該
基類組員的訪問權(quán)限是(D)。
A)公有或私有B)私有C)保護(hù)或私有2)公有或保護(hù)
(31)定義派生類時(shí),若不使用關(guān)鍵字顯式地規(guī)定采用何種繼承方式,則默認(rèn)方式為(A)。
A)私有繼承,B)非私有繼承C)保護(hù)繼承AD)公有繼承
(32)建立一種有組員對(duì)象的派生類對(duì)象時(shí),各構(gòu)造函數(shù)體的執(zhí)行次序?yàn)?C)。
A)派生類、組員對(duì)象類、基類B)組員對(duì)象類、基類、派生類
C)基類、組員對(duì)象類、派生類D)基類、派生類、組員對(duì)象類
(33)假如體現(xiàn)式a>=b中歐1">=”是作為非組員函數(shù)重載的運(yùn)算符,則可以等效地體現(xiàn)為
(A)o
A)a.operator>=(b)B)b.operatotr>=(a)C)operator>=(a,b)?)o
perator>=(b,a)
(34)當(dāng)使用ofstream流類定義一種流對(duì)象并打開一種磁盤文獻(xiàn)時(shí),文獻(xiàn)的默認(rèn)打開方式
為(B)。
A)iosbase::inB)ios_base::binaryC)ios_base::in|ios_base::out
D)ios_base::out
(35)在一種抽象類中,一定包具有(C)。
A)虛函數(shù)。B)純虛函數(shù)C)模板函數(shù)g,D)重載函數(shù)
二、填空題(每空2分,共30分)
(6)當(dāng)使用關(guān)鍵字_void_作為函數(shù)返回類型時(shí),該函數(shù)不返回任何值。
⑺已知數(shù)組a中有n個(gè)元素,下列語句將數(shù)組a中從下標(biāo)xl開始的k個(gè)元素移
動(dòng)到從下標(biāo)x2開始的k個(gè)元素中,其中0v=xlvx2<n,x2+kvn,請(qǐng)將下列語句補(bǔ)充完
整。
for(inti=x1+k—1;i>=xl;i—)
a[_x24-k-1_]=a[i];
(8)有如下程序:
#include<iostream>
usingnamespacestd;
intfunl(intx){return++x;}
intfun2(int&x){return4-+x;}
intmain(){
intx=l,y=2;
y=funl(fun2(x));
cout<<x<<\'?y;
return0:
}
程序的輸出成果是_2,3-
(9)有如下程序:
#include<iostream>
usingnamespacestd;
classpumpkin{
public:
punipkin(){++count;}
-pumpkin(){-count;}
staticvoidtotal_count(){
cout<<count?"pumpkin(s)'*<<end1;
)
private:
staticintcount;
);
intpumpkin::count=O;
intmain(){
pumpkinpl[10];
pumpkin::tota1_count();
return0;
}
這個(gè)程序的輸出成果是_lOpumpkin(s)_。
(10)有如下遞歸函數(shù):
intFun(intn){
if(n<=l)return1:
—elsereturnn*Fun(n-l);_
}
請(qǐng)補(bǔ)充完整,使得函數(shù)Fun可以對(duì)的J計(jì)算形參n的階乘。
(11)請(qǐng)?jiān)谙铝谐绦蛑械目崭裉幪顚憣?duì)的的語句:
classSamp1e{
pub1ic:
Samp1e(){}
?Sample(){}
voidSetData(intdata)
{〃將Sample類組員變量data設(shè)置成形參的值
_Sample::data=data___〃注意形參與組員同名
)
private:intdata;
);
(12)有如下類定義,請(qǐng)將Sample類的拷貝構(gòu)造函數(shù)補(bǔ)充完整。
classSample{
public:
Sample(){)
-Sample(){if(p)deletep;)
Samp1e(constSamp1e&s){
—p=newint;*p=s.*p—
)
voidSetData(intdata){p=newint(data);}
private:
int*p;
};
(13)重載加法運(yùn)算符“+”,其函數(shù)名是一operator+_。
(14)有如下程序:
#include<iostream>
usingnamespacestd;
classVVages{//n工資”類
doublebase;//基本工資
doublebonus;//獎(jiǎng)金
doubletax;//稅金
public:
ages(doubleCBase,doub1eCBonus,
doubleCTax)
:base(CBase)>bonus(CBonus)>
tax(CTax){}
doublegetPay()const;〃返回應(yīng)付工資額
Wagesoperator+(Wagesw)const;〃重載加法
};
doubleWages::getPay()const
{returnbase+bonus-tax;}
WagesWages::operator+(Wagesw)const
{returnWages(base+w.base,bonus4-w.bonus,
tax+w.tax);
}
intmain(){
Wageswl(2023,500,100),w2(5000,1000,300);
cout?(w1+w2).getPay()<<end1;
return0;
)(15)有如下程序:
#include<iostream>
usingnamespacestd;
classPet{
charname[10];
public:
Pet(char*name){strcpy(this->name,name);)
constchar*getName()const{returnname;}
virtua1voidcall()const=0;
};
c1assDog:publicPet{
pubiic:
Dog(char*name):Pet(nanie){}
voidca11()const{cout<<"汪汪叫";}
);
c1assCat:publicPet{
public:
Cat(char*name):Pet(name){}
voidca11()const{coutVv”唯唯叫”;}
);
intmain(){
Pet*petl=newDog(“哈克”),
*pet2=newCat(“吉米”);
cout<<petl->getName();
pctl—>cal1();
cout?end1;
cout<<pet2->getName();
pet2->cal1();
cout<<endl;
return0;
)
程序的輸出成果是—哈克汪汪叫
_吉米唯嘀叫一
2023年9月二級(jí)C++筆試試卷參照答案
二、填空題
(6)void(7)X2+k—1(8)2,3(9)10pumpkin(s)(10)elsereturn
n*Fun(n-1);
(11)Sample::data(12)p=newint;&p=s.*p;(13)opera!or
+(14)8100
2023年9月全國(guó)計(jì)算機(jī)二級(jí)筆試C++
一、選擇題(L10,21-40每題2分,11.20每題1分)
(11)已知函數(shù)FA調(diào)用若要把這兩個(gè)函數(shù)定義在同一種文獻(xiàn)中,則D
A)FA必須定義在FB之前B)FB必須定義在FA之前AC)若FA定義在
FB之后,則FA的原型必須出目前FB的定義之前AD)若FB定義在FA之后,則FB的
原型必須出目前FA的定義之前
(12)有如下兩個(gè)類定義C
c1assAA{};
classBB{
AAvl,*v2;ABBv3;
int*v4;
};A其中有一種組員變量的定義是錯(cuò)誤的,這個(gè)變量是AA)vlB)v2
C)v3D)v4
由于AA和BB都是類的定義,在類定義中無法申明一種自己的對(duì)象,因此在BB的類定義中,
企圖申明一種BB類的對(duì)象,是非法的。A(13)有如下類定義:BAc1assXX{
intxdata;
public:▲XX(intn=0):xdata(n){2};AC1assYY:publi
cXX{Aintydata;
pub1iC:AYY(intm=0,intn=0):XX(m),ydata(n){)
};禽YY類的對(duì)象包括的數(shù)據(jù)組員的個(gè)數(shù)是
A)1B)2C)3D)4
(14)下列有關(guān)運(yùn)算符函數(shù)的描述中,錯(cuò)誤的是€>A)運(yùn)算符函數(shù)的名稱總是以operat
or為前綴
B)運(yùn)算符函數(shù)的參數(shù)可以是對(duì)象AC)運(yùn)算符函數(shù)只能定義為類的組員函數(shù)(友元函數(shù)2
D)在體現(xiàn)式中使用重載的運(yùn)算符相稱于調(diào)用運(yùn)算符重載函數(shù)
(15)下列有關(guān)模板形參的描述中,錯(cuò)誤時(shí)是4A)模板形參表必須在關(guān)鍵字templat
e之后
B)模板形參表必須用括弧()括起來
C)可以用class修飾模板形參AD)可以用typename修飾模板形參
(16)在下列枚舉符號(hào)中,用來體現(xiàn)“相對(duì)于目前位置”文獻(xiàn)定位方式的是AAA)ios_ba
se::curB)ios_base::begC)ios_base::outD)ios_base::end
(17)下列字符串可以用作C++標(biāo)識(shí)符的是D
A)2023varB)gotoC)test-2023D)_123A(18)下列
枚舉類型的定義中,包括枚舉值3的是AAA)enumtest{RED,YELLOW,
BLUE,BLACK};AB)enumtest{RED,YELLOW:4,BLUE,BLACK};
Oenumtest{RED=-1,YELLOW,BLUE,BLACK};AD)enumtest{RED,
YELLOW=6,BLUE,BLACK};
(19)有如下程序段:C
inti=l;Awhile(1){Ai++;
if(i==10)break;Aif(i%2==0)cout<<'*';
)
執(zhí)行這個(gè)程序段輸出字符*的I個(gè)數(shù)是
A)10B)3C)4D)5
(20)己知數(shù)組arr的定義如下:D
intarr[5]={1,23,4,5};A下列語句中輸出成果不是2的是
A)cout<<*arr+1<<end1;B)cout?*(arr+1)<<endl;C)cout
?arr[1]<<end1;
D)cout<<*arr<<end1;
(21)計(jì)算斐波那契數(shù)列第n項(xiàng)的函數(shù)定義如下:B
Intfib(intn){
if(n==0)return1;AeIseif(n==1)return2;
elsereturnfib(n-l)+fib(n-2);
)
若執(zhí)行函數(shù)調(diào)用體現(xiàn)式fib(2),函數(shù)fib被調(diào)用的次數(shù)是AA)1B)2C)
3D)4A(22)Sample是一種類,執(zhí)行下面語句后,調(diào)用Sample類的構(gòu)造函數(shù)
的次數(shù)是0ASamplea[2],*p=newSamp1e;
A)0B)1C)2D)323S)下列有關(guān)虛基類的描述中,錯(cuò)誤的
是OA)使用虛基類可以消除由多繼承產(chǎn)生的二義性AB)構(gòu)造派生類對(duì)象時(shí),虛基類
的構(gòu)造函數(shù)只被調(diào)用一次
C伸明"classB:virtualpublicA”闡明類B為虛基類
D)建立派生類對(duì)象時(shí),首先調(diào)用虛基類的構(gòu)造函數(shù)
(24)將運(yùn)算符重載為類蛆員函數(shù)時(shí),其參數(shù)表中沒有參數(shù),闡明該運(yùn)算是B
A)不合法的運(yùn)算符B)一元運(yùn)算符C)無操作數(shù)的運(yùn)算符D)二元運(yùn)算符M25)
有如下模板申明:I)
temp1ate<typenameT1,typenameT2>classA;
下列申明中,與上述申明不等價(jià)的!是
A)template<c1assT1,c1assT2>classA;B)template<classT1,
typenameT2>classA;AC)tempIate<typenameT1,c1assT2>cIass
A;D)template<typenameT1,T2>classA;
(26)下列有關(guān)C++流的描述中,錯(cuò)誤時(shí)是A
A)cout>>,A,體現(xiàn)式可輸出字符AB)eof()函數(shù)可以檢測(cè)與否抵達(dá)文獻(xiàn)尾AC)
對(duì)磁盤文獻(xiàn)進(jìn)行流操作時(shí),必須包括頭文獻(xiàn)fstrearn
D)以ios_base::out模式打開的文獻(xiàn)不存在時(shí),將自動(dòng)建立一種新文獻(xiàn)"7)有如下程序:
C
#include<iostream>
usingnamespacestd;classToy{
public:
Toy(char*_n){strcpy(name,_n);count++;}
-Toy(){count";}Achar*GetName(){returnname;psta
ticintgetCount(){returncount;步private:
charnanieflO];AStatiCintcount;A}?
intToy::count=O;Aintmail(){AToytl("Snoopy''),t2("Mickey"),
t3("Barbie");Acout<<tl.getCount()?endl;Areturn0;
}A運(yùn)行時(shí)的輸出成果是AA)1B)2C)3D)運(yùn)行時(shí)出錯(cuò)A
(28)有如下程序B
#inc1ude<iostrcam>
usingnamespacestd;AdassA{Apublic^A(inti):r1(i)(}
voidprint(){cout?,e,?rl<<'>1;}
voidprint()const{cout<<,C'<<rl<srl?,-*;)
private:
intrl;A};Aintmain(){
Aal(2);constAa2(4);
a1.print();a2.print();
return0;
)
運(yùn)行時(shí)的)輸出成果是
A)運(yùn)行時(shí)出錯(cuò)B)E2-C16-C)C4-C16-D)E2-E4-
29)有如下程序:D
#indude<iostreani>
usingnamespacestd;
className{Acharnanie[20];Apublic:
Name(){
strcpy(name,"");cout<<z?';A}AName(char*fname))
{Astrcpy(name,fname);cout<'?';A}
);
intmain(){aNamenames[3]={Name(“張三”),Name(“李四”)};▲R
eturn0;A}A運(yùn)行此程序輸出符號(hào)?的個(gè)數(shù)是AA)0B)1C)2
D)3
(30)有如下程序:A
#include<iostream>Ausingnaniespacestd;
public:AAA(){cout<<*l*;}A};
classBB:publicAA{
intk;
public:ABB():k(0){cout?*2,;}ABB(intn):k(n){cout?'3*;}
)
intmain(){ABBb(4),c;
return0;A}
運(yùn)行時(shí)時(shí)輸出成果是
A)1312D)132C)32D)141
(31)有如下程序:B
#inc1ude<iostreani>
usingnamespacestd;
classCl{Apublic:A*C1(){COut<<l;}
);
ClassC2:publicc1{Apublic:A~c2(){cout?2;}4};
intmain(){AC2cb2;
Cl*cbl;
return0;A)
運(yùn)行時(shí)時(shí)輸出成果是
A)121B)21C)211D)12
(32)有如下程序D
#include<iostream>*usingnaniespacestd;Ac1assPublication{〃出版物如c
harnan)e[30]Public:
Publication(char*name="未著名稱"){AStrcpy(this->name,name);
}Aconstchar*getName()const{returnname;}Avirtualconstchar*get
Type()const{return”未知類型”;2};
c1assBook:publicPublication{//書類
pub1ic:
Book(char*name):Publication(name){}
virtualconstchar*getType()const{return"書";}
);
voidshowPub1ication(Publication&p)(Acout?p.getType()?n:M?p.get
Name()<<end1;
}Aintmain(){
Bookbook("精彩人生");AshowPub1ication(I)ook);areturn0;A}A運(yùn)行時(shí)的輸出
成果是
A)未知類型:未著名稱B)未知類型:精彩人生AC)書:未著名稱D)
書:精彩人生
(33)下列有關(guān)運(yùn)算符重載的I描述中,錯(cuò)誤的是C
A)::運(yùn)算符不能重物B)類型轉(zhuǎn)換運(yùn)算符只能作為組員函數(shù)重載AC)將運(yùn)算符作為非組員
函數(shù)重載時(shí)必須定義為友元
D)重載U運(yùn)算符應(yīng)完畢“下標(biāo)訪問”操作
(34)有如下程序:BA#includeviostream>舄#includeViomanip>
Usingnamespacestd;*intmain(){Aints[]={123,234};ACOUt?right<
<setfillC*')<<setw(6);
for(inti=0;i<2;i++){cout?s[i]<<end1;}
return0;
步運(yùn)行時(shí)的輸出成果是
A)123B)***123C)***123D)**?1
23A234234***234234***
(35)有如下類定義AAclassA{AChar*a;Apub1ic:
A():a(0){}AA(char*aa){〃把a(bǔ)a所指字符串拷貝到a所指向的存儲(chǔ)空間
a=;Astrcpy(a,aa);
strepy(a,aa);
}
~A(){delete[]a;J
};A橫線處應(yīng)填寫的體現(xiàn)式是AA)ncschar[strlen(aa)+1]B)char[strlen(aa)
+12C)char[strlen(aa)]D)newchar[sizeof(aa)—1]
二、填空題(每空
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育學(xué)期工作計(jì)劃范文集合6篇
- 畢業(yè)生的實(shí)習(xí)報(bào)告模板錦集10篇
- 云南保山市導(dǎo)游詞
- DB12T 484-2013 LED道路和街路照明燈具技術(shù)規(guī)范
- 個(gè)人拾金不昧的表揚(yáng)信
- 中醫(yī)藥五周年宣傳活動(dòng)總結(jié)(6篇)
- 沙盤模擬課件教學(xué)課件
- 銀行農(nóng)民工工資代發(fā)協(xié)議書-記賬實(shí)操
- 滇池度假區(qū)實(shí)驗(yàn)中學(xué)九年級(jí)上學(xué)期語文9月測(cè)試試卷
- 九臺(tái)區(qū)七年級(jí)上學(xué)期語文期末試卷
- 我家鄉(xiāng)-湖北鐘祥教學(xué)課件
- 三級(jí)醫(yī)院急診科護(hù)理質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)
- 2023年度安全工作目標(biāo)考核表
- 全五年級(jí)數(shù)學(xué)趣味競(jìng)賽50題含答案
- 女生生理衛(wèi)生課 課件
- 企業(yè)介紹PPT模板
- 危險(xiǎn)化學(xué)品安全周知卡(乙酸乙酯)
- 大學(xué)生朋輩心理輔導(dǎo)智慧樹知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 孤立性肺結(jié)節(jié)的CT診斷
- GB/T 19425-2003防偽技術(shù)產(chǎn)品通用技術(shù)條件
- 微型消防站人員考核題庫及答案
評(píng)論
0/150
提交評(píng)論