計(jì)算機(jī)二級(jí)c++真題及答案_第1頁(yè)
計(jì)算機(jī)二級(jí)c++真題及答案_第2頁(yè)
計(jì)算機(jī)二級(jí)c++真題及答案_第3頁(yè)
計(jì)算機(jī)二級(jí)c++真題及答案_第4頁(yè)
計(jì)算機(jī)二級(jí)c++真題及答案_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷多是

公共基礎(chǔ)知識(shí)及C++語(yǔ)言程序設(shè)計(jì)A)8B)16C)32

(考試時(shí)間90分鐘,滿(mǎn)分100)分)D)15

(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)

一、選擇題((1)?(35)每小題2分,共格的是

70分)A)使用順序、選擇和重復(fù)(循環(huán))三種

下列各題A)、B)、C)、D)四個(gè)選基本控制結(jié)構(gòu)表示程序的控制邏輯

項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正B)模塊只有一個(gè)入口,可以有多個(gè)出

確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在口

試卷上不得分。C)注重提高程序的執(zhí)行效率

(1)下面敘述正確的是D)不使用goto語(yǔ)句

A)算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ?/p>

構(gòu)無(wú)關(guān)是

B)算法的空間復(fù)雜度是指算法程序A)對(duì)象B)繼承C)類(lèi)

中指令(或語(yǔ)句)的條數(shù)D)過(guò)程調(diào)用

C)算法的有窮性是指算法必須能在(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖

執(zhí)行有限個(gè)步驟之后終止(DFD)作為描述工具的軟件開(kāi)發(fā)階段是

D)以上三種描述都不對(duì)A)可行性分析B)需求分析C)

⑵以下數(shù)據(jù)結(jié)構(gòu)中不屬于線(xiàn)性數(shù)據(jù)結(jié)詳細(xì)設(shè)計(jì)D)程序編碼

構(gòu)的是(7)在軟件開(kāi)發(fā)中,下面任務(wù)不屬于設(shè)計(jì)

A)隊(duì)列B)線(xiàn)性表C)二階段的是

叉樹(shù)D)棧A)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)B)給出系統(tǒng)模

(3)在一棵二叉樹(shù)上第5層的結(jié)點(diǎn)數(shù)最塊結(jié)構(gòu)

C)定義模塊算法D)定義需求并B)“多態(tài)性”指的是對(duì)象的狀態(tài)會(huì)根

建立系統(tǒng)模型據(jù)運(yùn)行時(shí)要求自動(dòng)變化

(8)數(shù)據(jù)庫(kù)系統(tǒng)的核心是C)基類(lèi)的私有成員在派生類(lèi)的對(duì)象

A)數(shù)據(jù)模型C)軟件工具中不可訪(fǎng)問(wèn),也不占內(nèi)存空間

B)數(shù)據(jù)庫(kù)管理系統(tǒng)D)數(shù)據(jù)庫(kù)D)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,結(jié)構(gòu)化

(9)下列敘述中正確的是程序設(shè)計(jì)方法仍有著重要作用

A)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不(12)判斷字符型變量ch是否為大寫(xiě)英

需要操作系統(tǒng)的支持文字母,應(yīng)使用表達(dá)式

B)數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理A)ch>='A'&ch<='Z'B)ch<='A'

系統(tǒng)llch>='Z'

C)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決C)'A'<=ch<='Z,D)

數(shù)據(jù)共享的問(wèn)題ch>='A'&&ch<='Z'

D)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必(13)已知下列語(yǔ)句中的x和y都是int

須與邏輯結(jié)構(gòu)一致型變量,其中錯(cuò)誤的語(yǔ)句

(10)下列模式中,能夠給出數(shù)據(jù)庫(kù)物理A)x=y++;B)x=++y;C)

存儲(chǔ)結(jié)構(gòu)與物理存取方法的是(x+y)++;D)++x=y;

A)內(nèi)模式B)外模式C)概念模(14)執(zhí)行語(yǔ)句序列

式D)邏輯模式intn;

(11)關(guān)于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,下cin?n;

列說(shuō)法正確的是switch(n)

A)“封裝性”指的是將不同類(lèi)型的相{case1:

關(guān)數(shù)據(jù)組合在一起,作為一個(gè)整體進(jìn)行case2:cout?'1';

處理case3:

case4:cout?'2';break;A)HELLO,WORLDB)

default:cout?'3';Hello,World

)C)hELLO,WORLDD)

時(shí),若鍵盤(pán)輸入1,則屏幕顯示hello,world

A)1B)2C)3D)12(16)已知:intm=10;在下列定義引用

(15)下列程序的輸出結(jié)果是的語(yǔ)句中,正確的是

#include<iostream>A)int&x=m;B)inty=&m;

usingnamespacestd;C)int&z;D)int

intmain()&t=&m;

{(17)下列函數(shù)原型聲明中錯(cuò)誤的是

chara[]="Hello,World";A)voidFun(intx=0,inty=0);

char*ptr=a;B)voidFun(intx,inty);

while(*ptr)C)voidFun(intx,inty=0);

{D)voidFun(intx=0,inty);

if(*ptr>='a'&&*ptr<=(18)已知程序中已經(jīng)定義了函數(shù)test,

'z')其原型是inttest(int,int,int);,則下列重

cout?char(*ptr+載形式中正確的是

'A'-'a');A)chartest(int,int,int);

elsecout?*ptr;B)doubletest(int,int,double);

ptr++;C)inttest(int,int,int=O);

)D)floattest(int,int,float=3.5F);

return0;(19)有以下程序

#include<iostream>

inti=0;classMyClass

voidfun()(

{{public:

staticinti=1;MyClass(){cout?l;}

std::cout?i++?',';);

)則執(zhí)行語(yǔ)句MyClassa,b⑵,*p⑵;后,

std::cout?i?',';程序的輸出結(jié)果是

)A)llB)lllC)llll

intmain()

{(22)關(guān)于友元,下列說(shuō)法錯(cuò)誤的是

fun();fun();A)如果類(lèi)A是類(lèi)B的友元,那么類(lèi)B

return0;也是類(lèi)A的友元

)B)如果函數(shù)fun()被說(shuō)明為類(lèi)A的友元,

程序執(zhí)行后的輸出結(jié)果是那么在fun()中可以訪(fǎng)問(wèn)類(lèi)A的私有成

A)1,2,1,2,B)l,2,2,3,C)2,0,3,0,員

D)1,0,2,0,C)友元關(guān)系不能被繼承

(20)已知函數(shù)f的原型是:voidf(int*a,D)如果類(lèi)A是類(lèi)B的友元,那么類(lèi)A

long&b);變量vl、v2的定義是:int的所有成員函數(shù)都是類(lèi)B的友元

vl;longv2;,正確的調(diào)用語(yǔ)句是(23)關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說(shuō)法正確

A)f(vl,&v2);B)f(vl,v2);的是

C)f(&vl,v2);D)f(&vl,A)new和delete是C++語(yǔ)言中專(zhuān)門(mén)用于

&v2);動(dòng)態(tài)內(nèi)存分配和釋放的函數(shù)

(21)有以下類(lèi)定義B)動(dòng)態(tài)分配的內(nèi)存空間也可以被初始

化returntemp;

C)當(dāng)系統(tǒng)內(nèi)存不夠時(shí),會(huì)自動(dòng)回收不再)

使用的內(nèi)存單元,因此程序中不必用intmain()

delete釋放內(nèi)存空間{

D)當(dāng)動(dòng)態(tài)分配內(nèi)存失敗時(shí),系統(tǒng)會(huì)立刻MyClassobjl(10),obj2(0);

崩潰,因此一定要慎用newMyClassobj3(objl);

(24)有以下程序obj2=fun(obj3);

#include<iostream>return0;

usingnamespacestd;)

classMyClass程序執(zhí)行時(shí),MyClass類(lèi)的拷貝構(gòu)造函

(數(shù)被調(diào)用的次數(shù)是

public:A)5B)4C)3D)2

MyClass(intn){number=n;}(25)在公有派生的情況下,派生類(lèi)中定

〃拷貝構(gòu)造函數(shù)義的成員函數(shù)只能訪(fǎng)問(wèn)原基類(lèi)的

MyClass(MyClassA)公有成員和私有成員B)

&other){number=other.number;}私有成員和保護(hù)成員

~MyClass(){}C)公有成員和保護(hù)成員D)

private:私有成員、保護(hù)成員和公有成員

intnumber;(26)在C++中用來(lái)實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的

);是

MyClassfun(MyClassp)A)重載函數(shù)B)

(析構(gòu)函數(shù)

MyClasstemp(p);C)構(gòu)造函數(shù)D)

虛函數(shù)D)Volumeoperator-(Volume,Volume);

(27)一個(gè)類(lèi)可以同時(shí)繼承多個(gè)類(lèi),稱(chēng)為(30)下列是模板聲明的開(kāi)始部分,其中

多繼承。下列關(guān)于多繼承和虛基類(lèi)的表正確的是

述中,錯(cuò)誤的是A)template<T>

A)每個(gè)派生類(lèi)的構(gòu)造函數(shù)都要為虛B)tempiate<classT1,T2>

基類(lèi)構(gòu)造函數(shù)提供實(shí)參C)template<classTl,classT2>

B)多繼承時(shí)有可能出現(xiàn)對(duì)基類(lèi)成員D)template<classTl;classT2>

訪(fǎng)問(wèn)的二義性問(wèn)題(31)執(zhí)行語(yǔ)句序列

C)使用虛基類(lèi)可以解決二義性問(wèn)題ofstreamoutfile("DATA.DAT");

并實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性if(...)cout?"OK";elsecout?

D)建立最派生類(lèi)對(duì)象時(shí),虛基類(lèi)的構(gòu)"FAIL";

造函數(shù)會(huì)首先被調(diào)用后,如果文件打開(kāi)成功顯示“OK”,否

9,

(28)在一個(gè)類(lèi)體的下列聲明中,正確的則就顯示“FAnoo由此可知,上面

純虛函數(shù)聲明是if語(yǔ)句的...

A)virtualvoidvf()=0;B)void處的表達(dá)式應(yīng)是

vf(int)=0;A)outfile.fail()或outfile

C)virtualintvf(int);D)B)outfile.good()或!outfile

virtualvoidvf(int){}C)outfile.good()或outfile

(29)在下面的運(yùn)算符重載函數(shù)的原型D)outfile.fail()或!outfile

中,錯(cuò)誤的是(32)C++流中重載的運(yùn)算符>>是一個(gè)

A)Volumeoperator-(double,double);()

B)doubleVolume::operator-(double);A)用于輸出操作的非成員函數(shù)B)

C)VolumeVolume::operator-(Volume);用于輸入操作的非成員函數(shù)

C)用于輸出操作的成員函數(shù)D)private:

用于輸入操作的成員函數(shù)intid;

(33)有以下類(lèi)定義chargender,

classPoint{char*phone;

public:public:

Point(intx=0,inty=0){_.x=x;

--y=y;}MyClass():id(0),gender('#'),phone(NULL)

voidMove(intxOff,intyOff){)

{_x+=xOff;_.y+=yOff;}MyClass(intno,charge='#',char

voidPrint()const*ph=NULL)

{cout?'('?_x??_y?{id=no;gende=ge;phone=ph;}

')'?endl;});

private:下列類(lèi)對(duì)象定義語(yǔ)句中錯(cuò)誤的是

int_x,_y;A)MyClassmyObj;

);B)MyClassmyObj(ll,);

下列語(yǔ)句中會(huì)發(fā)生編譯錯(cuò)誤的是C)MyClassmyObj(12,'m');

A)Pointpt;pt.Print();D)MyClassmyObj(12);

B)constPointpt;pt.Print();(35)有以下程序

C)Pointpt;pt.Move(l,2);#include<iostream>

D)constPointpt;pt.Move(l,2);usingnamespacestd;

(34)有以下類(lèi)定義classComplex

classMyClass

public:

Complex(doubler=0,doublei請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答

=0):re(r),im(i){}題卡[1H15]序號(hào)的橫線(xiàn)上,答在試卷上

