點(diǎn)擊查看:2018年9月計(jì)算機(jī)二級(jí)C++考前基礎(chǔ)練習(xí)題及答案匯總
1.下列關(guān)于C++流的描述中,錯(cuò)誤的是( )。
A.cout>>’A’表達(dá)式中輸出字符A
B.eof函數(shù)可以檢測(cè)是否到達(dá)文件尾
C.對(duì)磁盤(pán)文件進(jìn)行流操作時(shí),必須包含頭文件fstream
D.以ios_base::Out模式打開(kāi)的文件不存在時(shí),將自動(dòng)建立一個(gè)新文件
2.有如下程序:
#include
usingnamespacestd;
classToy{
public:
Toy(char*_n){strcpy(name,_n);count++;)
~Toy( ){count一一;)
char*GetName( ){returnname;}
staticintgetCount( ){returncount;)
private:
charname[10];
staticintcount;
};
intToy::count=0;
intmain( ){
Toyt1("snoopy"),t2("Mickey"),t3("Barbie");
tout
)
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.1
B.2
C.3
D.運(yùn)行時(shí)出錯(cuò)
3.有如下程序:
#include
usingnamespacestd;
classA{
public:
A(inti):rl(i){)
voidprint( ){cout<<’E’
intr1:
};
intmain( ){
Aal(2);constAa2(4);,
al.print( );a2.print( );
return0;
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.運(yùn)行時(shí)出錯(cuò)
B.E2一C16一
C.C4一Cl6一
D.E2一E4—
4.有如下程序:
#include
usingnamespacestd;
className{
charname[20];
public:
Name( ){
strcpy(name,"");cout<<’?’;
}
Name(char*fname){
strcpy(name,fname);cout<<’?’;
}
};
intmain( ){
Namenames[3]={Name(”張三”),Name(”李四”));
return0;
}
運(yùn)行此程序輸出符號(hào)?的個(gè)數(shù)是( )。
A.O
B.1
C.2
D.3
5.有如下程序:
#include
usingnamespacestd;
classAA{
public;
AA( ){cOUt<<’1’;)
};
classBB:publicAA{
intk;
public:
BB( ):k(0){tout<<’12’;}
BB(intn):k(n)(cout<<’3’;)
};
intmain( ){
BBb(4),c;
return0;
}
運(yùn)行時(shí)的輸出結(jié)果是( ).
A.1312
B.132
C.32
D.1412
6.有如下程序:
#include
usingnamespacestd;
classC1{
public:
~C1( ){cout<<1;)
};
classC2:publicC1{
public:
~C2( ){cout<<2;)
};
intmain( ){
C2cb2;
C1*cb1:
return0;
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.121
B.21
C.211
D.12
7.有如下程序:
#include
usingnamespacestd;
classPublication{//出版物類
charname[30];
public:
Publication(char*name=”未知名稱”){
~strcpy(this一>name,name);
}
constchar*getName( )const{returnname;}
virtualconstchar*getType( )const{return”未知類型”;}
};
classBook:publicPublication{//書(shū)類
public:
Book(char*name):Publication(name){}
virtualconstchar*getType( )const{return"書(shū)";}
};
voidshowPublication(Publication&p){
cout
}
intmain( ){
Bookbook(”精彩人生”);
showPublication(book);
return0;
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.未知類型:未知名稱
B.未知類型:精彩人生
C.書(shū):未知名稱
D.書(shū):精彩人生
8.下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是( )。
A.::運(yùn)算符不能重載
B.類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載
C.將運(yùn)算符作為非成員函數(shù)重載時(shí)必須定義為友元
D.重載口運(yùn)算符應(yīng)完成“下標(biāo)訪問(wèn)”操作
9.有如下程序:
#include
#includediomanip>
usingnamespacestd;
intmain( ){
ints[]={123,234);
cout
}
運(yùn)行時(shí)的輸出結(jié)果是( )。
A.123
B.***123
234234
C.***123
D.***123
***234234***
10.有如下類定義:
classA{
char*a;
public:
A( ):a(O){}
A(char*aa){//把a(bǔ)a所指字符串拷貝到a所指向的存儲(chǔ)空間
a=__;
strcpy(a,aa);
}
~A( ){delete[]a;}
};
橫線處應(yīng)填寫(xiě)的表達(dá)式是( )。
A.Dewchar[strlen(aa)+1]
B.char[strlen(aa)+1]
C.char[strlen(aa)]
D.newchar[sizeof(aa)-1]
參考答案:
1.A!窘馕觥吭贑++中輸入用“cin>>”,輸出用“<32.C!窘馕觥课鰳(gòu)函數(shù)主要用于最后函數(shù)的釋放空間。本題在已輸出t1.getCount()后才調(diào)用即不影響所輸結(jié)果。
3.B!窘馕觥縞onst關(guān)鍵字可以用于參與對(duì)重載函數(shù)的區(qū)分。重載的原則是常對(duì)象調(diào)用常成員函數(shù),一般對(duì)象調(diào)用一般成員函數(shù)。
4.D!窘馕觥繉(duì)有參與無(wú)參構(gòu)造函數(shù)的調(diào)用。當(dāng)names[2]為空時(shí)調(diào)無(wú)參構(gòu)造函數(shù),而names[0],names[1]調(diào)用有參構(gòu)造函數(shù),即輸出3個(gè)“?”。
5.A!窘馕觥慨(dāng)基類的構(gòu)造函數(shù)默認(rèn)或無(wú)參時(shí),派生類可省略對(duì)基類構(gòu)造函數(shù)的顯示調(diào)用,但系統(tǒng)會(huì)自動(dòng)調(diào)用該類的缺省構(gòu)造函數(shù),且先調(diào)用基類的構(gòu)造函數(shù)后調(diào)用派生類的構(gòu)造函數(shù)。
6.B!窘馕觥吭诨惻c派生類中,析構(gòu)函數(shù)在派生類先調(diào)用,而本題有兩個(gè)不同類對(duì)象,對(duì)于cb2需先調(diào)c2的析構(gòu)函數(shù),再調(diào)c1的析構(gòu)函數(shù)。而對(duì)于*cb1由于沒(méi)有指針性析構(gòu)函數(shù),它將不參加傳遞數(shù)據(jù)。
7.D。【解析】因?yàn)間etType是虛函數(shù),所以P.getType()執(zhí)行繼承類的getType函數(shù),輸出“書(shū)”;P.getName()執(zhí)行基類的getName函數(shù),輸出“精彩人生”?偣草敵觥皶(shū):精彩人生”,故選D。
8.C!窘馕觥砍恕ぁ*、→*、::、?:這五個(gè)運(yùn)算符外,其他運(yùn)算符都可以重載。=、[]、()、→以及所有的類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載?谧鳛槌蓡T函數(shù)重載時(shí),應(yīng)完成“下標(biāo)訪問(wèn)”操作,使得向指定下標(biāo)處的元素賦值或取值成為可能。
9.B!窘馕觥縮etw()為填充字符控制,僅對(duì)緊接著它的字符起作用,當(dāng)輸出的字符寬度小于setw()預(yù)留的字符數(shù)時(shí),需用setw()設(shè)置的字符給予填充。
10.A!窘馕觥繉(duì)動(dòng)態(tài)分配存儲(chǔ)空間的考查,在C++中,回車鍵需計(jì)一字符,即總的長(zhǎng)度為strlen(aa)+1。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |