版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
家二級(jí)(C++)機(jī)試模擬試卷15(共4
(共165題)
國家二級(jí)(C++)機(jī)試模擬試卷第1套
一、選擇題(本題共38題,每題1.0分,共38分。)
1、一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入
棧,然后再依次出棧,則元素出棧的順序是()o
A、12345ABCDE
B、EDCBA54321
C、ABCDE12345
D、54321EDCBA
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)浦析:棧是先進(jìn)后出的原則組織數(shù)據(jù),所以入棧最早的最后出棧,所以選擇
B)o
2、下列符號(hào)中不屬于C++關(guān)鍵字的是()。
A、friend
namespace
C、continue
D、byte
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查C++關(guān)鍵字,屬于基本常識(shí),顯然D選項(xiàng)不正確。
3、有如下程序:#includeusingnamespacestd;classCD{public:-CD()
{coutvv'C';}private:charname[80];);intmain(){CDa,*b,d[2];return0;}執(zhí)
行這個(gè)程序的輸出結(jié)果是()。
A、CCCC
B、CCC
C、CC
D、C
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查類的析構(gòu)函數(shù),題目中定義了類的一個(gè)對(duì)象a,對(duì)象指針
*b,對(duì)象數(shù)組d[2],當(dāng)程序執(zhí)行完后,析構(gòu)函數(shù)執(zhí)行了3次,輸出“CCC”,對(duì)
象指針不會(huì)執(zhí)行析構(gòu)函數(shù)。所以本題答案為B。
4、下列關(guān)于二叉樹的敘述中,正確的是()o
A、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)少一個(gè)
B、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)
C、葉子結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)的兩倍
D、度為2的結(jié)點(diǎn)數(shù)是度為1的結(jié)點(diǎn)數(shù)的兩倍
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)
總是比度為2的結(jié)點(diǎn)多一個(gè)。所以選擇B)
5、下列關(guān)于運(yùn)算符重載的敘述中正確的是
A、跟普通函數(shù)一樣,可以為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值
B、通過重載,可以改變一個(gè)運(yùn)算符原有的優(yōu)先級(jí)和操作數(shù)個(gè)數(shù)
C、只能重載C++中已經(jīng)有的運(yùn)算符,不能定義新運(yùn)算符
D、C++中已有的運(yùn)算符都可以重載
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查運(yùn)算符重載,重載不能改變運(yùn)算符運(yùn)算對(duì)象的個(gè)數(shù);不能改
變運(yùn)算符的優(yōu)先級(jí)別;不能改變運(yùn)算符的結(jié)合性;重載運(yùn)算符的函數(shù)不能有默認(rèn)
值,否則就改變了運(yùn)算符參數(shù)的個(gè)數(shù);不能定義新的運(yùn)算符,某些運(yùn)算符不能重
載。所以答案為C。
6、#include#includeusingnamespacestd;classMyBag{public:MyBag(string
br="ABC"):brand(br){cout<
A^MyBagarrays[2];
B、MyBag*arrays=newMyBag|2|;
C、MyBagarrays[2]={MyBag("ABC")};
D、MyBagarrays[2]={MyBag("CityLife"),MyBag("Micky")};
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查閡造函數(shù)的應(yīng)用,題目中A、B、C、D,都定義了包含兩
個(gè)元素的一維數(shù)組,A、B、C都執(zhí)行題目中的構(gòu)造函數(shù),并且輸出“ABCABC",
而D選項(xiàng)中由于構(gòu)造函數(shù)參數(shù)不為ABC,所以輸出為“CilyLifeMicky”
7、下面屬于白盒測試方法的是
A、等價(jià)類劃分法
B、邏輯覆蓋
C、邊界值分析法
D、錯(cuò)誤推測法
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:白盒測試法主要有邏輯覆蓋、基本路徑測試等。邏輯覆蓋測試包括語
句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋、判斷-條件覆蓋,選擇B。其余為黑盒
測試法。
8、若要在Number類的聲明中將減法運(yùn)算符重我為成員函數(shù),下列重載函數(shù)聲明
中正確的是
A、Numbcr-(Number);
B、Numberoperator-(Number);
C^Number-operator(Number);
D、rNumbcropcrator-(Numbcr,Number);
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查重載減法運(yùn)算符,重載運(yùn)算符的一般形式為:函數(shù)類型
operato「運(yùn)算符名稱(參數(shù)列表){對(duì)運(yùn)算符的重載處理}根據(jù)定義規(guī)則,只有B選項(xiàng)
正確。
9、有如下程序片段:classTask{public:intGetVahie();private:intvalue;};class
Displayed!public:intGetValue();voidDraw();private:intvalue;);class
Satellite:publicTask,publicDisplayed!public:voidDraw();};voidfun(Satellite*
sp){sp->GetValue();//0sp->Task::GetValue();H(2)sp->Displayed::GetValue();//(3)
sp->Draw();//?)在標(biāo)注號(hào)碼的語句行中,對(duì)類中成員訪問存在二義性的是
A、①
B、②
C、③
D、@
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查派生類對(duì)基類的繼承二義性問題,類Satellite公用繼承Task
和Displayed,兩個(gè)基類中都有GelValue函數(shù),所以引起二義性,A選項(xiàng)錯(cuò)誤。
10、一個(gè)運(yùn)動(dòng)隊(duì)有多個(gè)隊(duì)員,一個(gè)隊(duì)員僅屬于一個(gè)運(yùn)動(dòng)隊(duì),一個(gè)隊(duì)一般都有一個(gè)教
練,則實(shí)體運(yùn)動(dòng)隊(duì)和隊(duì)員的聯(lián)系是
A、一1對(duì)多
B、一對(duì)一
C、多對(duì)一
D、多對(duì)多
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:一般來說,實(shí)體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,分為三類:
對(duì)一聯(lián)系(1:1)、一對(duì)多聯(lián)系(l:m)、多對(duì)多聯(lián)系(m:n)。實(shí)體運(yùn)動(dòng)隊(duì)和隊(duì)員
的關(guān)系為l:in聯(lián)系,故A選項(xiàng)正確。
11、有如卜程序:#includeusingnamespacestd;voidfun(int&a,)
{intc;c=a;a=b;b=c;}intmain(){intx,y;x=l;y=2;fun(x,y);cout<
A、intb
B>int*b
C^int&b
D、b
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:main函數(shù)中定義兩個(gè)整型變量x=l,y=2,由輸出x,y的結(jié)果為
21,可知函數(shù)fun的功能是交換兩個(gè)實(shí)參的值,由于函數(shù)fun中未使用指針類型的
變量,所以若想通過函數(shù)fun交換實(shí)參的值,形參類型必然為引用類型,橫線處語
句為int&b,答案為C。
12、下列C++流的操作符中,能夠設(shè)置下一個(gè)數(shù)據(jù)的輸出寬度的是
A、setprecision
B、setw
C、setfill
D、showpoint
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:sclprccision設(shè)置實(shí)數(shù)的精度;sctw設(shè)置字段寬度;setfill填充字符;
showpoinl強(qiáng)制輸出浮點(diǎn)數(shù)的小數(shù)點(diǎn)和尾數(shù)0;答案為Bo
有三個(gè)關(guān)系R、S和T如下:
RST
ABCABC
a12d3■回LD
b1c31□JEJLIJ
c31f47
e45
d3■2
則由關(guān)系R和S得到關(guān)系T的操作是
13、
A、交
B、差
C、并
D^選擇
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:用于查詢的3個(gè)操作無法用傳統(tǒng)的集合運(yùn)算表示,引入的運(yùn)算為投影
運(yùn)算、選擇運(yùn)算、笛卡爾積。常用的擴(kuò)充運(yùn)算有交、除、連接及自然連接等。選
擇,從關(guān)系中找出滿足給定條件的元組的操作稱為選擇,題目中無給定條件,故D
選項(xiàng)錯(cuò)誤。差:R-S結(jié)具是屬于R但不屬于S的記錄組成的集合,T中元組“c32”同
時(shí)屬于R和S,B選項(xiàng)錯(cuò)誤。并:RUS是將S中的記錄追加到R后面,T中元組少
于R,故C選項(xiàng)錯(cuò)誤。交:RAS結(jié)果是既屬于R又屬于S的記錄組成的集合,與
題目中結(jié)果相符,故A選項(xiàng)正確。
14、有如卜.程序:#includeusingnamespacestd;intfunl(intx){return++x;)int
fun2(int&x){return++x;)intmain(){inta=O,b=O,c=O;c=fun1(a)+fun2(b);cout<
A、002
B、012
C、102
D、112
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:程序定義了兩個(gè)函數(shù),funl和fun2,功能都是對(duì)形參x自增1,然后
返回自增后的值,其中fun2的形參x為引用類型,形參x自增1的同時(shí)實(shí)參的值
也自增1;main函數(shù)中定義三個(gè)整型變量a=0,b=0,c=0,調(diào)用funl(a)返回值為
1,調(diào)用fun2(b)返回值為1,同時(shí)實(shí)參b的值被修改為1,所以c的值為1+1=2,程
序輸出a、b、c為0,1,2;答案為B。
15、要建立文件流并打開當(dāng)前目錄下的文件filed*用于輸入,下列語句中錯(cuò)誤的
是()c
A、ifstrcamfln=ifstrcam.opcn("file.dat");
B、ifstream*fin=newifslream("file.dat");
C^ifstreamfin;fin.open('file.dat'1);
D、ifstrcam*fin=ncwifstrcam();fin->opcn("filc.dat");
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查對(duì)文件流輸入的操作,可以調(diào)用文件流的成員函數(shù)pen.
般形式如下:文件流對(duì)象.open(磁盤文件名,輸入/輸出方式)。根據(jù)以上格式,可
以判斷A選項(xiàng)錯(cuò)誤。
16、有如下的類聲明:#includeusingnamespacestd;classAA{public:virtualvoid
disp(){cout?*A\}};classBB:publicAA{public:voiddisp(){coutw'B';}};class
CC:publicBB{public:virtualvoiddisp(){cout?,C,;});voidplot(AA
&a){a.dispO;}intmain(){BBbb;CCcc;BB&rb=cc;plot(bb);plot(cc);rb.dispO;
return0;)運(yùn)行這個(gè)程序M輸出是
A、AAC
B、AAB
C、BCC
D、BCB
標(biāo)準(zhǔn)答案;C
知識(shí)點(diǎn)解析:程序定義了類AA,成員函數(shù)disp()為虛函數(shù);類BB公有繼承AA,
重新定義了disp。函數(shù);類CC公有繼承BB,同樣重新定義了disp()函數(shù):類BB
中,雖然disp()未用virtual修飾,但是由虛函數(shù)性質(zhì)可知,BB中的disp()函數(shù)仍然
是虛函數(shù);main。函數(shù)中,創(chuàng)建BB對(duì)象bb,CC對(duì)象cc,使用cc初始化BB類引
用rb,然后調(diào)用plol函數(shù);plol函數(shù)的形參是AA類的引用,通過AA類引用調(diào)用
disp函數(shù),滿足多態(tài)性條件,將根據(jù)引用所指對(duì)象的類型來決定調(diào)用哪個(gè)disp函
數(shù);所以plot(bb)調(diào)用類BB中的disp函數(shù),plot(cc)調(diào)用CC中的disp函數(shù);輸出
分別為:“B“、“C”;另外由于rb為BB類引用,所指對(duì)象是cc,所以運(yùn)行rb.disp。
時(shí)調(diào)用的是CC中的disp()函數(shù),輸出“C”,綜上,程序輸出為:"BCC";答案為
Co
17、結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是
A、順序、選擇和重復(fù)(循環(huán))
B、過程、子程序和分程序
C、順序、選擇和調(diào)用
D、調(diào)用、返回和轉(zhuǎn)移
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu):順序、選擇和重復(fù),故A選項(xiàng)正
確。
18、對(duì)于一個(gè)類定義,編譯器可能會(huì)自動(dòng)生.成的函數(shù)不包括
A、復(fù)制構(gòu)造函數(shù)
B、缺省的構(gòu)造函數(shù)
C、析構(gòu)函數(shù)
D、友元函數(shù)
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:C++中,對(duì)于一個(gè)類定義,編譯器可能會(huì)自動(dòng)生成的函數(shù)有:默認(rèn)
(缺?。?gòu)造函數(shù),復(fù)制構(gòu)造函數(shù),復(fù)制運(yùn)算符,析構(gòu)函數(shù),答案為D。
19、下列敘述中正確的是()o
A、棧是“先進(jìn)先出”的線性表
B、隊(duì)列是“先進(jìn)后出”的線性表
C、循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D、有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:棧是先進(jìn)后出的線性表,所以A)錯(cuò)誤:隊(duì)列是先進(jìn)先出的線性表,
所以B)錯(cuò)誤;循環(huán)隊(duì)列是線性結(jié)構(gòu)的線性表,所以C)錯(cuò)誤。
20、運(yùn)算符重載時(shí)不需要保持的性質(zhì)是()。
A、操作數(shù)個(gè)數(shù)
B、操作數(shù)類型
C、優(yōu)先級(jí)
D、結(jié)合性
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:重載運(yùn)算符的規(guī)則如下:①C++不允許用戶自己定義新的運(yùn)算符,只
能對(duì)已有的C++運(yùn)算符進(jìn)行重載;②C++不能重載的運(yùn)算符只有5個(gè);③重載不
能改變運(yùn)算符運(yùn)算對(duì)象的個(gè)數(shù);④重載不能改變運(yùn)算符的優(yōu)先級(jí)和結(jié)合性;⑤重
載運(yùn)算符的函數(shù)不能有默認(rèn)的參數(shù);⑥重載的運(yùn)算符必須和用戶定義的向定義類
型的對(duì)象一起使用,至少應(yīng)有一個(gè)是類對(duì)象,即不允許參數(shù)全部是C++的標(biāo)準(zhǔn)類
型。所以答案為B。
21、有如下類聲明:classBase{protected:intamount;public:Base(intn=0):
amount(n){)intgetAmount()const{returnamount;)};classDerived:publicBase
{protected:intvalue;public:Derived(intm,intn):value(m),Base(n){)int
getData()const{returnvalue+amount;});已知x是一個(gè)Derived對(duì)象,則下列表達(dá)
式中正確的是()。
A、x.value+x.getAmount()
B、x.getData()-x.getAmount()
C^x.getData()-x.amount
D、x.value+x.amount
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查公有繼承中派生類對(duì)象對(duì)基類的訪問屬性。在公有繼承中,
派生類對(duì)象只能訪問基類的公有成員,而不能訪問基類的保護(hù)成員和私有成員。題
中x是派生類的對(duì)象,只能訪問基類中公有的Base。和ge【Amounl()成員,而不能
訪問保護(hù)類型的amount成員,故選項(xiàng)C、D錯(cuò)誤”而類對(duì)象對(duì)類成員的訪問也存
在類似的情況,即類對(duì)象只能訪問類的公有成員,而value是Derived的保護(hù)成
員,所以A選項(xiàng)也錯(cuò)誤。故答案為B。
22、下列術(shù)語中,能表明面向?qū)ο笏枷胫饕卣鞯氖?/p>
A、封裝性
B、靈活性
C、安全性
D、可靠性
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:C++作為面向?qū)ο蟮恼Z言,具有三種特點(diǎn)封裝性、繼承性、多態(tài)性。
所以答案為Ao
23、下列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的敘述中,錯(cuò)誤的是
A、如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)
B、派生類的構(gòu)造函數(shù)會(huì)隱含調(diào)用基類的構(gòu)造函數(shù)
C、在建立派生類對(duì)象時(shí),先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)
D、在銷毀派生類對(duì)象時(shí),先調(diào)用基類的析構(gòu)函數(shù),再調(diào)用派生類的析構(gòu)函數(shù)
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,在銷毀派生類對(duì)
象時(shí),先調(diào)用派生類的沂構(gòu)函數(shù),再調(diào)用基類的析構(gòu)函數(shù),所以D選項(xiàng)錯(cuò)誤。
24、下列敘述中正確的是
A、程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B、程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D、以上說法均錯(cuò)誤
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、數(shù)據(jù)的邏輯結(jié)構(gòu)、程序的控制結(jié)
構(gòu)、所處理的數(shù)據(jù)量等有關(guān)。
25、有如下定義:classInner{public:voidfl(){cout?"fl";)friendvoid
f2(){cout?"f2";)};voidf3(){cout?"f3";)inlinevoidf4(){cout?"f4n;}其中的內(nèi)
聯(lián)函數(shù)包括
A、fl和f2
B、f3和小
C>f2和廿
D、fl和f4
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:在類體中定義的成員函數(shù),C++系統(tǒng)會(huì)自動(dòng)將它們作為內(nèi)聯(lián)函數(shù)處
理,而在類外定義的成員函數(shù),系統(tǒng)并不把它們默認(rèn)為內(nèi)聯(lián)函數(shù),使用inline也是
內(nèi)聯(lián)函數(shù),所以共有2個(gè)內(nèi)聯(lián)函數(shù)fl和f4,D選項(xiàng)正確。
26、有如卜程序片段:classTask{public:intGetValue();private:intvalue;};class
Displayed)public:intGctValuc();voidDraw();private:intvalue;};class
Satellite:publicTask,publicDisplayed)public:voidDraw();};voidfun(Satellite*
sp)(sp->GetValue();//(T)sp->Task::GetValue();〃②sp->Displayed::GetValue();〃③
sp->Draw();//(4))在標(biāo)注號(hào)碼的語句行中,對(duì)類中應(yīng)員訪問存在二義性的是
A①
、
B②
、
c③
、
D@一
、
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查派生類對(duì)基類的繼承二義性問題,類Satellite公用繼承Task
和Displayed,兩個(gè)基類中都有GetValue函數(shù),所以引起二義性,A選項(xiàng)錯(cuò)誤。
27、下列關(guān)于貨幣數(shù)據(jù)類型的敘述中,錯(cuò)誤的是
A、DOUBLE
ab-c
C、_5_
D、xyz
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:C++的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,其中必須以字母或下劃線
開頭。選項(xiàng)B錯(cuò)誤,答案選B。
28、某二叉樹中有15個(gè)度為1的結(jié)點(diǎn),16個(gè)度為2的結(jié)點(diǎn),則該二叉樹中總的結(jié)
點(diǎn)數(shù)為
A、32
B、46
C、48
D、49
標(biāo)準(zhǔn)答案:c
知識(shí)點(diǎn)》析:在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)
中最大的度稱為樹的度。對(duì)任何一棵二叉樹,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比
度為2的結(jié)點(diǎn)多一個(gè)。由16個(gè)度為2的結(jié)點(diǎn)可知葉子結(jié)點(diǎn)個(gè)數(shù)為17,則結(jié)點(diǎn)結(jié)點(diǎn)
總數(shù)為16+17+15=48,C選項(xiàng)正確。
29、有如下類定義:classBase{public:voidfun(){cout?"Base::fun"<
A、Base.fun();
Base->fun();
CNBase::fun();
D、fun();
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:基類Base和派生類Derived中使用同一名字的成員函數(shù)fun,所以在
派生類Derived的作用域中,派生類Derived中的fun函數(shù)會(huì)屏蔽基類Base中的
fun函數(shù),即Base的fun函數(shù)對(duì)Derived不可見,這是因?yàn)榫幾g器在查找名字fun
時(shí)?,首先在Derived中找到,這樣編譯器就不再繼續(xù)查找,所以若想在Derived中
調(diào)用Base的fun函數(shù),必須顯式的說明fun函數(shù)屬于Base,這里使用作用域運(yùn)算
符訪問被屏蔽的fun,調(diào)用語句為:Base::fun();答案為C。
30、有如下類定義:classBase{public:inta;protected:intb;private:intc;};class
Derived:publicBase{protected:intd;};若obj是類Derived的對(duì)象,以下語句編譯
正確的是
A、obj.a;
B、obj.b;
C^obj.c;
D、obj.d;
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:類Derived以public方式繼承Base,所以a在Derived中是public成
員,b在Derived中是prolecled成員,c對(duì)Derived不可見;所以對(duì)類Derived對(duì)象
obj可見的成員為a,答案為A。
31、在函數(shù)中,可以用auto、extern、register和static這四個(gè)關(guān)鍵字中的一個(gè)來說
明變量的存儲(chǔ)類型,如果不說明存儲(chǔ)類型,則默認(rèn)的存儲(chǔ)類型是()。
A、auto
B、extern
C、register
D、static
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:變量的存儲(chǔ)方法分為靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)兩大類,包含4種:自動(dòng)的
(auto)、靜態(tài)的(static)、寄存器的(register)、外部的(extern)。變量如果沒有說明存儲(chǔ)
類型,那么默認(rèn)就是au【o。
32、有如下程序:#includeusingnamespacestd;classMusic{public:void
setTitle(char*str){strcpy(litle,str);}protected:chartype[10];private:chartitle
[20];};classJazz:publicMusic{public:voidset(char*str){strcpy(type,"Jazz");
〃①strcpy(title,str);〃②});下列敘述中正確的是()。
A、程序編譯正確
B、程序編譯時(shí)語句①出錯(cuò)
C、程序編譯時(shí)語句②出錯(cuò)
D、程序編譯時(shí)語句①和②都出錯(cuò)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查公用繼承和保護(hù)繼承對(duì)基類成員的訪問屬性。公用繼承中,
基類的公用成員和保護(hù)成員在派生類中保持原有訪問屬性,其私有成員仍為基類私
有。保護(hù)成員不能被類外訪問,但是可以被派生類的成員函數(shù)訪問。Type成為派
生類的保護(hù)成員,可以被派生類訪問,liUe仍為基類私有,派生類不能直接訪問。
所以答案為C。
33、已知枚舉類型聲明語句為:enumCOLOR(WHITE,YELLOW,GREEN=5,
RED,BLACK=10};則下列說法中錯(cuò)誤的是()。
A、枚舉常量YELLOW的值為1
B、枚舉常量RED的值為6
C、枚舉常量BLACK的值為10
D、枚舉常量WHITE的值為1
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:C++語言規(guī)定枚舉常量的默認(rèn)值依次等于0,1,…,n-1。也可以給
枚舉常量賦初值,方法是:在枚舉常量的后面跟上”二整型常量”,在給枚舉常量賦
初值時(shí),如果給其中任何一個(gè)枚舉常量賦初值,則其后的枚舉常量將按自然數(shù)的規(guī)
則依次賦初值。所以本題答案為D。
34、有如下類定義:classCup{public:Cup(doublevaLstring
cr="rcd"):pricc(val),color(cr){)Z/(T)~Cup();〃②private:stringcolor;〃③double
price=5.8;〃④);在標(biāo)注號(hào)碼的語句行中存在語法錯(cuò)誤的是
A①
、
B②
、
c③
、
D@一
、
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查如何初始化對(duì)象,其中類的數(shù)據(jù)成員是不能再聲明類時(shí)初始
化的,所以D選項(xiàng)錯(cuò)誤,在定義類的同時(shí)對(duì)數(shù)據(jù)成員price進(jìn)行賦值是錯(cuò)誤的。
35、負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是()。
A、數(shù)據(jù)定義語言
B、數(shù)據(jù)管理語言
C、數(shù)據(jù)操縱語言
D、數(shù)據(jù)控制語言
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操
縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)
據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
36、如果派生類以protected方式繼承基類,則原基類的protected成員和public成
員在派生類中的訪問屬性分別是
A^public和public
B、publicprotected
C、protectedflpublic
D、protectedfllprotected
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查繼承與派生,派生類中的成員訪問基類中的成員由派生方式
決定,派生類保護(hù)繼承基類,那么基類中的私有成員不可訪問,基類的保護(hù)成員和
公用成員變成了派生類的保護(hù)成員。所以D選項(xiàng)正確。
37、對(duì)長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方
法是()。
A、快速排序
B、冒泡排序
C、直接插入排序
D、堆排序
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:除了堆排序算法的比較次數(shù)是O(nk)g2n),其他的都是n(n—1)/2。
38、有如下類聲明和函數(shù)聲明classBase{intm;public:intn;protected:intp;);class
Derived:publicBase{intk;friendvoidf(Derivedd););則在函數(shù)f中通過d可訪問類
數(shù)據(jù)成員的個(gè)數(shù)是
A、1
B、2
C、3
D、4
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:公有繼承中,派生類不改變基類的成員訪問權(quán)限(private成員除外),
即基類的public成員在派生類中是public成員,基類的protected成員在派生類中
是protected成員;另外友元函數(shù)可以訪問類的private成員、protected成員和
public成員,所以f函數(shù)中d可以訪問的數(shù)據(jù)成員有:n、p、k;m對(duì)派生類不可
見;答案為C。
二、基本操作題(本題共1題,每題1.0分,共1分0)
39、請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,其中
有矩形類Rectangle、函數(shù)show和主函數(shù)main的定義。程序中位于每個(gè)“//
ERROR****found****''下一行的語句有錯(cuò)誤,請(qǐng)力11以改正。改正后程序的輸出
結(jié)果應(yīng)該是:Upperleft=(1,8),downright:(5,2),areal=24.注意:只修改每個(gè)
“//ERROR****found****”下的那一行,不要改動(dòng)程序中的其他內(nèi)容。include
#includeusingnamespacestd;classRectangle{doublexltyl;//左上角坐標(biāo)
doublex2,y2;//右下角坐標(biāo)public://ERROR**********found**********
Rectangle(doublex1,yl:doublex2,y2){this->xl=xl;this->yl=yl;
thiS->x2=x2;this->y2=y2;)doubIegetXl()const{returnxl;}
doiiblegefYl()const{returny1;)doiihlegetX2()const{returnx2:}
doublegetY2()const{returny2;}doublegetHeight()const(returnfabs(y1—y2);}
doublegetWidth()constfreturnfabs(xl-x2);)
doublearea()const(returngetHeight()*getWidth():}};//
ERROR**********found**********
voidshow(Rectangler)const{cout?"Upperleft=(M;//
F1^01^**********[**********coul<
標(biāo)準(zhǔn)答案:(1)Rectangle(doublexl,doubleyl,doublex2,doubley2){(2)void
show(Rectangler){(3)cout?r.getX1()?",n?r.getYl()?H),downright=("?
r.getX2()?n,"?r.getY2();
知識(shí)點(diǎn)解析:(I)主要考杳考生對(duì)構(gòu)造函數(shù)的掌握,函數(shù)的參數(shù)要使用;隔開,不能使
用「。(2)主要考查考生對(duì)const函數(shù)的掌握,程序中調(diào)用函數(shù)r.area。,該函數(shù)修改了
成員值,因此不能使用consto(3)主要考查考生對(duì)成員函數(shù)的掌握,類外函數(shù)不能直
接調(diào)用類的私7J.成員,只能通過成員函數(shù)調(diào)用。
三、簡單應(yīng)用題(本題共[題,每題7.0分,共I分0)
40、請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾prog2下的工程prog2,比工
程中包含一個(gè)程序文件mmn.epp,其中有“班級(jí)”類Class和“學(xué)生”類Student的定
義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個(gè)“學(xué)生”對(duì)象,他們屬于同一
班級(jí)。程序展示,當(dāng)該班級(jí)換教室后,這兩個(gè)人的教室也同時(shí)得到改變。請(qǐng)?jiān)跈M線
處填寫適當(dāng)?shù)拇a,然后刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)
為:改換教室前:學(xué)號(hào):0789姓名:張三班級(jí):062113教室:521學(xué)號(hào):0513姓
名:李四班級(jí):062113教室:521改換教室后:學(xué)號(hào):0789姓名:張三班級(jí):
062113教室:311學(xué)號(hào):0513姓名:李四班級(jí):062113教室:311注意:只能在
橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容。include
usingnamespacestd;classClass(//“班級(jí)”類public:Class(constchar*id,
constchar*room){strcpy(classid,id);f}**********found**********)
constchar*getClassID()const{returnclassid;}//返回班號(hào)//
*********玨014[記**********constchar*getQassroom()const{}//返回所
在教室房號(hào)voidchangeRoomTo(constchar*newroom){//改換到另一個(gè)指定房號(hào)的
教室strcpy(classroom,new_room);}private:charclassid[20];//班號(hào)
charclassroom[20];//所在教室房號(hào)};classStudcnt{//“學(xué)生"類
charmyid|10|;//學(xué)號(hào)charmyname[20];//姓名Class&myclass;//所在教室
public://**********found**********Student(constchar*theid,const
char*thc_name,Class&the_class):;strcpy(my_id,the_id);
strcpy(my_name,the_name);}constchar*getlD()const{returnmy_id;}
constchar*getName()const{returnmy_name;}
ClassgctClassOconst{rcturnmy_class;});voidshowStudcnt(Studcnt*stu)(cout?"
號(hào):"vgelID()?”";cout<<”姓名:,'<getName()?,,n;couivv”班級(jí):
"<getClass().getClassID()?"";cout<<"教室:"<getClass().getClassroom()<
標(biāo)準(zhǔn)答案:(l)strcpy(classroom,room);(2)rcturnclassroom;(3)my_class(thc_class)
(4)cla.changeRoomTo("31ln);
知識(shí)點(diǎn)解析:(1)主要考查考生對(duì)strcpy函數(shù)的掌握情況,根據(jù)上一條語句:
strcpy(class_id,id);可知,這條語句要復(fù)制字符串room,因此使用strcpy函數(shù)復(fù)
制,即slrcpy(c1assroom,room);。(2)主要考查考生對(duì)函數(shù)返回值的掌握情況,根
據(jù)函數(shù)要求:返回所在教室房號(hào)及函數(shù)要求返回的類型為constchar*,可以得出這
里直接使用return語句返回classroom即可。(3)主要考查考生對(duì)構(gòu)造函數(shù)的掌握情
況,先看函數(shù)體中:strcpy(my_id,the_id);strcpy(my_name,the_name);可知只
有參數(shù)Class&the_class於使用,因此在這里使用晟員列表初始化給my_class賦初
始值。(4)主要考查考生對(duì)成員函數(shù)調(diào)用的掌握,程序要求062113班的教室由521
改換到311。在類Class中已經(jīng)定義了函數(shù):
voidehangeRoomTo(constchar*new_room),因此直接調(diào)用函數(shù)changeRoomTo即
可。
四、綜合應(yīng)用題(本題共[題,每題1.0分,共I分。)
41、請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程pros3,其中
聲明/ValArray類,該類在內(nèi)部維護(hù)一個(gè)動(dòng)態(tài)分配的立型數(shù)組v。ValArray類的成
員函數(shù)equals用于判斷兩個(gè)對(duì)象是否相等。兩個(gè)ValArray對(duì)象相等,當(dāng)且僅當(dāng)兩
者的元素個(gè)數(shù)size相等,并且整型數(shù)組v的對(duì)應(yīng)元素分別相等。如果兩個(gè)對(duì)象相
等,則equals返回true,否則返回false。請(qǐng)編寫成員函數(shù)equals。在main函數(shù)中
給出了一組測試數(shù)據(jù),此種情況下程序的輸出結(jié)果應(yīng)為:vl=(l,2,3,4,5)
v2={1,2,3,4}v3={1,2,3,4,6}v4={L2,3,4,5)vl!=v2vl!=v3vl=v4
要求:補(bǔ)充編制的內(nèi)容寫在“//**********333***********與"http://
**********666******”**”之間,不得修改程序的其他部分。注意:程序最后將
結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為obj文件,并且在本
程序中調(diào)用。//VatArray.h#includeusingnamespacestd;classValArray{int*v;
intsize;public:ValArray(constint*p,intn):size(n){v=newint|size|;for(inti=0;
i
標(biāo)準(zhǔn)答案:if(size!=other.size)〃判斷數(shù)組長度returnfalse;for(inti=0;i<size;
i++)〃判斷數(shù)組元素if(v[i]!=othcr.v[i])returnfalse;returntrue;
知識(shí)點(diǎn)解析:主要考查考生對(duì)數(shù)組的掌握,函數(shù)boolValArray::equals(const
ValArray&other)要求判斷兩個(gè)數(shù)組是否相等,先判斷數(shù)組長度,如果長度相同再根據(jù)
數(shù)組元素依次判斷。
國家二級(jí)(C++)機(jī)試模擬試卷第2套
一、選擇題(本題共38題,每題分,共38分。)
1、if語句的語法格式可描述為:格式1:if(<條件〉)<語句〉或格式2:if(<條件>)
(語句1>elsev語句2>關(guān)于上面的語法格式,下列表述中錯(cuò)誤的是()。
A、〈條件>部分可以是一個(gè)if語句,例如if(if(a=0)…)…
B、<語句)部分可以是一個(gè)if語句,例如if(…)if(...)…
C、如果在<條件>前加上邏輯非運(yùn)算符!并交換<語句和<語句2>的位置,語句功
能不變
〈語句〉部分可以是一個(gè)循環(huán)語句,例如if(…)while(…)…
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查if語句,if語句的條件部分不能嵌套if語句,所以A選項(xiàng)
錯(cuò)誤;B選項(xiàng)就是if語句嵌套;C選項(xiàng)其實(shí)就是將判斷條件顛倒,然后執(zhí)行語句也
顛倒,所以效果一樣;D選項(xiàng)也正確。
2、有如下程序:#includeusingnamespacestd;classBase{public:voidfun()
{cout?"Base::fun"<
A^Base.fun();
B、Base::fun();
C、Base->fun();
D^fun();
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考直公用繼承對(duì)基類成員的訪問屬性。在公用繼承中,基類的公
用成員和保護(hù)成員在派生類中保持原有的訪問屬性,其私有成員仍為基類私有。本
題中想要輸出Base::fun,則必須調(diào)用基類的公用成員函數(shù)fun,所以使用
Base::fun();來調(diào)用基類的成員函數(shù)fun。
3、下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是()o
A、循環(huán)隊(duì)列
B、棧
C、隊(duì)列
D、二叉樹
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。隊(duì)列是先進(jìn)先出的原則組織數(shù)
據(jù)。
4、已知函數(shù)卜A調(diào)用函數(shù)卜B若要把這兩個(gè)函數(shù)定義在同一個(gè)文件中,貝心)。
A、FA必須定義在FB之前
B、FB必須定義在FA之前
C、若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前
D、若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:如果使用用戶自己定義的函數(shù),而該函數(shù)與調(diào)用它的函數(shù)(即主調(diào)用
函數(shù))在同一程序單元中,且位置在主調(diào)用函數(shù)之后,則必須在調(diào)用此函數(shù)之前對(duì)
被調(diào)用的函數(shù)作聲明。
5、有如下類定義:classTV{public:TV(ints=41,stringbr="TCL"):size(s),brand(br)
{)~TV(){}private:intsize;stringbrand;};若執(zhí)行語句TVli,*net[2],company[3];則
TV類的構(gòu)造函數(shù)被調(diào)用的次數(shù)是
A、6次
B、4次
C、3次
D、2次
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查溝造函數(shù)和析構(gòu)函數(shù),題中定義了一個(gè)對(duì)象,以及對(duì)象數(shù)
組,那么構(gòu)造函數(shù)需要執(zhí)行4次,而*nct|2]并不執(zhí)行構(gòu)造函數(shù),所以答案為民
6、軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于
應(yīng)用軟件的是()o
A、學(xué)生成績管理系統(tǒng)
B、C語言編譯程序
C、UNIX操作系統(tǒng)
D、數(shù)據(jù)庫管理系統(tǒng)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件。操作系統(tǒng)、
編譯程序、匯編程序、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理系統(tǒng)都屬于系統(tǒng)軟件。所以B)、
C)、D)都是系統(tǒng)軟件,只有A)是應(yīng)用軟件。
7、有如下程序:#include#includeusingnamespacestd;classWheel{public:
Wheel(strings="W"):nan^s){cout<
A、G
B、RG
C、WRG
D、RWG
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:定義Bicyclebike時(shí),執(zhí)行Wheel的構(gòu)造函數(shù)輸出W,然后執(zhí)行
Bicycle的構(gòu)造函數(shù)輸出RG,最終輸出WRG,選項(xiàng)C正確。
8、下面不屬于軟件測試實(shí)施步驟的是
A、集成測試
B、回歸測試
C、確認(rèn)測試
D、單元測試
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:軟件測試主要包括單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。
9、有如下函數(shù)定義:voidswap(inta,inf^rh){intc=a;a=h;h=c;)若執(zhí)行語句序列
intx=0,y=1;swap(x,y);則變量x和y的值分別是
Ao和
、0
Bo和
、1
c1和
、
和0
D1
、1
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:參數(shù)傳遞有三種:傳值(value),傳址(address),和傳引用(reference)
傳值時(shí)子函數(shù)(被調(diào)用者)復(fù)制父函數(shù)(調(diào)用者)傳遞的值,這樣子函數(shù)無法改變
父函數(shù)變量的值。函數(shù)swap的第一個(gè)參數(shù)就是傳值調(diào)用,所以它的值不會(huì)改變傳
址時(shí)父函數(shù)將變量的地址傳遞給了函數(shù),這樣子函數(shù)可以能過改寫地址里的內(nèi)容改
變父函數(shù)中的變量傳引用則是一種看起來像傳值調(diào)用,而實(shí)際上功能同傳址一樣
的傳遞方式。子函數(shù)可以改寫父函數(shù)的變量值。函數(shù)swap的第二個(gè)參數(shù)就是傳引
用調(diào)用,可以改變其值,所以執(zhí)行完函數(shù)后,b值與a值相同,即都是0,A選項(xiàng)
正確。
10、有如下類聲明:classHow{intk;public:friendvoidshow(););則類How所擁有
的構(gòu)造函數(shù)的數(shù)量是
A、I
B、2
C、3
D、4
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:類How的定義體中沒有定義任何構(gòu)造函數(shù),所以編譯器需要自動(dòng)生
成一個(gè)默認(rèn)構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù),答案為B。
11、當(dāng)數(shù)據(jù)庫中數(shù)據(jù)總體邏輯結(jié)構(gòu)發(fā)生變化,而應(yīng)用程序不受影響,稱為數(shù)據(jù)的
A、邏輯獨(dú)立性
B、物理獨(dú)立性
C、應(yīng)用獨(dú)立性
D、空間獨(dú)立性
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性,物理獨(dú)立性指數(shù)據(jù)的物理
結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),也不會(huì)引起應(yīng)用程序的改動(dòng);邏輯獨(dú)立
性指數(shù)據(jù)庫的總體邏輯結(jié)構(gòu)的改變,不會(huì)導(dǎo)致相應(yīng)的應(yīng)用程序的改變。故A選項(xiàng)
正確。
12、有如卜程序:#includeusingnamespacestd;classA{public:staticinta;void
init(){a=10;)A(inta=5){init();a+=10;)};intA::a=0;Aobj;intmain(){cout?
obj.a;return0;}運(yùn)行時(shí)輸出的結(jié)果是
A、0
R、5
C、15
D、10
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:靜態(tài)數(shù)據(jù)成員獨(dú)立于任何對(duì)象而存在,不是類對(duì)象的組成部分,普通
成員函數(shù)可以引用靜態(tài)數(shù)據(jù)成員。程序定義了類A,并在A的定義體外初始化A
的靜態(tài)數(shù)據(jù)成員a=0,構(gòu)造函數(shù)A(int)中的形參a與A::a屬于不同的變量,在函數(shù)
A(int)中,形參a屏蔽了A::a,所以A(int)中引用的變量a是形參,而不是A::a,對(duì)
a的任何操作都不影響A::a,而成員函數(shù)init中引用的是A::a,語句a=10是將A::a
賦值為10,所以輸出obj.a其實(shí)是輸出A::a,結(jié)果為10;答案為D。
13、在下列枚舉符號(hào)中,用來定位文件開始位置的方式是
A、ios_base::cur
B、ios_base::beg
C、ios_basc::out
D、iosbase::end
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:ios_base::cur是指文件的當(dāng)前位置;ios_base::cnd指向文件尾部;
ios_base::beg指向文件開始;ios_base::oul文件操作的文件模式;答案為B。
14、有如下程序:intx=3;do{x-=2;cout<
A、1
B、30
C、1-2
D、死循環(huán)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查do...while語句,執(zhí)行do...while語句時(shí),先執(zhí)行循環(huán)體內(nèi)的
語句,然后判斷while中表達(dá)式的值,表達(dá)式為非零時(shí),返回重新執(zhí)行循環(huán)體語
句。在本題中,先執(zhí)行循環(huán)體內(nèi)的語句,輸出1,然后判斷表達(dá)式,為非零,且此
時(shí)x為0;再次執(zhí)行循環(huán)體時(shí),輸出-2,然后判斷表達(dá)式為0,不執(zhí)行,退出,所
以答案為C。
15、有如下類定義:classMyClass{public:MyClass(doubled=0.0):val(d){}
〃類型轉(zhuǎn)換運(yùn)算符double的定義private:doubleval;);若要使語句
序列MyClassx(2.l);cout<
A^operatordouble()const{returnval;}
B、fricndopcratordoublc()const{returnval;}
C、doubleoperator()const{returnval;}
D、frienddoubleoperator()const{returnval;}
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:題目需要定義類型轉(zhuǎn)換運(yùn)算符double,類型轉(zhuǎn)換運(yùn)算符是一種特殊的
類成員函數(shù),它定義將類類型的值轉(zhuǎn)變?yōu)槠渌愋椭?,由于轉(zhuǎn)換函數(shù)必須是成員函
數(shù),選項(xiàng)B、D錯(cuò)誤;另外轉(zhuǎn)換函數(shù)不能指定返回類型,并且形參列表必須為空,
選項(xiàng)C錯(cuò)誤;所以double類型轉(zhuǎn)換運(yùn)算符的定義為:
operatordouble()const{returnval;};答案為A。
16、要利用C++流進(jìn)行文件操作,必須在程序中包含的頭文件是
A、iomanip
B、fstream
CNstrstream
D、cstdlib
標(biāo)準(zhǔn)答案:R
知識(shí)點(diǎn)解析:iomanip是I/O流控制頭文件;strstream是輸入輸出字符串流頭文
件;csldlib是常用函數(shù)庫,提供一些函數(shù)和符號(hào)常量;選項(xiàng)A、C、D錯(cuò)誤;
fstream是輸入輸出文件流頭文件,答案為B。
17、將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的遞歸函數(shù)定義如下:voidd2b(unsignedintn){if
((n=0)||(n==l))cout<
A、1
B、2
C、3
D、4
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:遞歸函數(shù)d2b,首先判斷參數(shù)n是否為0或1,若是,則輸出n,函
數(shù)調(diào)用結(jié)束;否則遞歸調(diào)用自身,將n/2當(dāng)做新的參數(shù)傳入。所以d2b被調(diào)用時(shí),
參數(shù)分別是:10,5,2,1。所以函數(shù)d2b被調(diào)用4次。答案為D。
18、有如下程序#includeusingnamespacestd;classAA{charc;public:
AA():c('X'){}AA(charch):c(ch){}AA(AA&aa):c(aa.c){}~AA(){cout?3;}char
value()const{returnc;}};voidfl(AAa){cout<
A、X3Y3
B、XY33
C、Y3X3
D、YX33
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:main函數(shù)中,調(diào)用fl函數(shù),創(chuàng)建局部對(duì)象AA(,Y)此時(shí)形參a就
是AA(Y)對(duì)象,輸出a.value。,即“Y”,tl函數(shù)執(zhí)行完之后,需要銷毀AA(Y)對(duì)
象,調(diào)用AA類的析構(gòu)函數(shù)?AA(),輸出“3”;接著程序調(diào)用f2函數(shù),f2函數(shù)創(chuàng)建
局部對(duì)象的引用a并初始化指向AA(),此時(shí)引用a所指對(duì)象的成員c值為“X",輸
出為“X“,f2函數(shù)執(zhí)行完之后,需要銷毀a所指對(duì)象AA(),調(diào)用AA類的析構(gòu)函數(shù)
~AA(),輸出“3”,程序結(jié)束;運(yùn)行結(jié)果為:"Y3X3",答案為C。
19^有如下程序段:inti=0,j=1;int&r=i;//(T)r=j;//@int*p=&i;//(3)=
&r;//?其中會(huì)產(chǎn)生編譯錯(cuò)誤的語句是()。
A、?
B、③
C、②
D、?
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查書針和引用。①為引用,使用正確;④中&r表示一個(gè)地
址,而*p已經(jīng)是一個(gè)值了,不能將一個(gè)指針賦值給一個(gè)值,所以編譯錯(cuò)誤。
20有如下程序:#includeusingnamespacestd;classtest{private:inta;public:test()
{cout?"constructor"<
A、3
B、constructordestructor
C、copyconstructordestructor
D、3destructor
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查默認(rèn)構(gòu)造函數(shù)和帶參數(shù)的構(gòu)造函數(shù)以及析構(gòu)函數(shù),本題中定
義了一個(gè)對(duì)象A(3),對(duì)象帶著參數(shù),所以執(zhí)行帶參數(shù)的構(gòu)造函數(shù),輸出3,然后執(zhí)
行析構(gòu)函數(shù),輸出destructor。所以本題答案為D。
21、軟件生命周期是指()。
A、軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B、軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C、軟件的開發(fā)過程
D、軟件的運(yùn)行維護(hù)過程
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱
為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用
為止的整個(gè)時(shí)期都屬于軟件生命周期。
22、在C++中,編譯系統(tǒng)自動(dòng)為一個(gè)類生成默認(rèn)構(gòu)造函數(shù)的條件是
A、該類沒有定義任何有參構(gòu)造函數(shù)
B、該類沒有定義任何無參構(gòu)造函數(shù)
C、該類沒有定義任何構(gòu)造函數(shù)
D、該類沒有定義任何成員函數(shù)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查默認(rèn)構(gòu)造函數(shù),如果用戶定義的類中沒有顯式的定義任何構(gòu)
造函數(shù),編譯器就會(huì)自動(dòng)為該類型生成默認(rèn)構(gòu)造函數(shù),稱為合成的構(gòu)造函數(shù)。C選
項(xiàng)正確。
23、在定義一個(gè)類模板時(shí),模板形參表是用一對(duì)括號(hào)括起來的,所采用的括號(hào)是
A、()
B、口
C、<>
D、(}
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查模板的定義,使用的括號(hào)為所以答案為C選項(xiàng)。
24、if(表達(dá)式1)語句1else語句2只有A選項(xiàng)是正確的要定義整型數(shù)組x,使
之包括初值均為1的三個(gè)元素,下列語句正確的是
A、staticintx[3]={1};
intx[]={1);
C>intx[3]={1,1,1);
D、intx={1,1,1};
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查一維數(shù)組及其初始化,A選項(xiàng)中為靜態(tài)一維數(shù)組,三個(gè)元素
必須全部初始化,B選沒有指明是三個(gè)元素,D選項(xiàng)賦值錯(cuò)誤,C選項(xiàng)正確。
25、有如下程序:#includeusingnamespacestd;classTV{public:TV(int
s=41):size(s){)TV(constTV&r):size(r.size){)~TV(){}private:intsize;);TV
fun(TV&u){TVt=u;returnt;}intmain(){TVx,y;x=fun(y);return0;}則TV類的
復(fù)制構(gòu)造函數(shù)被調(diào)用的次數(shù)是
A1次
、
B2次
、
c3次
、
D4次
、
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:拷貝構(gòu)造函數(shù),是一種特殊的構(gòu)造函數(shù),它由編譯器調(diào)用來完成一些
基于同一類的其他對(duì)象的構(gòu)建及初始化??截悩?gòu)造函數(shù)要調(diào)用基類的拷貝構(gòu)造函數(shù)
和成員函數(shù)。本題中調(diào)用fun函數(shù)時(shí)調(diào)用了一次復(fù)制構(gòu)造函數(shù),函數(shù)返回執(zhí)行
x=「un(y)時(shí)又調(diào)用了一次復(fù)制構(gòu)造函數(shù),所以總共2次。B選項(xiàng)正確。
26、結(jié)構(gòu)化程序設(shè)計(jì)中,下面對(duì)got。語句使用描述正確的是
A、禁止使用goto語句
B、使用goto語句程序效率高
C、應(yīng)避免濫用goto語句
D、以上說法均錯(cuò)誤
標(biāo)準(zhǔn)答案:c
知識(shí)點(diǎn)3析:結(jié)構(gòu)化程序設(shè)計(jì)中,要注意盡量避免got。語句的使用,故選C。
27、下列關(guān)于模板的表述中,錯(cuò)誤的是
A、模板形參表的兩邊使用尖括號(hào)括起來
模板以關(guān)鍵字template開始
C、模板聲明中的關(guān)鍵字class都可以用關(guān)鍵字typename替代
D、模板的形參表中可以有多個(gè)參數(shù)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:模板定義以關(guān)鍵字template開始,后接模板形參表,模板形參表是用
尖括號(hào)括住的一個(gè)或多個(gè)模板形參的列表,形參之間用逗號(hào)分隔,選項(xiàng)A、B、D
正確;至于選項(xiàng)C,一般關(guān)鍵字class和typename在模板形參表中,是沒有區(qū)別
的,但是關(guān)于類模板,類定義的關(guān)鍵字也是class,這里class是不可用typename替
代的,答案為C。
28、以下關(guān)鍵字用來聲明類的訪問權(quán)限的是
A、const
B、static
C>protected
D、case
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:C++中,關(guān)鍵字public、protectedprivate用來聲明類的訪問權(quán)限,
答案為C。
29、下列關(guān)于函數(shù)模板的表述中,正確的是
A、當(dāng)函數(shù)形參表為空時(shí),可以省略兩邊的括號(hào)
B、當(dāng)函數(shù)形參表為空時(shí),可以省略兩邊的括號(hào)
C、模板實(shí)參表要用圓括號(hào)括起來
D、在一定條件下模板實(shí)參表可以被省略
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:函數(shù)形參表即使為空,兩邊的括號(hào)也不能省略,選項(xiàng)A錯(cuò)誤;函數(shù)
的實(shí)參表要用圓括號(hào)括起來,模板的實(shí)參表要用尖括號(hào)括起來,選項(xiàng)B、C錯(cuò)誤;
模板實(shí)參表在一定條件下可以省略,選項(xiàng)D正確;答案為D。
30、下列枚舉類型的定義中,包含枚舉值5的是
A、enumtest{LEFT,UP,RIGHT,DOWN};
B、enumtest{LEFT,UP=3,RIGHT,DOWN);
C、enumtest{LEFT=-1,UPRIGHT,DOWN};
D、enumtest{LEFT,UP,RIGHT=6,DOWN);
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:枚舉類型中枚舉成員是常量,可以顯式初始化,也可以隱式初始化;
默認(rèn)的情況下第一個(gè)枚舉成員賦值為0,每個(gè)枚舉成員值比前面一個(gè)枚舉變量大
1;所以各個(gè)選項(xiàng)中枚舉成員值分別如下:A:0,1,2,3;B:0,345;C:-1,0,1,2;
D:04,6,7;答案為B。
31、有如下類定義:classB{public:voidfun1(){)private:voidfun2(){}protected:
voidfun3(){});classD:publicB{protected:voidfun4(){}};若obj是類D的對(duì)
象,則下列語句中不違反訪問控制權(quán)限的是()。
A、o
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中煤科工集團(tuán)北京華宇工程有限公司招聘10人筆試參考題庫附帶答案詳解(3卷)
- 瀘州市2024年四川瀘州市江陽區(qū)事業(yè)單位考核招聘高層次人才(16人)筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 無錫市2024江蘇無錫市體育局所屬事業(yè)單位招聘體育教練員(緊缺)2人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 崇左市2024廣西崇左龍州縣金龍鎮(zhèn)人民政府村級(jí)防貧監(jiān)測信息員(檔案員)招聘3人公筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 國家事業(yè)單位招聘2024國家糧食和物資儲(chǔ)備局儲(chǔ)備安全和應(yīng)急物資保障中心招聘統(tǒng)一筆試筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 國家事業(yè)單位招聘2024中國科學(xué)院動(dòng)物研究所生物學(xué)研究組科研助理崗位招聘1人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 國家事業(yè)單位招聘2024中國人民大學(xué)校醫(yī)院招聘2人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 吉林省2024春季吉林省地方水電集團(tuán)有限公司招聘高校畢業(yè)生擬聘用人員筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 涼山州四川甘洛縣人社局從服務(wù)期滿基層項(xiàng)目人員中招聘鄉(xiāng)鎮(zhèn)事業(yè)單位工作8人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 2025年貴州平塘縣司法局設(shè)立行政執(zhí)法風(fēng)險(xiǎn)觀測點(diǎn)和選聘行政執(zhí)法社會(huì)監(jiān)督員12人備考題庫及一套答案詳解
- 2025年中國鐵路上海局集團(tuán)有限公司蕪湖車務(wù)段客運(yùn)服務(wù)人員招聘考試筆試備考題庫及答案解析
- 2026年陜西省高考一模語文模擬試卷試題(含答案詳解)
- 2025年高職現(xiàn)代水產(chǎn)養(yǎng)殖技術(shù)(生態(tài)養(yǎng)殖模式)試題及答案
- 2025年陽江輔警招聘考試真題附答案
- 心臟手術(shù)體外循環(huán)的無菌管理策略
- 2025年洗衣房年終工作總結(jié)樣本(四篇)
- 糖尿病合并腎病綜合治療方案
- 消除母嬰三病傳播知識(shí)培訓(xùn)
- 智慧水務(wù)系統(tǒng)建設(shè)方案與應(yīng)用案例
- GB/T 39368.1-2025皮革耐折牢度的測定第1部分:撓度儀法
- 尾礦砂購銷合同范本
評(píng)論
0/150
提交評(píng)論