doublereal()const{returnre;}不得分。注意:以命令關(guān)鍵字填空的必

doubleimag()const{returnim;}須拼寫(xiě)完整。

Complexoperator+(Complexc)(1)算法的復(fù)雜度主要包括[1]復(fù)雜

const度和空間復(fù)雜度。

{returnComplex(re+c.re,(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間

im+c.im);}中的存放形式稱(chēng)為數(shù)據(jù)的[2]

private:(3)若按功能劃分,軟件測(cè)試的方法通常

doublere,im;分為白盒測(cè)試方法利[3]測(cè)試方法。

);(4)如果一個(gè)工人可管理多個(gè)設(shè)備,而一

intmain()個(gè)設(shè)備只被一個(gè)工人管理,則實(shí)體“工

(人”與實(shí)體“設(shè)備”之間存在[4]的聯(lián)

Complexa=Complex(l,1)+系。

Complex(5);(5)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專(zhuān)門(mén)

cout?a.real()?'+'?a.imagO?'i'關(guān)系運(yùn)算包括選擇、連接利[5]o

?endl;(6)設(shè)有定義語(yǔ)句:inta=12;,則表達(dá)式

return0;a*=2+3的運(yùn)算結(jié)果是⑹。

)(7)從實(shí)現(xiàn)的角度劃分,C++所支持的兩

程序執(zhí)行后的輸出結(jié)果是種多態(tài)性分別是[7]時(shí)的多態(tài)性利

A)6+6iB)6+liC)l+6i運(yùn)行時(shí)的多態(tài)性。

D)1+li⑻將一個(gè)函數(shù)聲明為一個(gè)類(lèi)的友元函

二、填空題(每空2分,共30分)數(shù)必須使用關(guān)鍵字[8]。

(9)請(qǐng)按下面注釋的提示,將類(lèi)B的構(gòu)cout?i?endl;

造函數(shù)定義補(bǔ)充完整。return0;

classA)

((11)下列程序的輸出結(jié)果是[11]

inta;#include<iostream>

public:usingnamespacestd;

A(intaa=O){a=aa;}classTest{

);public:

classB:publicA{Test(){cnt++;}

intb;~Test(){ent-;}

Ac;staticintCount(){returnent;}

public:private:

〃用aa初始化基類(lèi)A,用aa+1初始化staticintent;

類(lèi)對(duì)象成員c);

B(intaa):[9]{b=aa+2;}intTest::cnt=0;

);intmain()

(10)下列程序的輸出結(jié)果是[10]o(

#include<iostream>cout?Test::CountO?'

usingnamespacestd;Testtl,t2;

intmain()Test*pT3=newTest;

(Test*pT4=newTest;

inti=5;cout?Test::CountO?'

int&r=i;r=7;deletepT4;

deletepT3;

cout?Test::Count()?endl;(14)與成員訪(fǎng)問(wèn)表達(dá)式p->name等價(jià)的

return0;表達(dá)式是[14]o

)(15)下列程序的輸出結(jié)果是[15]。

(12)下面是用來(lái)計(jì)算n的階乘的遞歸函#include<iostream>

數(shù),請(qǐng)將該函數(shù)的定義補(bǔ)充完整。(注:usingnamespacestd;

階乘的定義是n!=n*(n-l)*...*2*l)classbase{

unsignedfact(unsignedn)public:

(intn;

if(n<=1)base(intx){n=x;}

return1;virtualvoidset(intm){n=m;

return[12];cout?n?'

));

(13)下列程序的輸出結(jié)果是[13]oclassderiveA:publicbase{

#include<iostream>public:

usingnamespacestd;deriveA(intx):base(x){}

template<tytenameT>voidset(mtm){n+=m;cout?n

Tfun(Ta,Tb){return(a<=b)?:b;}?'';}

intmain());

classderiveB:publicbase[

cout?fun(3,6)??funpublic:

(3.14F,6.28F)?endl;deriveB(intx):base(x){}

return0;voidset(intm){n+=m;cout?n

?";}(15)A

);(16)A(17)D(18)B(19)D

intmain()(20)C

((21)B(22)A(23)B(24)B

deriveAdl(l);(25)C

deriveBd2(3);(26)D(27)C(28)A(29)A

base*pbase;(30)C

phase=&dl;(3DC(32)B(33)D(34)B

pbase->aet(l);(35)B

phase=&d2;二、填空題(每空2分,共30分)

pbase->set(2);(1)[1]時(shí)間

return0;(2)[2]存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)

)或物理存儲(chǔ)結(jié)構(gòu)

2004年9月⑶[3]黑盒或黑箱

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷(4)[4]一對(duì)多或1對(duì)多或

公共基礎(chǔ)知識(shí)及C++語(yǔ)言程序設(shè)計(jì)I:M或I:N(其中M、N大小寫(xiě)均

答案及評(píng)分標(biāo)準(zhǔn)可)

選擇題((1)一(35)每小題2分,共70分)(5)[5]投影

(1)C(2)C(3)B(4)A(6)[6]60

⑸D⑺[7]編譯

(6)B(7)D(8)B(9)C(8)[8]friend

(10)A(9)[9]A(aa),c(aa+1)或c(aa+l),

(H)D(12)D(13)C(14)DA(aa)

(10)[10]7分查找,最壞情況下需要的比較次數(shù)為

(H)[ll]042(nlog2n)

(12)[12]n*fact(n-l)(2)算法的時(shí)間復(fù)雜度是指

(13)[13]3,3.14A)算法的執(zhí)行時(shí)間

(14)[14](*p).nameB)算法所處理的數(shù)據(jù)量

(15)[15]25C)算法程序中的語(yǔ)句或指令條數(shù)

