版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國計算機等級考試無紙化真考題庫試卷⑵
二級C++
(考試時間120分鐘,滿分100分)
一、選擇題(每題1分。共40分)
⑴一種棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依
次出棧,則元素出棧的
次序是(r
A)12345ABCDE
B)EDCBA54321
C)ABCD日2345
D)5432IEDCBA
⑵下列論述中對H勺口勺是()。
A)循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是半線性構(gòu)造
B)在循環(huán)隊列中,只需要隊頭指針就能反應(yīng)隊列中元素的動態(tài)變化狀況
。在循環(huán)隊列中,只需要隊尾指針就能反應(yīng)隊列中元索向動態(tài)變化狀況
D)循環(huán)隊列中元素U勺個數(shù)是由隊頭指針和隊尾指針共同決定
⑶在長度為n的有序線性表中進(jìn)行二分查找,最壞狀況下需要比較U勺次數(shù)是()。
A)O(n)
B)O(n2)
C)O(1092n)
C)0(nl092n)
⑷下列論述中對日勺口勺是()。
A)次序存儲構(gòu)造H勺存儲一定是持續(xù)H勺,鏈?zhǔn)酱鎯?gòu)造的存儲空間不一定是持續(xù)H勺
B)次序存儲構(gòu)造只針對線性構(gòu)造,鏈?zhǔn)酱鎯?gòu)造只針對非線性構(gòu)造
c)次序存儲構(gòu)造能存儲有序表,鏈?zhǔn)酱鎯?gòu)造不能存儲有序表
D)鏈?zhǔn)酱鎯?gòu)造比次序存潴構(gòu)造節(jié)省存儲空問
⑸數(shù)據(jù)流圖中帶有箭頭的線段表達(dá)日勺是()。
A)控制流
B)事件驅(qū)動
Q模塊調(diào)用
D)數(shù)據(jù)流
⑹在軟件開發(fā)中,需求分析階段可以使用的工具是()o
A)N—s圖
B)DFD圖
C)PAD圖
D)程序流程圖
⑺在面向?qū)ο蟠胧┲?,不屬于“對象”基本特點的是()。
A)一致性
B)分類性
C)多態(tài)性
D)標(biāo)識唯一性
(8)一問宿舍可住多種學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)絡(luò)足()。
A)一對一
B)一對多
Q多對一
D)多對多
⑼在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最佳的是()。
A)人工管理階段
B)文獻(xiàn)系統(tǒng)階段
c)數(shù)據(jù)庫系統(tǒng)階段
D)三個階段相似
(10)有三個關(guān)系R、S和T如下:
ST
BCABc|
13m13
35
由關(guān)系R和S通過運算得到關(guān)系T,則所使用日勺運算為().
A)笛卡爾積
B)交
C)并
D)自然連接
(11)下列語句中,錯誤的是()。
A)constintbuffer=256;
B)constdouble*point:
C)intconstbuffer=256;
D)double*eonstpoint:
(12)if語句時語法格式可描述為:
格式1:if《條件>)<語句〉
或
格式2:if(<條件>)<語句1>
clsc<語句2>
有關(guān)上面口勺語法格式,下列表述中錯誤的是()。
A)〈條件》部分可以是一種if語句,例如if(if(a==0)???)???
B)<語句)部分可以是一種if語句,例如if(…)if(…)…
c)假如在<條件>前加上邏輯非運算符!并互換《語句1》和<語句2>的位置,語句功能不變
D)<語句)部分可以是一種循環(huán)語句,例如if(…)while(…)…
(13)有如下闡明:
inta[10]={l,2,3,4,5,6,7,8,9,10),*P=a;
則數(shù)值為9的體現(xiàn)式是()。
A)*P+9
B)木(P+8)
C)*P+=9
D)P+8
(14)有如下程序段:
inti=0,J=l;
int&r=i://①
r=j;//②
inl*P二&i;//⑧
*P=&r;//@
其中會產(chǎn)生編譯錯誤的I語句是()。
A)@
B)③
C)②
D)①
(15)下列字符串中。不可以用做C++標(biāo)識符口勺是()。
A)y_2023
B)_EST_H
C)Return
D)switch
(16)為了取代c中帶參數(shù)的宏,在C++中使用()。
A)重載函數(shù)
B)內(nèi)聯(lián)函數(shù)
C)遞歸函數(shù)
D)友元函數(shù)
(17)通過運算符重載,可以變化運算符原有的()。
A)操作數(shù)類型
B)操作數(shù)個數(shù)
C)優(yōu)先級
D)結(jié)合性
(18)在函數(shù)中,可以用autO、extern^register和static這四個關(guān)鍵字中的一種來闡明變
量的存儲類型,假如不說
明存儲類型,則默認(rèn)的存儲類型是()。
A)auto
B)extern
C)register
D)static
(19)下列運算符函數(shù)中肯定不屬于類FunNumberH勺組員函數(shù)的是()。
A)intoperator一(FunNumber);
B)FunNumberoperator一();
C)FunNumberoperatoi—(int);
D)intoperator一(FunNumber,FunNumber);
(20)若有下面口勺函數(shù)調(diào)用:
fun(fl+b,3,max(n—Lb))
則fun的實參個數(shù)是()。
A)3
B)4
C)5
D)6
(21)有關(guān)運算符重載,下列表述中對日勺的是()。
A)C++已經(jīng)有的任何運算符都可以重載
B)運算符函數(shù)H勺返回類型不能申明為基本數(shù)據(jù)類型
C)在類型轉(zhuǎn)換符函數(shù)的定義中不需要申明返回類型
【))可以通過運算符重載來創(chuàng)立C++中本來沒有的運算符
(22)有如下程序:
#nclude<iostrcam>
usingnamespacestd;
intmain()
(
voidfunction(doubleval);
doubleval;
function(val);
cout?val;
return0;
)
voidfunction(doubleval)
}val=3;}
編譯運行這個程序?qū)⒊霈F(xiàn)的狀況是()。
A)編譯出錯,無法運行
B)輸出:3
c)輸出:3.0
D)輸出一種不確定口勺數(shù)
(23)下列狀況中,不會調(diào)用拷貝構(gòu)造函數(shù)的是()。
A)用一種對象去初始化同一類日勺另一種新對象時
B)將類的I一種對象賦值給該類的另一種對象時
c)函數(shù)的形參是類的對象,調(diào)用函數(shù)進(jìn)行形參和實參結(jié)合時
D)函數(shù)口勺返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用時
(24)如下美鍵字不能用來申明類的訪問權(quán)限的足()。
A)public
B)static
C)pi'otected
D)private
(25)由于常對象不能被更新,因此()。
A)通過常對象只能調(diào)用它的常組員函數(shù)
B)通過常對象只能調(diào)用靜態(tài)組員函數(shù)
C)常對象口勺組員都是常組員
D)通過常對象可以調(diào)用任何不變化對象值的組員函數(shù)
(26)下列有關(guān)繼承和派生的論述中,對日勺的是()。
A)假如一種派生類公有繼承其基類,則該派生類對象可以訪問基類的保護(hù)組員
B)派生類日勺組員函數(shù)可以訪問基類日勺所有組員
0基類對象可以賦值給派生類對象
D)假如派生類沒有實現(xiàn)基類的一種純虛函數(shù),則該派生類是一種抽象類
(27)在公有繼承的狀況下,容許派生類直接訪問的基類組員包括()。
A)公有組員
B)公有組員和保護(hù)組員
C)公有組員、保護(hù)組員和私有組員
D)保護(hù)組員
(28)有如下程序:
#include<iostream>
usingnamespacestd:
classBase{
public:
voidfun(){
cout<<nBase::funM?endl;}
);
classDerived:publicBase{
public:
voidfunO{
cout<<wDerived::fun“<<endl:
)
};
intmain(){
Derivedd;
d.fun();
return0;
}
已知其執(zhí)行后口勺輸出成果為:
Base::fun
Derived::fun
則程序中下畫線處應(yīng)填人的語句是(
A)Base.fun();
B)Base::fun();
C)Base->fun();
D)fun();
(29)有如下程療:
#include<iostream>
usingnamespacestd;
classMyClass{
public:
MyClass(){cout?,A';}
MyClass(charC){cout?C;}
?MyClass0{cout<<‘B';)
};
intmain(){
MyClasspL+p2;
p2=newMyC1assCX');
deletep2;
return0;
)
執(zhí)行這個程序H勺輸出成果是()。
A)ABX
B)ABXB
C)AXB
D)AXBB
(30)有如下程序:
#include。osIream〉
usingnamespacestd:
inti=l;
classFun{
public:
staticinti;
intvalue(){returni-1;}
intvalue()const(returni+1;}
};
intFun::i=2;
intmain(){
inti=3;
Funfunl;
constFunfun2:
return0;
)
若程序日勺輸出成果是:
123
則程序中下畫線處遺漏的語句是()。
A)cout?funl.value()?Fun::i?fun2.value();
B)tout?Fun::i?funl.value()?fun2.value();
C)cout?funl.value()<<ful12.value()?Fun::i:
D)eout?fun2.value()?Fun::i?funl.value();
(31)有如下程序:
#include<iostream>
usingnamespacestd;
classObj{
staticinti;
public:
Obj(){i++;}
一Obj(){i——;}
staticintgetVal(){returni;}
);
intObj::i=0:
voidf(){Objob2;cout?ob2.getVai();}
intmain(){
Objobi;
f();
0bj}ob3=newObj;cout?ob3—*>getVal():
deleteob3;cout?0bj::9etVal();
return0;
)
執(zhí)行這個程序的輸出成果是()O
A)232
B)231
C)222
D)221
(32)有如下程序:
#include<iostream>
usingnamespacestd;
classPair{
intm,n;
public:
Pair(intj,intk):m(j),n(k){}
intget(){returnm;)
intget()const(returnm+n;}
):
intmain(){
Paira(3,5);
constPairb(3,5);
tout?a.get()>?b.get。;
returnU:
)
執(zhí)行這個程序的輸出成果是()。
A)33
B)38
083
D)88
(33)有如下程序:
#inc1ude<iostroam>
usingnamespacestd:
classBase{
protected:
Base(){cout<<,A';}
Base(charC)(cout<<c;j
);
classDerived:publicBase{
public:
Derived(charc){tout<<C;}
);
intmain(){
Deriveddl('B');
return0;
}
執(zhí)行這個程序R勺輸出成果是()o
A)B
B)BA
C)AB
D)BB
(34)有如下類定義:
classMyB<ise(
intk;
public:
MyBase(intn=0):k(n)}(
intvalue()const(returnk;}
);
classMyDerived:MyBase{
intj;
public:
MyDerived(inti):j(i)|}
intgctK()const{returnk;}
intgetj()const{returnj;}
);
編譯時發(fā)既有一處語法錯誤,對這個錯誤最精確的描述是()。
A)函數(shù)9etK試圖訪問基類U勺私有組員變量k
B)在類MyDerived日勺定義中,基類名MyBase前缺乏關(guān)鍵字public、protected或private
C)類MyDerived缺乏一種無參的構(gòu)造函數(shù)
D)類MyDerived日勺構(gòu)造函數(shù)沒有對基類數(shù)據(jù)組員k進(jìn)行初始化
(35)有如下程序:
#include<iostream>
usingnamespacestd:
classInstrument{
public:
virtualvoidDisplay()=0;
};
classPianO:publicInstrument)
public:
voidDisplay(){/*函數(shù)體略*/}
);
intmainO{
InstrumentS;
Instrumcnt*P=0:
//???;
return0;
)
下列論述中對的的是()o
A)語句"Insturment*P=0;"編譯時出錯
B)語句°Instnunents;”編譯時出錯
C)類PianO中H勺Display函數(shù)不是虛函數(shù)
D)類Instrument是一種虛基類
(36)有如下程序:
#include<iostream>
usingnamespacestd;
classA{
public:
virtualvoidfancl(){cout?MAP*;}
voidfunc2(){cout?wA2r;)
);
classB;publicA(
public:
voidfunci(){tout?MBl";)
voidfunc2(){tout?wB2";)
);
intmainO)
A*P=newB:
P—>funcl();
P—>func2();
deletep;
return0;
)
執(zhí)行這個程序日勺輸出成果是()o
A)B182
B)A1A2
OB1A2
D)AIB2
(37)有關(guān)在調(diào)用模板函數(shù)時模板實參日勺使用,下列表述中對的的是()o
A)對于虛擬類型參數(shù)所對應(yīng)的模板實參,假如能從模板函數(shù)的實參中獲得相似的信息,則都
可以省略
B)對于虛擬類型參數(shù)所對應(yīng)的模板實參,假如它們是參數(shù)表中的最終日勺若干個參數(shù),則都可
以省略
C)對于虛擬類型參數(shù)所對應(yīng)的模板實參,若可以省略則必須省略
D)對于常規(guī)參數(shù)所對應(yīng)的模板實參,任何狀況卜都不能省略
(38)有關(guān)關(guān)鍵字class和typename,下列表述中對H勺的是()。
A)程序中日勺typename都可以替代為class
B)程序中日勺class都可以替代為typenamc
0在模板形參表中只能用{ypena唳來申明參數(shù)H勺類型
D)在模板形參表中只能用class或typenanle來申明參數(shù)的I類型
(39)在下列枚舉符號中,用來表達(dá)“相對于目前位置”文獻(xiàn)定位方式的是()。
A)ios_base::cur
B)ios-base::beg
C)los_base;:Out
D)ios—base::end
(40)下列有關(guān)C++流口勺描述中,錯誤的I是()。
A)cout?'A'體現(xiàn)式可輸出字符A
B)eof()函數(shù)可以檢測與否抵達(dá)文獻(xiàn)尾
C)對磁盤文獻(xiàn)進(jìn)行流操作時,必須包括頭文獻(xiàn)「stream
D)以iosbase::Out模式打開的文獻(xiàn)不存在時,將自動建立一種新文獻(xiàn)
二、基本操作題(共18分)
請使用VC6或使用【答題】菜單打開考生文獻(xiàn)夾projl下的工程projl,此工程中包括一種
源程序文獻(xiàn)
main.cpp,具中杓類Book(',書”)和主函數(shù)main的定義。程序中位于每個“//
ERROR****found****”下
的語句行有錯誤,請加以改正。改正后程序的輸出成果應(yīng)當(dāng)是:
書名:C++語句程序設(shè)計總頁數(shù):299
已把“C++語言程序設(shè)計”翻到第50頁
已把“C++語言程序設(shè)計”翻到第51頁
已把“C++語言程序設(shè)計”翻到第52頁
已把“C++語言程序設(shè)計”翻到第51頁
已把書合上。
目前頁:0
注意:只修改每個“//ERROR***「ound***"下的那一行,不要改動程序中的其他內(nèi)容。
#include<iostream>
usingnamespacestd;
classBook{
char*title;
intnum—pages;//頁數(shù)
intcur_pagc;//目前打開頁面的I頁碼,0表達(dá)書未打開
pub1ic:
//ERROR***********foiind***********
Book(constchar*theTitie,intpages)numpages(pages)
{
ti11e=ncwchar[strlen(theTitle)+l];
strepy(title,theTitie);
cout?endl<<”書名:”《title
<<“總頁數(shù):°<<num_pages;
)
^*Book(){deletedtitle;)
boolisClosed()const{returncur_0;}//書合上時返回true,否則返回false
boolisOpenOconst{return!isClosedO;}//書打開時返回true,否則返回false
intnumOfPages()const{returnnumpages;)//返回書的)頁數(shù)
intcurrentPage()const{returncur_page;}//返回打開頁面H勺頁碼
//ERROR***********foiind***********
voidopcnAtPage(intpage_no)const{//把書翻到指定頁
cout<<endl:
iupageno<lJjpageno>humpages){
tOUt?w無法翻至ij第”?curpage<<“頁.”;
ClOSe();
)
else(
curpage=pagenO;
tout?!耙寻逊罥I第“<<curpage?“頁”;
)
}
voidopenAtPrevPageO{openAtPage(curpage—I);{//把書翻到上一頁
voidopenAtNextPage(){openAtPage(curpage+1);)//把書翻到F一頁
voidcloseO{//把書合上
tout?endl:
if(isClosedO)
tout<<"書是合上的I。
else{
//ERROR**********found**********
num_pages=O;
cout。”已把書合上。”;
)
cOut<<endl;
)
};
intmain(){
Bookbook("C++語言程序設(shè)計",299);
book,openAtPage(50);
book.openAtNextPageO:
book.openAtNextPageO:
book.openA.tPrevPageO;
book,close();
tout?w目前頁:"<<book.currcntPage()<<endl;
return0:
)
三、簡樸應(yīng)用題(共24分:)
請使用VC6或使用【答題】菜單打開考生文獻(xiàn)夾proj2下的工程proj2。此工程中包括一種
源程序文獻(xiàn)
main.cpp,其中有“房間”類Roon]及其派生出口勺“辦公室”類Office的定義,尚有主函
數(shù)main的定義。請在程
序中“//****f°und****”下的橫線處填寫合適的代析并刪除橫線,以實現(xiàn)上述類定義。
此程序日勺對日勺輸出
成果應(yīng)為:
辦公室房間號:308
辦公室長度:5.6
辦公室寬度:4.8
辦公室面積:26.88
辦公室所屬部門:會計科
注意:只能在橫線處填寫合適時代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動”/
//料料found?料
#include<isotream)
usingnamespaeestd;
classRccm{//"房間”類
introomnO;//房間號
doublelength;//房間長度(m)
doublewidth;//房間寬度(nl)
public:
Room(intthe-room-nO,doublethe?length,doublethe-width):loom-no(the-room
-no),length(the-
length),width(the—width){}
inttheRoomNo()eonst{returniDonl—nO;}
//返回房間號
doubletheLength()const{returnlength;}//返回房間長度
doubletheWidth()const{returnwidth;}//返回房間寬度
//**********found**********
doublethcArcaOconst(}//返回房間面積(矩形面積)
};
classOffice:publicRoom{//“辦公室”類
char*depart;//所屬剖門
public:
Officc(intthcroomnC,doublethelcngth,doublethewidth,constchar木
thedopart)
//**********found**********
depart=newchar[strlen(thedepart)+1];
//**********found**********
strepy();
)
?Office。idelete[]depart:}
constchar*theDepartment()const{returndepart;}//返回所屬部門
};
intmain(){
//**********「0und**********
Office;
cout?n辦公室房間號:"<<auoffice.theRoomNo()<<end1
<<”辦公室長度:”<<anoffice.theLength0?endl
?w辦公室寬度:”《anOffice.thcWidthO?endl
<<n辦公室面積:"〈〈anoffice.theArea()<<endl
<<"辦公室所屬部門:”<<all一office.theDepartment()?endl;
return0;
)
四、綜合應(yīng)用題(共18分J
請使用VC6或使用【答題】菜單打開考生文獻(xiàn)夾proj3下的工程文獻(xiàn)proj3。本題創(chuàng)立一種
小型字符串類,字符串長度不超過100。程序文獻(xiàn)包括pmj3.h、proj3.cpp、writeToFile.obj。
補充完畢重載賦值運算符函數(shù),完畢深復(fù)制功能。
屏幕上輸出的對H勺成果應(yīng)當(dāng)是:
Hello!
Happynewyear!
補充編制H勺內(nèi)容寫在"http://**********333**********"與"http://**********666**********"
兩行之間。
不得修改程序的其他部分、
注意:
程序最終調(diào)用writeToFilo函數(shù),使用另?組不?樣的測試數(shù)據(jù),將不?樣的運行成果輸
出到文獻(xiàn)Out?dat中。
輸出函數(shù)writeToFile已經(jīng)編譯為obj文獻(xiàn)。
//proj3.h
#includc<iostrcam>
#include<iomanip>
usingnamespacestd:
classMiniString
pubhc:
friendo8tream&operator?(oatream&output,constMiniString&s)//重載流插入運算
符
{output?s.sPtr;returnoutput;}
friendistream&operator?(istream&input,MiniString&8)//重載流提取運算符
{chartemp[100];//用于輸入的I臨時數(shù)組
temp[0]=>\0\//初始為空字符串
input>>setw(100)>>temp;
intinLcn=strlen(temp);//輸入字符串長度
if(inLen!=0)
)
s.length=inLen;//賦長度
if(s.sPtr!=0)delete[]s.sPtr;//防止內(nèi)存泄漏
s.sPtr=Howcharts,lcngth+1];
strcpy(s.sPtr,temp);//假如8不是空指針,則復(fù)制內(nèi)容
)
elses.sPtr[O]=>\D';//假如s是空指針,則為空字符串
returninput;
)
voidmodString(constchar}string2)//更改字符串內(nèi)容
{
if(strin921=0)//假如strin92不是空指針,則復(fù)制內(nèi)容
(
if(strlcn(strin92)!=lcngth)
(
length=strlen(strin92);
delete[]sPtr;
sPtr=newchar[length+1];//分派內(nèi)存
)
strcpy(sPlr,strin92);
)
elsesPtr[O]=,\0\//假如string2是空指針,則為空字符串
)
MiniString&operator=fconstMiniString&otherString);
MiniString(corotchar*s=""):Icngtll((s!=O)?strlcn(s):0)//構(gòu)造函數(shù)
(
sPtT=0:
if(length[=0)
setString(S);
)
--MiniStringO//析構(gòu)函數(shù)
{delete[]sPtr:}
private:
intlength;//字符串長度
char*sPtr;//指向字符串起始位置
voidsetString(constchar*string2)//輔助函數(shù)
sPtr=Dewchar[str|en(string2)+l];//分派內(nèi)存
if(stnl192!=0)strcpy(sPtr,string2);//假如string2不是空指針,則復(fù)制內(nèi)容
elseslur[0]=\0,;//假如string2是空指針,則為空字符串
)
};
//pwj3.cpp
include<iostream>
#include<iomanip>
usingnamespacestd;
#include”proj3.h”
MiniString&MiniStrin9::0perator=(constMiniString&otherString)
{//重載賦值運算符函數(shù)。提醒:可以調(diào)用輔助函數(shù)setString
//*************333**********
//*************666**********
)
intmain()
MiniSu*ingstrl(,fHeuo!n),str2;
voidwriteToFile(constchar*);
sir2=strl;//使用重載的賦值運算符
str2.modString("Happynewyear!”);
cout?strl?,\n*:
cout?str2?,\n:
writeToFile(**);
return0;
)
無紙化真考題庫試卷(2)
一、選擇題
(1)B【解析】棧是先進(jìn)后出口勺原則組織數(shù)據(jù),因此入棧最早R勺最終出棧,因此選擇B。
(2)D【解析】循環(huán)隊列有隊頭和隊尾兩個指針,不過循環(huán)隊列仍是線性構(gòu)造U勺,因此A錯
誤;在循環(huán)隊列中需要隊頭指針與隊尾指針來共同反應(yīng)隊列中元素的動態(tài)變化狀況,因此B
與C錯誤。
(3)C【解析】當(dāng)有序線性表為次序存儲時才能用:二分法查找??梢宰C明的是對于長度為n
時有序線性表,在最壞狀況下,二分法查找只需要比較IO92n次,而次序查找需要比較n次。
(4)A【解析】鏈?zhǔn)酱鎯?gòu)造既可以針對?線性構(gòu)造也可以針對非線性構(gòu)造,因此B與C錯誤。
鏈?zhǔn)酱鎯?gòu)造中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分構(gòu)成,增長了存儲空間,因此D錯誤。
(5)D【解析】數(shù)據(jù)流圖中帶箭頭的線段表達(dá)口勺是數(shù)據(jù)流,即沿箭頭方向傳送數(shù)據(jù)的通道,
一般在旁邊標(biāo)注數(shù)據(jù)流名,
(6)B【解析】在需求分析階段可以使用的工具有數(shù)據(jù)流圖DFD圖,數(shù)據(jù)字典DD,鑒定樹與
鑒定表,因此選擇B。
(7)A【解析】對象有如下某些基本特點:標(biāo)識唯一性、分類性、多態(tài)性、封裝性、模塊獨
立性好。因此選擇A。
(8)B【解析】由于一間宿舍可以住多種學(xué)生即多種學(xué)生住在一種宿舍中,但一種學(xué)生只能
住一間宿舍,因此實體宿舍和學(xué)生之間是一對多日勺關(guān)系。
(9)C【解析】數(shù)據(jù)管剪發(fā)展至今已經(jīng)歷了三個階段:人工管理階段、文獻(xiàn)系統(tǒng)階段和數(shù)據(jù)
庫系統(tǒng)階段。其中最終一種階段構(gòu)造簡樸,使用以便邏輯性強物理性少,在各方面的體現(xiàn)都
最佳,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位,因此選擇c。
(10)D【解析】自然連接是一種特殊的等值連接,它規(guī)定兩個關(guān)系中進(jìn)行比較的分量必須是
相似的屬性組,并且在成果中把反復(fù)口勺屬性列去掉,因此根據(jù)T關(guān)系中日勺有序組可知R與s
進(jìn)行的是自然連接操作。
(11)D【解析】const是一種C++關(guān)鍵字,用于限定不容許變化的變量。選項B是指向常量的
指針,定義時可以不初始化:選項D是指針常量,定義時必須初始化。故答案為D。
(12)A【解析】本題考察if語句,if語句的條件部分不能嵌套if語句,因此A選項錯誤;B
選項就是if語句嵌套;C選項其實就是將判斷條件顛倒,然后執(zhí)行語句也顛倒,因此效果
同樣;D選項也對的。
(13)B【解析】本題考察指向數(shù)組的指針,本題中指針變量P指向數(shù)組a,那么*PH勺值就是
1,即表達(dá)數(shù)組的第一種元素,那么數(shù)值為9日勺體現(xiàn)式就是將指針向后移動8個地址,即P+8
指向的是數(shù)組元素值為9,因此數(shù)值為9的體現(xiàn)式是*(P+8)。
(14)A【解析】本題考察指針和引用。①為引用,使用玄孫④中&r表達(dá)一一種地址,而*
P已經(jīng)是一種值了,不能將一種指針賦值給一種值,因此編譯錯誤。
(15)D【解析】本題考察C++標(biāo)識符的命名規(guī)則,其規(guī)則有如下幾點:①所有標(biāo)識符必須由
字母、數(shù)字或下畫線構(gòu)成:且必須由字母或下畫線開頭;②所有標(biāo)識符不能使用C++已經(jīng)有
的關(guān)鍵字;③大、小寫字以表達(dá)不一樣意義,即代表不一樣W、J標(biāo)識符。選項C中雖然return
是關(guān)鍵字,但因首字母大、小寫不一樣,也可用于標(biāo)識符,但不提議使用。故答案為D。
(16)B【解析】一般函數(shù)進(jìn)行調(diào)用時,要將程序執(zhí)行權(quán)轉(zhuǎn)到被調(diào)用函數(shù)中,然后再返回到調(diào)
用它的函數(shù)中;而內(nèi)聯(lián)函數(shù)在調(diào)用時,是將調(diào)用體現(xiàn)式用內(nèi)聯(lián)函數(shù)體來替代,即類似于宏。
(17)A【解析】重載運算符MJ規(guī)則如下:①C++不容許顧客自己定義新的運算符,只能對己
經(jīng)有的C++運算符進(jìn)行重或;②C++不能重載的運算符只有5個;③重載不能變化運算符運
算對象的個數(shù);④重載不能變化運算符的優(yōu)先級和結(jié)合性;⑤重載運算符的函數(shù)不能有默認(rèn)
的參數(shù);⑥重載的運算符必須和顧客定義的自定義類型的對象一起使用,至少應(yīng)有一種是類
對象,即不容許參數(shù)所有是C++的原則類型。故本題答案為A.
(18)A【解析】變量的存儲措施分為靜態(tài)存儲和動態(tài)存儲兩大類,包括4種:自動的(auto)、
靜態(tài)的(static)、寄存器的(register)、外部的(extem)。變量假如沒有闡明存儲類型,那么默認(rèn)
就是autOo
(19)D【解析】本題考察運算符重載H勺某些規(guī)則:①一般狀況下,單目運算符最佳重載為類
的組員函數(shù),雙目運算符則最佳重載為類的友元函數(shù);②雙目運算符=、()、口、。不能重載
為類的友元函數(shù);③類型轉(zhuǎn)換函數(shù)只能定義為一種類的組員函數(shù),而不能定義為類的友元函
數(shù);④若一種運算符的操作需要修改對象的狀態(tài),選擇重載為組員函數(shù)很好:⑤若運算符所
需的操作數(shù)(尤其是第一種操作數(shù))但愿有隱式類型轉(zhuǎn)換,則只能選用友元函數(shù);⑥當(dāng)運算符
函數(shù)是一種組員函數(shù)時,最左邊口勺操作數(shù)(或者只有最左邊的操作數(shù))必須是運算符類的一種
類對象(或者是對該類對象B勺引用):假如左邊的操作數(shù)必須是一種不一樣類的I對象,或者是
一種內(nèi)部類型日勺對象,該運算符函數(shù)必須作為一種友元函數(shù)來實現(xiàn)。因此答案為D。
(20)A【解析】本題考察函數(shù)實參個數(shù)口勺基礎(chǔ)知識,根據(jù)實參口勺概念,(a+b)、3、mflJc(n一
1,b)分別為其中的3個實參。故答案為A。
(21)c【解析】重載運算符的規(guī)則如下:①C++不容許顧客自己定義新H勺運算符,只能對已經(jīng)
有的C++運算符進(jìn)行重載;②C++不能重載的運算符只有5個;③重載不能變化運算符運算
對象的個數(shù);④重載不能變化運算符的優(yōu)先級和結(jié)合性;⑤重載運算符口勺函數(shù)不能有默認(rèn)的
參數(shù);⑥重載的運算符
必須和顧客定義日勺自定義類型日勺對象?起使用,至少應(yīng)有?種是類對象,即不容許參數(shù)所有
是C++的原則類型。故本題答案為c。
(22)D【解析】本題考察函數(shù)調(diào)用及傳值方式傳遞參數(shù),執(zhí)行函數(shù)function時,并沒有將3
時值傳回來,而val又沒有初始化,因此會輸出一種不確定的I值,D選項對R勺。
(23)6【解析】本題考察復(fù)制構(gòu)造函數(shù),在如下3種狀況下使用:①程序中需要新建立一種
對象,并用另一種對象對它初始化;②函數(shù)11勺參數(shù)為類的對象;③函數(shù)的返回值是類的對象。
其中B選項是由賦值運算符重載實現(xiàn)的。
(24)B【解析】類的組員訪問權(quán)限有3種:public(公用)、protected(保護(hù))、private(私有)。
(25)A【解析】本題考察常對象的基本知識,常對象只能調(diào)用它的常組員函數(shù),而不能調(diào)用
非const函數(shù),常對象U勺組員函數(shù)不一定都是常組員函數(shù),只需保證其數(shù)據(jù)組員是常數(shù)據(jù)組
員即可。因此本題選A。
(26)D【解析】私有繼承方式為基類的公用組員和保護(hù)組員在派生類中成了私有組員,其私
有組員仍為基類私有,但派生類對象可以訪問基類H勺保護(hù)組員,因此基類對象不能賦值給派
生類對象。抽象類是指具有純虛擬函數(shù)的類,因此選項D對的J。
(27)B【解析】本題考察公用繼承對基類組員的訪問屬性。在公用繼承中,基類的公用組員
和保護(hù)組員在派生類中保持原有日勺訪問屬性,其私有組員仍為基類私有。因此本題答案為B。
(28)B【解析】本題考察公用繼承對基類組員的訪問屬性。在公用繼承中,基類的公用組員
和保護(hù)組員在派生類中保持原有的訪問屬性,其私有組員仍為基類私有。本題中想要輸出
Base::fun,則必須調(diào)用基類日勺公用組員函數(shù)fun,因此使用Base::fun();來調(diào)用基類的組
員函數(shù)fun。
(29)D【解析】構(gòu)造函數(shù)和析構(gòu)函數(shù)H勺調(diào)用次序為先構(gòu)造H勺后析構(gòu),后構(gòu)造的先析構(gòu)。因此
本題答案為D。
(30)A【解析】本題考察構(gòu)造函數(shù)、常組員函數(shù)和靜態(tài)數(shù)據(jù)組員。外部同名H勺變量賦值,不
能變化類的靜態(tài)變量值,因此Fun對象里的i值為2,因此本題答案為A。
(31)D【解析】本題考察構(gòu)造函數(shù)和析構(gòu)函數(shù)的J調(diào)用次序,調(diào)用次序為先構(gòu)造的后析構(gòu),后
構(gòu)造的先析構(gòu)。本題中先定義了一種對象。bl,會執(zhí)行構(gòu)造函數(shù),那么i就變?yōu)榱薎;再執(zhí)行
函數(shù)f后,由于又定義了一種對象。b2,因此再次執(zhí)行構(gòu)造函數(shù),i就變?yōu)榱?,輸出了20
函數(shù)執(zhí)行完后執(zhí)行析構(gòu)函數(shù),i變?yōu)榱?,然后又定義了對象指針,i變?yōu)榱?。釋放。b3后,
i變?yōu)榱?,因此答案為D。
(32)B【解析】本題考察常對象、常組員函數(shù)及構(gòu)造函數(shù)。常對象只能調(diào)用常組員函數(shù),因
此本題中,對象a為一般對象,執(zhí)行a.get()后,會執(zhí)行默認(rèn)構(gòu)造函數(shù),輸出3;對象b為
常對象,執(zhí)行b.get()后,會執(zhí)行常構(gòu)造函數(shù),輸出8。
(33)C【解析】本題考察派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù).在定義一種派生類的對象時,先調(diào)
用基類的構(gòu)造函數(shù),然后再執(zhí)行派生類口勺構(gòu)造函數(shù);對象釋放時,先執(zhí)行派生類日勺析構(gòu)函數(shù),
再執(zhí)行基類及I析構(gòu)函數(shù)。本題中定義了一種派生類對象dl,首先執(zhí)行基類口勺構(gòu)造函數(shù),輸
出A;然后執(zhí)行派生類的構(gòu)造函數(shù),輸出B。因此答案為C。
(34)A【解析】默認(rèn)繼承方式為私有繼承,私有繼承將基類的公用組員和保護(hù)組員都變?yōu)閞
私有組員,基類的私有組員仍然屬于基類私有,派生類不能訪問基類的私有組員。因此A
選項對"勺。
(35)B【解析】本題考察純虛函數(shù)和抽象類,純虛函數(shù)是在申明虛函數(shù)時被“初始化”為0
的函數(shù),包括純虛函數(shù)n勺類為抽象類,抽象類不能被實例化,因此語句“In5tminents;”在
編譯時出錯。
(36)C【解析】本題考察虛函數(shù)。虛函數(shù)指在基類中申明為virtual并在一種或多種派生類中
被重新定義的I組員函數(shù)。邈中定義了一種派生類對象8,并使用類A日勺對象指針指向B,由
于基類A中口勺fund為虛函數(shù),因此會執(zhí)行派生類的fund,輸出Bl,而基類中的func2不是
虛函數(shù),因此P->func2()會執(zhí)行基類的func2,輸出A2。故答案為c。
(37)D【解析】在調(diào)用一種模板函數(shù)時,編譯系統(tǒng)需要足夠的信息來鑒別每個虛擬類型參數(shù)
所對應(yīng)的實際類型,可以從兩個不一樣的渠道獲得這樣的信息:從模板實參表(用“<>”括
起來的參數(shù)表)或從模板豕數(shù)實參表(用“()”括起來U勺參數(shù)表)。假如從后者獲得的信息已經(jīng)
可以鑒定其中部分或所有電擬類型參數(shù)所對應(yīng)的實際參數(shù),并且它們又恰好是參數(shù)表中最終
的若干參數(shù),則模板實參表中的那幾種參數(shù)可以省略。假如模板實參表中日勺實參都被省略了,
則空表“<>”也可以不要,因此選項D錯誤。反之,對于某個模板實參,假如從模板函數(shù)
的實參表中無法獲得同樣的信息,,就不能省略:或者雖然可以獲得同樣口勺信息,但在它背面
尚有其他不能省略的實參,則其自身還是不能省略。
(38)A【解析】程序中的typename都可以替代為class,但程序中的class不可以所有替代為
typenameo在模板類型形參中除了typename和class以外,也可以用常規(guī)類型來申明參數(shù)
的類型,因此C、D選項錯誤。
(39)A【解析】streamoff定義于iostream,h中,定義有偏移量Offset所能獲得的最大值,
seek—dir表達(dá)移動的基準(zhǔn)位置,是一種有如下值的枚舉:ios::be9:(文獻(xiàn)開頭)、ios::cur:
(文獻(xiàn)目前位置.)、ios::end:(文獻(xiàn)結(jié)尾)。
(40)A【解析】本題考察C++流,想要輸出字符“A”,貝!應(yīng)當(dāng)是cout<<"A",因此本題答案
為A。
二、基本操作題
【參照答案】
(l)Book(constchar*theTifle,intpages):num_pages(pages)
(2)voidopenAtPage(intpage—no)//把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川路橋集團(tuán)公路隧道分公司面向社會招聘TBM施工專業(yè)人才20人筆試參考題庫及答案解析
- 2026年射擊單招全國專項測試題附答案
- 2026年安徽揚子職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2026年撫順師范高等??茖W(xué)校單招職業(yè)傾向性測試題庫附答案
- 2026廣東廣州市天河區(qū)同仁藝體實驗中學(xué)招聘教師筆試備考題庫及答案解析
- 2026貴州貴陽市觀山湖區(qū)第十一中學(xué)教師招聘5人筆試模擬試題及答案解析
- 2026年焦作工貿(mào)職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫附答案
- 2026年新團(tuán)員入團(tuán)考試試題帶答案(培優(yōu))
- 2026山東棗莊市臺兒莊區(qū)面向2017年前招募仍在鎮(zhèn)(街)工作“三支一扶”人員招聘鎮(zhèn)(街)事業(yè)單位人員筆試備考題庫及答案解析
- 2025山東濱州市博興縣縣屬國有企業(yè)招聘筆試考試參考題庫附答案
- 2026秋招:澳森特鋼集團(tuán)試題及答案
- 哲學(xué)史重要名詞解析大全
- 2026年寧夏黃河農(nóng)村商業(yè)銀行科技人員社會招聘備考題庫及答案詳解(易錯題)
- DB37-T4975-2025分布式光伏直采直控技術(shù)規(guī)范
- 脫硫廢水零排放項目施工方案
- 2026年海南衛(wèi)生健康職業(yè)學(xué)院單招綜合素質(zhì)考試題庫參考答案詳解
- 急性心梗合并急性心衰護(hù)理
- 肺原位腺癌病理課件講解
- 傳承三線精神、砥礪奮進(jìn)前行課件
- 消防設(shè)施維保服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 堵漏施工方案報價
評論
0/150
提交評論