2010年3月計(jì)算機(jī)等級(jí)考試二級(jí)C++D)算法在執(zhí)行過(guò)程中所需要的基

筆試試題本運(yùn)算次數(shù)

一、選擇題(每小題2分,共70分)(3)軟件按功能可以分為:應(yīng)用軟

下列各題A)、B)、C)、D)四個(gè)選件、系統(tǒng)軟件和支撐軟件(或工具軟件)。

項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正下面屬于系統(tǒng)軟件的是

確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在A(yíng))編輯軟件

試卷上不得分。B)操作系統(tǒng)

(1)下列敘述中正確的是C)教務(wù)管理系統(tǒng)

A)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查D)瀏覽器

找,最壞情況下需要的比較次數(shù)為n(4)軟件(程序)調(diào)試的任務(wù)是

B)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)A)診斷和改正程序中的錯(cuò)誤

分查找,最壞情況下需要的比較次數(shù)為B)盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤

(n/2)C)發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤

C)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)D)確定程序中錯(cuò)誤的性質(zhì)

分查找,最壞情況下需要的比較次數(shù)為(5)數(shù)據(jù)流程圖(DFD圖)是

(log2n)A)軟件概要設(shè)計(jì)的工具

D)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)B)軟件詳細(xì)設(shè)計(jì)的工具

C)結(jié)構(gòu)化方法的需求分析工具A)需求分析階段

D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ連)邏輯設(shè)計(jì)階段

(6)軟件生命周期可分為定義階段,C)概念設(shè)計(jì)階段

開(kāi)發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于D)物理設(shè)計(jì)階段

A)定義階段(10)有兩個(gè)關(guān)系R和T如下:

B)開(kāi)發(fā)階段

C)維護(hù)階段

D)上述三個(gè)階段

(7)數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模

式定義的語(yǔ)言是

則由關(guān)系R得到關(guān)系T的操作是

A)數(shù)據(jù)定義語(yǔ)言

A)選擇

B)數(shù)據(jù)管理語(yǔ)言

B)投影

C)數(shù)據(jù)操縱語(yǔ)言

C)交

D)數(shù)據(jù)控制語(yǔ)言

D)并

(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存

(11)下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是

取一個(gè)學(xué)生信息的數(shù)據(jù)單位是

A)函數(shù)可以沒(méi)有返回值

A)文件

B)函數(shù)可以沒(méi)有參數(shù)

B)數(shù)據(jù)庫(kù)

C)函數(shù)可以是一個(gè)類(lèi)的成員

C)字段

D)函數(shù)不能被定義為模板

D)記錄

(12)若MyClass是一個(gè)類(lèi)名,且有

(9)數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來(lái)描

如下語(yǔ)句序列

述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中

MyClasscl,*c2;

的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的

MyClass*c3=newMyClass;C)friendDecr&operator—(Decr&);

MyClass&c4=c1;D)frlendDeeroperator

上面的語(yǔ)句序列所定義的類(lèi)對(duì)象—(Decr&,int);

的個(gè)數(shù)是(15)若MyTemp是一個(gè)只有一個(gè)虛

A)1擬類(lèi)型參數(shù)的類(lèi)模板,且有如下語(yǔ)句序

B)2列

C)3MyTempp2;

D)4MyTempp3[2];

(13)下列關(guān)于繼承方式的描述中,編譯系統(tǒng)在處理上面的語(yǔ)句序列

錯(cuò)誤的是時(shí),所生成的模板MyTemp的實(shí)例的個(gè)

A)如果不顯式地指定繼承方式,缺數(shù)是

省的繼承方式是私有(private)A)1

B)采用公有繼承方式時(shí),基類(lèi)中的B)2

公有成員在派生類(lèi)中仍然是公有成員C)3

C)采用保護(hù)繼承方式時(shí),基類(lèi)中的D)0

保護(hù)成員在派生類(lèi)中仍然是保護(hù)成員(16)在C++中,cin是個(gè)

D)采用私有繼承方式時(shí),基類(lèi)中的A)類(lèi)

私有成員在派生類(lèi)中仍然是私有成員B)對(duì)象

(14)將前綴運(yùn)算符“-”重載為非成C)模板

員函數(shù),下列原型中,能正確用于類(lèi)中D)函數(shù)

說(shuō)明的是(17)在下列字符中,不允許作為

A)Decr&operator—(int);C++標(biāo)識(shí)符的是

B)Decroperator—(Decr&,int);A)b

B)BA)〈返回類(lèi)型,中有可能包含關(guān)鍵

C).字int

D)2B)〈返回類(lèi)型〉中有可能包含自定

(18)下列敘述中,錯(cuò)誤的是義標(biāo)識(shí)符

A)false是一個(gè)邏輯型常量C)〈返回類(lèi)型〉中有可能包含字符*

B)"b"是一個(gè)字符型常量D)〈返回類(lèi)型〉中可能包含口

Q365是一一個(gè)int常量(22)要定義一個(gè)引用變量p,使之

D)3.1415926是一個(gè)double常量引用類(lèi)MyClass的一個(gè)對(duì)象,正確的定

(19)若x和y是程序中的兩個(gè)整型義語(yǔ)句是

變量,則下列if語(yǔ)句中正確的是A)MyClassp=MyClass;

A)if(x==0)y=l;elsey=2;B)MyClassp=newMyClass;

B)if(x==0)theny=lelsey=2;C)MyClass&p=newMyClass;

C)if(x==0)y=lelsey=2;D)MyClassa,&p=a;

D)ifx==0y=l;elsey=2;(23)有如下兩個(gè)類(lèi)定義

(20)要定義整型數(shù)組x,使之包括classXX{

初值為O的三個(gè)元素,下列語(yǔ)句中錯(cuò)誤private:

的是doublex1;

A)intx[3]={0,0,0};protected:

B)intx[]={0};doublex2;

C)staticintx[3]={0};public:

D)intx[]={0,0,0};doublex3;

(21)關(guān)于函數(shù)中的〈返回類(lèi)型〉,下列表);

述中錯(cuò)誤的是classYY:protectedXX{

private:誤的是

doubleyl;A)類(lèi)模板的成員函數(shù)都是模板函

protected:數(shù)

doubley2;B)可以為類(lèi)模板參數(shù)設(shè)置默認(rèn)值

public:C)類(lèi)模板描述了一組類(lèi)

doubley3;D)類(lèi)模板中只允許有一個(gè)類(lèi)型參

);數(shù)

在類(lèi)YY中保護(hù)成員變量的個(gè)數(shù)是(26)下列控制格式輸入輸出的操作

A)1符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是

B)2A)setprecision

C)3B)setw

D)4Osetfill

(24)下列關(guān)于運(yùn)算符重載的描述D)showpoint(27)下列程序段中包

中,錯(cuò)誤的是含4個(gè)函數(shù),其中具有隱含this指針的

A)可以通過(guò)運(yùn)算符重載在C++中是

創(chuàng)建新的運(yùn)算符intfun1();

B)賦值運(yùn)算符只能重載為成員函classTest{

數(shù)public:

C)運(yùn)算符函數(shù)重載為類(lèi)的成員函intfun2();

數(shù)時(shí),第一操作數(shù)是該類(lèi)對(duì)象friendintfun3();

D)重載類(lèi)型轉(zhuǎn)換運(yùn)算符時(shí)不需要staticintfun4();

聲明返回類(lèi)型);

(25)下列關(guān)于類(lèi)模板的描述中,錯(cuò)A)funl

B)fun2classA{

C)fun3public:

D)fun4A(inti=0):rl(i){}

(28)有如下程序voidprint(){couKc'E5?R1}<

#includeP>

usingnamespacestd;voidprint()const

classTest{{cout?'C'?R1*R1}<p>

public:voidprint(intx){cout

Test(){}?'P'?Rl*Rl*Rl?'-';}<p>

Test(constTest&t){cout?l;}private:

);intrl;

Testfun(Test&u){Testt=u;return);

t;}intmain(){

intmain(){Testx,y;x=fun(y);returnAal;

0;)constAa2(4);

運(yùn)行這個(gè)程序的輸出結(jié)果是al.print(2);

A)無(wú)輸出al.print();

B)1return0;

C)ll)

D)lll運(yùn)行時(shí)的輸出結(jié)果是

(29)有如下程序A)P8-E4

#includeB)P8-C16-

usingnamespacestd;OP0-E4-

D)P0-C16-private:

(30)下列代碼聲明了3個(gè)類(lèi)intvalB;

classPerson{};);

classStudent:publicPerson{};classDerived:publicBase{

classUndergraduate:Student{};public:

下列關(guān)于這些類(lèi)之間關(guān)系的描述Derived(intx=0,int

中,錯(cuò)誤的是y=0):Base(x),valD(y){cout?VALD;}<

A)類(lèi)Person是類(lèi)Undergraduate的P>

基類(lèi)~Derived(){cout?VALD;}<p>

B)類(lèi)Undergraduate從類(lèi)Student公private:

有繼承intvalD;

C)類(lèi)Student是類(lèi)Person的派生類(lèi));

D)類(lèi)Undergraduate是類(lèi)Person的intmain(){

派生類(lèi)Derivedobj12(2,3);

retuen0;

(31)有如下程序)

#include運(yùn)行時(shí)的輸出結(jié)果是

usingnamespacestd;A)2332

ClassBase{B)2323

public:C)3232

Base(intx=0):valB(x)D)3223

{cout?VALB;}<p>(32)下面是類(lèi)Shape的定義:

~Base(){cout?VALB;}<p>classShape{

public:(3)ios_base::in(4)ios_base::out

virtualvoidDraw()=0;若要以二進(jìn)制讀方式打開(kāi)一個(gè)文

);件,需使用的文件打開(kāi)模式為

下列關(guān)于Shape類(lèi)的描述中,正確A)①③

的是B)①④

A)類(lèi)Shape是虛基類(lèi)C)②③

B)類(lèi)Shape是抽象類(lèi)D)②④

C)類(lèi)Shape中的Draw函數(shù)聲明有(35)有如下程序:

誤#include

D)語(yǔ)句“Shapes;”能夠建立Shapeusingnamespacestd;

的一個(gè)對(duì)象SClassB{

(33)將運(yùn)算符重載為非成員函public:

數(shù),下列原型聲明中,錯(cuò)誤的是B(intxx):x(xx){++cout;x+=10;}

A)MyClockoperator+virtualvoidshow()const

(MyClock,long);

B)MyClockoperator+{cout?COUNT?'_'?X?ENDL;}<

(MyClock,MyClock);P>

C)MyClockoperator+(long,long);protected:

D)MyClockoperator+staticintcount;

(long,MyClock);private:

(34)打開(kāi)文件時(shí)可單獨(dú)或組合使用intx;

下列文件打開(kāi)模式);

?ios_base::app(2)ios_base::binaryclassDipublicB{

public:請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答

D(intxx,intyy):B(xx),y(yy)題卡【1】?【15】序號(hào)的橫線(xiàn)上,答在

{++count;y+=100;}試卷上不得分。

virtualvoidshow()const(1)一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將

元素A,B,C,D,E,F,5,4,3,2,1依次入隊(duì),

{cout?COUNT?'_'?Y?ENDL;}<然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)?/p>

P>[1]。

private:(2)設(shè)某循環(huán)隊(duì)列的容量為50,如

inty;果頭指針front=45(指向隊(duì)頭元素的前

);一位置),尾指針rear=10(指向隊(duì)尾元

intB::count=0;素),則該循環(huán)隊(duì)列中共有【2】個(gè)元

intmain(){素.1-,。

B*ptr=newD(10,20);(3)設(shè)二叉樹(shù)如下:

ptr->show();

deleteptr;

return0;

)

0

運(yùn)行時(shí)的輸出結(jié)果是\

A)l_120

B)2_120對(duì)該二叉樹(shù)進(jìn)行后序遍歷的結(jié)果

C)l_20為【3】o

D)2_20(4)軟件是【4】、數(shù)據(jù)和文檔的

二、填空題(每空2分,共30分)集合。

(5)有一個(gè)學(xué)生選課的關(guān)系,其中學(xué)intx[5]={23,46,78,55,16};

生的關(guān)系模式為:學(xué)生(學(xué)號(hào),姓名,后,通過(guò)表達(dá)式Xfun(x,5)調(diào)用該函

班級(jí),年齡),課程的關(guān)系模式為:課數(shù),則得到的返回值為【8】o

程(課號(hào),課程名,學(xué)時(shí)),其中兩個(gè)關(guān)(9)有如下的函數(shù)定義:

系模式的鍵分別是學(xué)號(hào)和課號(hào),則關(guān)系intXfun(intx){

模式選課可定義為:選課(學(xué)號(hào),【5】,inty=x;

成績(jī))。{intx=10;y+=x;}

(6)若x和y是兩個(gè)整形變量,在執(zhí)returnx+y;

行了語(yǔ)句序列)

x=5;y=6;y+=x—;通過(guò)表達(dá)式Xfun(5)調(diào)用該函數(shù),

后,x+y的值為【6】o則得到的返回值為【9】o

(7)在執(zhí)行語(yǔ)句序列(10)假定Xcs是一個(gè)類(lèi),該類(lèi)中一

inti=0;doi++;while(i*i<10);個(gè)成員函數(shù)的原型為“Xcs*abc();",則

時(shí),do后面的循環(huán)體語(yǔ)句i++被執(zhí)在類(lèi)外定義時(shí)對(duì)應(yīng)的函數(shù)頭為[10]0

行的次數(shù)為【7】o(11)請(qǐng)將下面的類(lèi)Date的定義補(bǔ)

(8)有如下的函數(shù)定義:充完整,使得由語(yǔ)句

intXfun(int*a,intn){DateFirstDay;

intx=*a;定義的對(duì)象FirstDay的值為2010

for(int*pa=a+1;pao年1月1日。

if(*pa>x)x=*pa;classDate{

returnx;public:

若執(zhí)行了語(yǔ)句Date([11]):year(y),month(m),day(d

){){cout?TITLE?"是"OWNER?"的書(shū)

private:"?ENDL;}<p>

intyear,month,day;〃依次表示年、private:

月、日charowner[10];

););

(12)請(qǐng)將下面的程序補(bǔ)充完整,使intmain(){

得程序輸出“飄是張娜的書(shū)”。Book*prt=newMyBook("飄");

#includeprt->PrintInfo();

usingnamespacestd;return0;

classBook{)

public:(13)在有理數(shù)類(lèi)Rational中重載插

Book(char*str){strcpy(title,str);}入運(yùn)算符以便按a/q形式輸出。請(qǐng)

[12]void

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論