國(guó)家二級(jí)(C)筆試模擬試卷8(共459題)_第1頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷8(共459題)_第2頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷8(共459題)_第3頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷8(共459題)_第4頁(yè)
國(guó)家二級(jí)(C)筆試模擬試卷8(共459題)_第5頁(yè)
已閱讀5頁(yè),還剩94頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C++)筆試模擬試卷8(共9

套)

(共459題)

明家二級(jí)(C++)筆試模擬試卷第1套

一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共

20分。)

1_、

msCm加請(qǐng)4石e索:現(xiàn)有6個(gè)元素技A,B.C、D、E、F的喉序進(jìn)梯下部?個(gè)序列不是可能

的出棧序列().

A)C、8、E、D.A、FB)C.D、B、F.E、A

C)A、D、E、CMB,FD)A、F、E,D,C、B

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:棧是一種特殊的線性表,棧是限定在表的一端進(jìn)行插入和刪除運(yùn)算的

線性表。

2、一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為

As對(duì)應(yīng)關(guān)系

B、單一關(guān)系

C、一元關(guān)系

D、二元關(guān)系

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:哲無(wú)解析

3、下列關(guān)于關(guān)系運(yùn)算的敘述中正確的是

A、投影、選擇、連接是從二維表的行的方向來(lái)進(jìn)行運(yùn)算

B、投影、選擇、連接是從二維表的列的方向來(lái)進(jìn)行運(yùn)算

C、并、交、差是從二維表的列的方向來(lái)進(jìn)行運(yùn)算

D、以上三種說(shuō)法都不刈

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:A和B是互相矛盾的,答案必然是這兩者之在關(guān)系模型的數(shù)據(jù)語(yǔ)

言中,常規(guī)的集合運(yùn)算(并、交、差、笛卡爾積等),是將關(guān)系(即二維表)看成是元

組的集合,這些運(yùn)算主要是從二維表的行的方向來(lái)進(jìn)行的:投影、選擇、連接等運(yùn)

算主要是從二維表的列的方向來(lái)進(jìn)行運(yùn)算。正確答案是B。

關(guān)于虛函數(shù),以下說(shuō)法正確的是<).

A)若在重定義虛函數(shù)時(shí)使用了virtual.則該重定義函數(shù)還是虛決故

B)虛函數(shù)不能聲明為友元

C)子類必須重定義父類的虛函數(shù)

4、D)康曲數(shù)不能是static的

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:暫無(wú)解析

由于常對(duì)象不能被更新,所以《).

A)利用常對(duì)象可以調(diào)用任何不改變對(duì)象值的成員函數(shù)

B)利用常對(duì)家只能調(diào)用的套成員函數(shù)

C)常對(duì)象的成員都是常成員

5、D)利用常對(duì)象只能調(diào)用它的常成員函數(shù)

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:暫無(wú)解析

6、在進(jìn)行任何C++流的操作后,都可以用C++流的有關(guān)成員函數(shù)檢測(cè)流的狀態(tài):

其中只能用于檢測(cè)輸入流狀態(tài)的操作函數(shù)名稱是()。

A、fail

B、eof

C、bad

D^good

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:可以用文件流對(duì)象的成員函數(shù)來(lái)判別文件流當(dāng)前的狀態(tài):fail,剛進(jìn)

行的操作失敗時(shí)返回true,否則返回false;eof,進(jìn)行輸入操作時(shí),若文件到達(dá)文

件尾返回irue,否則返回false;bad,如果進(jìn)行了非法操作返回irue,否則返回

false;good,剛進(jìn)行的操作成功時(shí)返回true,否則返回falseo

在數(shù)據(jù)庫(kù)設(shè)計(jì)中.將E?R圖衿換為關(guān)系模式的過(guò)程履于《)?

A)需求分析階段B)^輯設(shè)計(jì)階段

7、C)概念設(shè)計(jì)階段D)物理設(shè)計(jì)階段

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)

計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E.R圖轉(zhuǎn)換為關(guān)系模式。

8、以下程序的輸出結(jié)果是()。main(){intb[3][3]={O,l,2,0J,2,0,l,2},ij,t=l;

for(i=0;i<3;i++)for(j=iy<=i;j++)t=t+b[i][b[jl[jll;)

A、2

B、3

C、4

D、5

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:程序中通過(guò)for二重循環(huán)依次取二維數(shù)組中的數(shù)值進(jìn)行與t的累加。

取數(shù)組中的元素為i行和符合循環(huán)條件的列的數(shù)據(jù)。循環(huán)為0,1,2行,對(duì)

應(yīng)0,1.2列0即0.I,2c所以1+0+1+2=4。

有以下程序段:

*includc<iostream.h>

^defineMAX(x.y)(x)><y)?(x):(y)

voidmain()

{

intij,k;

i=10;

j-15;k-MAX(ij)*IO;

cout?k?cndl;

]

程序執(zhí)行后的出結(jié)果是().

9、A)ISB)100C)150D)10

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:暫無(wú)解析

1。、類模板templateVclassT>classx(…),其中,友元函數(shù)f成為從該類模板實(shí)例

化的每個(gè)模板類的友元,見其說(shuō)明應(yīng)為()。

A、friendvoidf();

B、friendvoidf(x<T>&)

C>friendvoidA::f();

D、friendvoidC<T>::f(x<T>&):

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無(wú)解析

二、選擇題(本題共25題,每題7.0分,共25分。)

11、下列描述中,抽象類的特性是()。

A、可以說(shuō)明虛函數(shù)

B、可以定義友元函數(shù)

C、可以進(jìn)行構(gòu)造函數(shù)重載

D、不能說(shuō)明其對(duì)象

標(biāo)準(zhǔn)答案:D

知識(shí)之解析:帶有純虛函數(shù)的類稱為抽象類,抽象類中的純虛函數(shù)沒(méi)有具體的定

義,所以不能說(shuō)明抽象類優(yōu)對(duì)象。

12、如果表達(dá)式-x/y中的”和“廣是作為友元函數(shù)重載的運(yùn)算符,采用運(yùn)算符函數(shù)

用格式,該表達(dá)式還可表示為()。

A、opcrator/(x.operator-(),y);

B、operatoi7(operator"(x),y);

C、x.operator-().operator/(y);

D、y.operator/(operator-(x));

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考核運(yùn)算符的重載。假定已經(jīng)作為某人類的成員函數(shù)重載了二

元運(yùn)算符+,且cl、c2都是該類的對(duì)象,則cl。operator+(c2)與cl+c2含義相同。

如果+作為該類的非成員函數(shù)重載,則operalor+(cl,c2)與cl+c2含義相同。同

理,運(yùn)算符“尸作為友元函數(shù)重載,則(--x)/y與表達(dá)式opcrato”((--x),y)相同。前綴

運(yùn)算符作為友元函數(shù)重載,則--X與。perator--(x)相同,所以組合起來(lái)是

operator/(operator-(x),y);.即B選項(xiàng)。

13、有如下的運(yùn)算符重載函數(shù)定義:doubleoperator+(in(k){returndouble(i+k);)

但定義有錯(cuò)誤,對(duì)這個(gè)錯(cuò)誤最準(zhǔn)確的描述是()。

A、+只能作為成員函數(shù)重載,而這里的+是作為非成員函數(shù)重載的

B、兩個(gè)ini型參數(shù)的和也應(yīng)該是ini型,而這里將+的返回類型聲明為double

C、沒(méi)有將運(yùn)算符重載函數(shù)聲明為某個(gè)類的友元

D、C++已經(jīng)提供了求兩個(gè)int型數(shù)據(jù)之和的運(yùn)算符+,不能再定義同樣的運(yùn)算符

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:此題考查的是運(yùn)算符的重載。C++語(yǔ)言規(guī)定,不能作為非成員函數(shù)

重載的運(yùn)算符有:、[]、()、->以及所有的類型轉(zhuǎn)換運(yùn)算符,故選項(xiàng)A)錯(cuò)誤:運(yùn)算

符重載對(duì)返回值類型沒(méi)有限制,故選項(xiàng)B)錯(cuò)誤;C++并不強(qiáng)制要求非成員重載的

運(yùn)算符一定是某個(gè)類的友元,所以選項(xiàng)C)錯(cuò)誤;題目中直載的運(yùn)算符的兩個(gè)參

數(shù)都是int類型,而C++已經(jīng)提供了求兩個(gè)int型數(shù)據(jù)之和的運(yùn)算符+,編譯器無(wú)法

區(qū)分應(yīng)該調(diào)用哪一個(gè),所以應(yīng)該選擇選項(xiàng)D)。

14、有如下說(shuō)明:inta[l。]={12345,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是

A、*p+9

B、*(p+8)

C、*p+=9

D、p+8

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:按照C++語(yǔ)言的數(shù)組元素的引用方法,如數(shù)組元素a[0],可以用

表達(dá)式*(p1O),即*p來(lái)引用,對(duì)于數(shù)組元素a[l],可以用表達(dá)式*(ptI)來(lái)引

用,在這里,p+1的值就是數(shù)組元素a[l]的地址,對(duì)此地址使用“間接訪問(wèn)運(yùn)算

符“:*(p+l)就代表存儲(chǔ)單元a[l],注意一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素

a|21,則可以用表達(dá)式*(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式*(p

+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若OgiVlO,則數(shù)組

元素a[i]可以用表達(dá)式*(p+i)來(lái)引用。

15、類模板的使用實(shí)際上是將類模板實(shí)例化成一個(gè)具體的()。

A、類

B、對(duì)象

C、函數(shù)

D、模板類

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:類模板就是把類中的數(shù)據(jù)分離出來(lái),作為一個(gè)類的描述。C++編譯

器根據(jù)類模板和特定的數(shù)捱類型來(lái)產(chǎn)生一個(gè)類,類模板就是一個(gè)抽象的類。

16、若有如下語(yǔ)句:#inchideViostream.h>voidmain(){intx=3;do{x=x—2;cout

<<x;)while(!(——X));|則上面程序段

A、輸出的是1

B、輸出的是1和一2

C、輸出的是3和0

D、是死循環(huán)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:do...while語(yǔ)句的一般格式為do循環(huán)體語(yǔ)句while(表達(dá)式);,先執(zhí)行循

環(huán)體語(yǔ)句一次,再判斷表達(dá)式的值,若為真則繼續(xù)執(zhí)行循環(huán),否則終止循環(huán)。本題

中,先執(zhí)行x=x—2,即為1。判斷表達(dá)式的值,!(一一x)為真,x=0,繼續(xù)循

環(huán)。再次執(zhí)行循環(huán)體語(yǔ)句后,x=-2,此時(shí)表達(dá)式的值為0,結(jié)束循環(huán)。

17、類MyClass的定義如下,若要對(duì)value賦值,則下面語(yǔ)句正確的是()。class

MyClass{public:MyClass()()MyClass(inti)(value=newint(i);)int*value;};

A、MyClassmy;my.valuc=10:

B、MyClassmy:*my.value=10;

C、MyClassmy;my.*value=10;

D^MyClassmy(10);

標(biāo)準(zhǔn)答案:D'

知識(shí)點(diǎn)解析:因題目中定義的指針value是指向變量i的,所以直接利用語(yǔ)句

MyClass(inti){value=newin((i);}對(duì)value進(jìn)行賦值即可。

18、有如下程序:#include<iostrcani>usingnamespacestd;classPoint{intx,y;

public:Point(intxl=0,intyI=0):x(xl),y(yl){}intget(){returnx+y;)};class

Circlc{Pointcenter;intradius;public:Circle(intCX,intcy,intr):ccntcr(cx,cy),

radius(r){}intget(){returncenter.get()+radius;|};intmain(){circlec(3,4,5);cout<

<c.get()<<endl;return():)運(yùn)行時(shí)的輸出結(jié)果是().A)5R)7C)9D)12

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:暫無(wú)解析

19、下列語(yǔ)句中,與語(yǔ)句“n=(a>b?(b>c?l:0):0);”的功能等價(jià)的是()。A)if(a<=

B)n=0:B)if((a>B)||(b>C))n=l;elsen=0;C)if(a>B)if(b>C)n=helsen=0;else

n=0;D)if(a>B)n=l;elseif(b<=C)n=l;elseif(b>C)n=l;elsen=0;

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:暫無(wú)解析

20、有如下類定義classMyClasspublic:Private:intdata:);若要為MyClass類重載

流輸入運(yùn)算符>>,使得程序中可以“cin>>obj;“形式輸入MyClass類的對(duì)象

obj,則橫線處的聲明語(yǔ)句應(yīng)為()。A)friendistreain&operator>>(istream&is,

MyClass&A);B)friendistream&operator>>(istream&is,MyClassA);C)istream&

operator>>(istream&is,MyClass&A);D)istream&operator>>(istream&is,

MyClassA);

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:暫無(wú)解析

21、如果表達(dá)式--x/y中的“二和??廣都是作為友元函數(shù)重載的運(yùn)算符,采用運(yùn)算符函

數(shù)調(diào)用格式,該表達(dá)式還可表示()。

A、operator/(x.operator—(),y)

B、operator/(operator-(x),y)

C、x.opcrator-().opcrator/(y)

D^y.operator/(operator—(x))

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

22、下面描述中正確的是o

A、virtual可以用于聲明虛函數(shù)

B、含有純虛函數(shù)的類不可以用來(lái)創(chuàng)建對(duì)象

C、即使基類的構(gòu)造函數(shù)沒(méi)有參數(shù),派生類也必須建立構(gòu)造函數(shù)

D、靜態(tài)數(shù)據(jù)成員可以通過(guò)成員初始化列表來(lái)初始化

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無(wú)解析

23、在每個(gè)C++程序中必須包含這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為o

A、main

B、MAIN

C>name

function

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:每個(gè)C++程序必須包含一個(gè).主函數(shù)main。

24、下面程序錯(cuò)誤的語(yǔ)句是#include"iostream,h"①voidmain()②{③intA=0;

④ini&B;⑤B=A⑥coutVVB;?cout<<A;⑧}

A、②

B、@

C、④

D、⑥

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:引用必須在第一時(shí)間進(jìn)行賦值,int&B沒(méi)有在第一時(shí)間賦值故錯(cuò)

誤。注意:引用的方式,引用和指針應(yīng)用的比較。

25、對(duì)于語(yǔ)句coutVVsetfn('*')VVsetw(10)VVlVVsetfm('*')VVsetw⑵VV

2;的輸出結(jié)果是

A^********町*2

B、********]2

C、*******i*2

D、%********

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:C++語(yǔ)言U」seifill的意思是在空格的地方填上setfill函數(shù)中的參數(shù)字

符,setw的意思是設(shè)置整個(gè)輸出字符串的字符個(gè)數(shù),本題中用。宋代替空格。

26、下列關(guān)于C++函數(shù)的描述中正確的是()。

A、主函數(shù)是程序的入口,它由用戶定義的函數(shù)調(diào)用

B、函數(shù)在調(diào)用之前必須先被聲明

C、每個(gè)用戶定義函數(shù)只能被其他函數(shù)調(diào)用一次

D、函數(shù)是C++中面向?qū)ο蟪绦蛟O(shè)計(jì)框架的基本組成單元

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

27、C++中用3個(gè)保留字實(shí)現(xiàn)異常處理,除了try和catch外,還有()。

A、if

B、class

C、throw

D^return

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無(wú)解析

28、下列關(guān)于虛基類的描述,錯(cuò)誤的是()。

A、設(shè)置虛基類的目的是為了消除二義性

B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用

C、若同一層中包含多個(gè)虛基類,這些虛基類的構(gòu)造函數(shù)按它們說(shuō)明的次序調(diào)用

D、若虛基類由非虛基類派生而來(lái),則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的

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

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

29、以下程序的輸出結(jié)果是#include<iostream.h>longfun(intn){longs;

if(n=l||n=2)s=2;elses=n-fun(n-l);returns;}voidmain(){cout<<fun(3);}

A、1

B、2

C、3

D、4

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:題中fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3?fun⑵,第

二次調(diào)用時(shí):fun(2)n=2s=2,返回第一次調(diào)用后,s=3-2=l。

30、有以下程序:#include(iestream)usingnamespacestd;intf(in(n){if(n==l)

return1;elsereturnf(n-l)+l;}intmain(){inti,j=0;for(i=l;i<3;i++)

j+=f(i);cout<

A、4

B、3

C、2

D、1

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題考查的知識(shí)點(diǎn)是遞歸函數(shù)的調(diào)用。根據(jù)程序代碼逐步分析:

①f(n)用來(lái)計(jì)算n+(n-l)…+1,在f(n)定義內(nèi)部乂調(diào)用f(n)自身,這就是遞歸函數(shù)。

@f(n)=f(n-l)+l,因此必須先計(jì)算出f(n-l),而f(n-l)=f(n-2)+l,又必須計(jì)算f(n-

2)o由此類推,直到n=l,返回后可以此計(jì)算出f(n),f(n?l),…瑁)。③第1次調(diào)

用f(n)時(shí),形參n接收的值為1,進(jìn)入函數(shù)體后,由于滿足“n==l",執(zhí)行relurn語(yǔ)

句得到1。第2次調(diào)用f(n)時(shí),n的值為2,不滿足條件”「==1",執(zhí)行returnf(n?

1)+1,在這條語(yǔ)句中又調(diào)用f(n-l)即f(l),從而得到t(2)的返回值為2。所以

j=1+2=3。

31、若有以下程序:#include(iostream)usingnamespacestd;intmain(){int

data|4].i,j,temp;for(i=O;i<4;i++)cin?data[i|;for(i=l;i<4;i++){j=i-1;temp=

data[i];while(data[j]>temp&&j>=0){data[j+l]=datafj];j--;}data[j+l]=temp;}

fbr(i=O;i<4;i++)cout<<data[i]〈cout<<endl;return0;|

A、2843

B、2348

C、8243

D、8432

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題屬于綜合題,考查數(shù)組和循環(huán)語(yǔ)句兩方面的知識(shí)。此題看起來(lái)很

復(fù)雜,其實(shí)不然,根據(jù)程序逐步分析:①在程序第1個(gè)for語(yǔ)句中,為數(shù)組dala

賦輸入的值,即2,8,4,3。②第2個(gè)for語(yǔ)句是嵌套式循環(huán),循環(huán)次數(shù)是3

次,即從1到3。第1次循環(huán)時(shí),i=l,執(zhí)行卞i-1”后,j=0,然后把data"]的值賦

給lemp,再進(jìn)入while循環(huán)。③while后的條件表達(dá)式“dala[j])temp&&j>=0”,

就是當(dāng)data剛大于temp,同時(shí)j不小于0時(shí)執(zhí)行while循環(huán)體。當(dāng)while條件表達(dá)

式成立時(shí),執(zhí)行"data[j+l]=data[j]”,即當(dāng)data剛大于datafj]大于data[j+l]時(shí),把它

們倆的值交換一下,以此類推,最后實(shí)現(xiàn)把數(shù)組中的數(shù)從小到大排列起來(lái)。④最

后?個(gè)for語(yǔ)句用于打印經(jīng)過(guò)程序處理后數(shù)組中的元素.

32、已知一個(gè)類Sample,()是定義指向類Sample成員函數(shù)的指針,假設(shè)類有三個(gè)

公有成員:voidfl(int),voidf2(int)和inta。

A^Sample*p

B、IntSamalc::*pc=&Samplc::a

C、Void(Sample::*Pa)()

D、Sample*P[10]

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無(wú)解析

33、關(guān)于虛函數(shù)下面說(shuō)的正確的是

A、若在堂定義虛修數(shù)時(shí)使用了vinual,則該堂定義困數(shù)還是虛函數(shù)

B、虛函數(shù)不能聲明為友元

C、子類必須重定義父類的虛函數(shù)

D、虛函數(shù)不能是static的

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:虛函數(shù)一定不能定義為靜態(tài)的。虛函數(shù)可以聲明為友元,子類也不是

必須重定義父類的虛函數(shù),若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)不

一定還是虛函數(shù)。

34、對(duì)下面的程序,正確的說(shuō)法是()。main。{inta,

b=l>c=2;a=b+c>a+b,c+3;c=(c)?a++;b—;

cout<<a+b,c;}

A、無(wú)錯(cuò)誤

B、第三行有錯(cuò)誤

C、第四行有錯(cuò)誤

D、第五行有錯(cuò)誤

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:第三行是由逗號(hào)表達(dá)式組成的語(yǔ)句,第四行是由條件表達(dá)式組成的語(yǔ)

句,第五行primf語(yǔ)句的輸出項(xiàng)為逗號(hào)表達(dá)式,本題沒(méi)芍語(yǔ)法錯(cuò)誤。

35,下列語(yǔ)句分別是不同程序中的第一個(gè)輸入輸出語(yǔ)句。若去抻其中的“VV

left",輸出效果將發(fā)生變化的是

A、cout<<left<<setfill(,*,)<<357;

B、coul<<left<<seiw⑸<<357;

C、cout<<lcft<<setw(5)<<"ABCDE";

D、cout<<left<<"ABCDE";

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:暫無(wú)解析

三、公共基礎(chǔ)填空題(本題共5題,每題L0分,共5

分。)

36、執(zhí)行下列語(yǔ)句,變量sum的值是ointsum=O;for(inti=l;i<=3;i++)

fbr(intj=l;j<=i:j++)sum++:

標(biāo)準(zhǔn)答案:6

知識(shí)點(diǎn)解析:暫無(wú)解析

37、在面向?qū)ο蠓椒ㄖ?,描述的是具有相似屬性與操作的一組對(duì)象。

標(biāo)準(zhǔn)答案:類

知識(shí)點(diǎn)3析:、在面向?qū)ο蠓椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象

的抽象,對(duì)象是類的實(shí)例。

38、在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為。

標(biāo)準(zhǔn)答案:n(n-l)/2

知識(shí)點(diǎn)解析:冒泡排序法是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)

線性表的長(zhǎng)度為n,則在最壞的情況卜,冒泡排序需要經(jīng)過(guò)n/2遍的從前往后的

掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-l)/2o

39、

設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:30),初始狀態(tài)為GonKrear-30.現(xiàn)經(jīng)過(guò)?系列入隊(duì)與退

隊(duì)運(yùn)算后?front=16,rear-15,則循環(huán)隊(duì)列中有_【2】個(gè)元素.

標(biāo)準(zhǔn)答案:29

知識(shí)點(diǎn)解析:暫無(wú)解析

40、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。

標(biāo)準(zhǔn)答案:對(duì)象

知識(shí)點(diǎn)解析:將屬性、操作相似的對(duì)象歸為類,也就是說(shuō),類是具有共同屬性、共

同方法的對(duì)象的集合。

四、填空題(本題共10題,每題上0分,共10分。)

41、我們通常用到的cin>>,是屬于輸入。

標(biāo)準(zhǔn)答案:有格式

知識(shí)點(diǎn)解析:暫無(wú)解析

42、內(nèi)聯(lián)函數(shù)是通過(guò)_____來(lái)實(shí)現(xiàn)的,因此內(nèi)聯(lián)函數(shù)是真正的函數(shù)。

標(biāo)準(zhǔn)答案:編譯器。

知識(shí)點(diǎn)解析:本題考查內(nèi)聯(lián)函數(shù)的基本概念。內(nèi)聯(lián)函數(shù)是通過(guò)編譯囂,只是在調(diào)

用的時(shí)候,像宏一樣展開。內(nèi)聯(lián)函數(shù)比普通函數(shù)的效率更高。

43、執(zhí)行下列程序后的輸出結(jié)果是o#includeusingnamespacestd;int

main(){intx=3;int&y=x:y++:cout<

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:C++程序中的引用實(shí)際上是為變量起個(gè)別名,其后的任何操作都相當(dāng)

于對(duì)原變量的操作。所以最后輸出4。

44、下列程序的輸出結(jié)果為2,請(qǐng)將程序補(bǔ)充完整。usingnamespacestd;classBase

public:[]voidfun(){cout<<l;}};classDerived:publicBase{public:voidfun()

{cout<<2;jintmain()(Base*p=newDerived;p->fun();deletep;returnO';}

標(biāo)準(zhǔn)答案:virtual

知識(shí)點(diǎn)解析:暫無(wú)解析

45、程序段的輸出結(jié)果是【】。inta=12,b=12;cout<<--a<<""<<++b;

標(biāo)準(zhǔn)答案:1113

知識(shí)點(diǎn)解析:暫無(wú)解析

46、C++語(yǔ)言標(biāo)識(shí)符是以字母或開頭的,由字母,數(shù)字和下劃線組成的字符

串。

標(biāo)準(zhǔn)答案:下劃線

知識(shí)點(diǎn)解析:暫無(wú)解析

47、多態(tài)具體體現(xiàn)運(yùn)行和編譯兩個(gè)方面,在程序運(yùn)行時(shí)的多態(tài)性通過(guò)繼承和

來(lái)體現(xiàn),而程序編譯時(shí)多態(tài)性體現(xiàn)函數(shù)和運(yùn)符的重載上。

標(biāo)準(zhǔn)答案:虛函數(shù)

知識(shí)點(diǎn)解析:擔(dān)無(wú)解析

48、虛函數(shù)必須是類的【】。

標(biāo)準(zhǔn)答案:成員函數(shù)

知識(shí)點(diǎn)解析:本題考核虛函數(shù)的概念。C++中,只有類的成員函數(shù)才能說(shuō)明為虛函

數(shù),這是因?yàn)樘摵瘮?shù)僅適用于有繼承關(guān)系的類對(duì)象,所以普通函數(shù)不能說(shuō)明為虛函

數(shù)。

49、多態(tài)性分為兩類:編譯時(shí)的多態(tài)性和【】。

標(biāo)準(zhǔn)答案:運(yùn)行時(shí)的多態(tài)性

知識(shí)點(diǎn)解析:本題考核C++的多態(tài)性。在C++語(yǔ)言中,多態(tài)性可分為兩類:編

譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。

5。、表達(dá)式x.opcrator+(y.opcrator++(0))還可以寫成【】。

標(biāo)準(zhǔn)答案:x+y++或x+(y++)

知識(shí)點(diǎn)解析:因?yàn)閥.operator++(0)是對(duì)成員y重載運(yùn)算符,所以是成員重載,在參

數(shù)表中又有一個(gè)參數(shù),是重載后綴++,即是x+(y++)。

家二級(jí)(C++)筆試模擬試卷第2套

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

70分。)

1、算法的空間復(fù)雜度是指

A、算法程序的長(zhǎng)度

B、算法程序中的指令條數(shù)

C、算法程序所占的存儲(chǔ)空間

D、算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:算法的空間復(fù)雜度指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。一個(gè)算法所占

用的存儲(chǔ)空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法

執(zhí)行過(guò)程中所需要的額外空間。正確答案為D。

2、數(shù)據(jù)庫(kù)系統(tǒng)的核心是

A、數(shù)據(jù)模型

B、數(shù)據(jù)庫(kù)管理系統(tǒng)

C、數(shù)據(jù)庫(kù)

D、數(shù)據(jù)庫(kù)管理員

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析;數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的核心,它對(duì)數(shù)據(jù)庫(kù)中的

數(shù)據(jù)進(jìn)行管理,還在用戶的個(gè)別應(yīng)用與整體數(shù)據(jù)庫(kù)之間起接口作用。選項(xiàng)B正

確。

3、下列選項(xiàng)中,不是一個(gè)算法的基本特征是()。

A、完整性

B、可行性

C、有窮性

D、擁有足夠的情報(bào)

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:作為一個(gè)算法,一般應(yīng)該具有4個(gè)特征:①可行性,即考慮到實(shí)際

的條件能夠達(dá)到一個(gè)滿意的結(jié)果;②確定性,算法中第一個(gè)步驟都必須是有明確

定義的;③有窮性,一個(gè)算法必須在有取的時(shí)間內(nèi)做完;④擁有足夠的情報(bào)。

下列關(guān)于函數(shù)的說(shuō)明中,正確的是().

A)內(nèi)聯(lián)的數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù)

B)函數(shù)體的■后一條語(yǔ)句必須是eue語(yǔ)句

C)標(biāo)準(zhǔn)C”■要求在調(diào)用一個(gè)南數(shù)之前,必須先聲明其原型

4、D)?譯器會(huì)根據(jù)函數(shù)的返回值類型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重或形式

A、

B、

「、

D、

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:此題考查的是有關(guān)函數(shù)的概念。內(nèi)聯(lián)函數(shù)是在函數(shù)定義之前加關(guān)鍵字

inline來(lái)聲明的函數(shù),而不是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù),故選項(xiàng)A)錯(cuò)誤;無(wú)

返回值的函數(shù)在執(zhí)行完最后一條語(yǔ)句后,會(huì)自動(dòng)返回而不必加入retunl語(yǔ)句,故選

項(xiàng)B)錯(cuò)誤;如果函數(shù)只是返問(wèn)值類型不同,而其他完全相同,則不能作為函數(shù)重

載來(lái)使用。

5、關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()

A、排序、索引、統(tǒng)計(jì)

B、選擇、投影、連接

C、關(guān)聯(lián)、更新、排序

D、顯小、打印、制表

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:暫無(wú)解析

6、模板對(duì)類型的參數(shù)化提供了很好的支持,因此

A、類模板的主要作用是生成抽象類

B、類模板實(shí)例化時(shí),編譯器將根據(jù)給出的模板實(shí)參牛.成一個(gè)類

C、在類模板中的數(shù)據(jù)成員都具有同樣類型

D、類模板中的成員函數(shù)都沒(méi)有返回值

標(biāo)準(zhǔn)答案;B

知識(shí)點(diǎn)解析:類模板是一個(gè)通用類,不知道其數(shù)據(jù)成員和成員函數(shù)的返回類型和形

參類型,系統(tǒng)會(huì)根據(jù)實(shí)參的類型來(lái)取代類模板中的虛擬類型從而實(shí)現(xiàn)不同類的功

能。類模板中的數(shù)據(jù)成員的類型并非一定要一致。

7、數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()。

A、數(shù)據(jù)與程序獨(dú)立存放

B、不同的數(shù)據(jù)被存放在不司的文件中

C、不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用

D、以上三種說(shuō)法都不對(duì)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:暫無(wú)解析

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)”操作

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:C是錯(cuò)誤的,其余為規(guī)定。

9、在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為

A、31

B、32

C、16

D、15

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:二叉樹的一個(gè)性質(zhì)是,在二叉樹的第k層上,最多有2k-l(k21)”個(gè)結(jié)

點(diǎn)。對(duì)于滿二叉樹,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有

2(上標(biāo))個(gè)結(jié)點(diǎn)。所以,在深度為5的滿二叉樹中,所有葉子結(jié)點(diǎn)在第5層上,即

其結(jié)點(diǎn)數(shù)為2匕1=25-1=16。

10、程序設(shè)計(jì)方法要求在程序設(shè)計(jì)過(guò)程中

A、先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再畫出程序的流程圖

B、先編制出程序,經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后再在程序中的適當(dāng)位置處加注釋

C、先畫出流程圖,再根據(jù)流程圖編制出程序,最后經(jīng)調(diào)試使程序運(yùn)行結(jié)果正確后

再在程序中的適當(dāng)位置處加注釋

D、以上三種說(shuō)法都不對(duì)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:程序設(shè)計(jì)的過(guò)程應(yīng)是先畫出流程圖,然后根據(jù)流程圖編制出程序,所

以選項(xiàng)A錯(cuò)誤。程序中的注釋是為了提高程序的可讀性,使程序易于理解、易于

維護(hù),注釋必須在編制程序的同時(shí)加入,所以,選項(xiàng)B和C錯(cuò)誤。本題的正確答

案為D。

二、選擇題(本題共25題,每題1.0分,共25分。)

11、C++中運(yùn)算符優(yōu)先級(jí)由高到低排列正確的是

A、::+++||

B、<*||,

C、sizeof%+::

D^,&&newsizeof

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:暫無(wú)解析

12、有關(guān)構(gòu)造函數(shù)的說(shuō)法中錯(cuò)誤的是

A、構(gòu)造函數(shù)名字和類的名字一樣

B、構(gòu)造函數(shù)在對(duì)象被創(chuàng)建時(shí)由系統(tǒng)自動(dòng)調(diào)用

C、構(gòu)造函數(shù)無(wú)任何函數(shù)類型

D、構(gòu)造函數(shù)有且只有一個(gè)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考察構(gòu)造函數(shù)的定義和使用。構(gòu)造函數(shù)可以重載,故不可能只有

一個(gè)。

13、靜態(tài)成員函數(shù)沒(méi)有

A、返回值

B、this指針

C、指針參數(shù)

D、返回類型

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:this指針是系統(tǒng)隱含的用于指向當(dāng)前對(duì)象的指針。由于靜態(tài)函數(shù)是同

類中所以對(duì)象都共享的函數(shù),在內(nèi)存當(dāng)中只存在一份,不屬于某個(gè)對(duì)象所有,所以

靜態(tài)函數(shù)沒(méi)有this指針。

14、考慮以下的函數(shù)原型:voidA(inta,intb=5,charZ=+);下面的函數(shù)調(diào)用

中,不正確的是()。

A、A(7)

B、A(3,4)

C、16,

D、A(0,2,'*

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:A、B項(xiàng)中,實(shí)參不全,缺省的參數(shù)默認(rèn)為函數(shù)原型中的初始值,但

在C項(xiàng)中,第二個(gè)實(shí)參(char型)與函數(shù)厚型中的第二個(gè)形參類型不一致,故C項(xiàng)錯(cuò)

誤。

15、以下不能作為輸出流對(duì)象的是

A、文件

B、內(nèi)存

C、鍵盤

D^顯示器

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:輸出流對(duì)象包括基本的輸出設(shè)備,如顯示器,內(nèi)存和文件,而輸入流

對(duì)象則包括鍵盤,文件以及其他輸入設(shè)備。

16.有如下函數(shù)模板聲明:template<typenameT>TMax(Ta,T

b){return(a)b)?a:b;}下列對(duì)函數(shù)模板Max。的調(diào)用中錯(cuò)發(fā)的是()。

A、Max(3.5,4.5)

B、Max(3.5,4)

C、Max(double)(3.5,4.5)

D、Max(double)(3.5?4)

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:本題考查的是函數(shù)模板的引用。引用模板因數(shù)和引用?般函數(shù)在語(yǔ)

法形式上基本相同。需要注意的是,說(shuō)明一個(gè)函數(shù)模板后,當(dāng)編譯系統(tǒng)發(fā)現(xiàn)有一個(gè)

對(duì)應(yīng)的函數(shù)調(diào)用時(shí),將根據(jù)實(shí)參中的類型來(lái)確認(rèn)是否調(diào)用函數(shù)模板中的對(duì)應(yīng)形參。

本意選項(xiàng)B中,編譯系統(tǒng)從第?個(gè)參數(shù)“3.5”獲得信息“double型數(shù)據(jù)”和從第二個(gè)

參數(shù)獲得信息“int型數(shù)據(jù)”兩者矛盾,

17、下列關(guān)于虛函數(shù)的描述中,正確的是()。

A、虛函數(shù)是一個(gè)static類型的成員函數(shù)

B、虛函數(shù)是一個(gè)非成員函數(shù)

C、基類中采用virtual說(shuō)明一個(gè)虛函數(shù)后,派生類中定義相同原型的函數(shù)時(shí)可不必

力「virtual說(shuō)明

D、派生類中的虛函數(shù)與基類中相同原型的虛函數(shù)具有不同的參數(shù)個(gè)數(shù)或類型

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在成員函數(shù)聲明的前面加上virtual關(guān)鍵宇印杷該函數(shù)聲明為虛函

數(shù)。虛函數(shù)可以是另一個(gè)類的友元函數(shù),但不是靜態(tài)成員函數(shù)。在派生類中可以重

新定義從基類繼承下來(lái)的虛函數(shù),在派生類中重定義虛困數(shù)時(shí),函數(shù)名、形參表和

返回值類型必須保持不變。

18、已知類A有公用數(shù)據(jù)成員a,并重載了“=''運(yùn)算符,且有Aobj2;constA*ptr

newA;則下列語(yǔ)句錯(cuò)誤的是()。

A、ptr->a=100;

B、ptr=&obj2;

C、ptr++;

obj2=*ptr;

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析;本題考查const修飾符的作用。注意:consi位置不同,其修飾的部

分也是不同的。本題中const修飾的是pir所指的對(duì)象本身,所以,pu?是可以重新

指向新的對(duì)象,而ptr->a則無(wú)法被更新。

19、有如下程序:#include<iomanip>#includc<iostream>usingnamespacestd;

intmain(){cout<<setfill(,*,)<<setw(6)<<I23<<456;return0;}運(yùn)行時(shí)的輸出

結(jié)果是()。A)***123***456B)***123456***C)***123456D)123456

A、

B、

C、

D、

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:暫無(wú)解析

20、重載輸入流運(yùn)算符>>必須使用的原型為()。

A^istream&operator>>(islream&,<類名>&);

Bxistream&operator>>(i$iream,<類名〉);

C、istreamoperator>>(istream,<類名>&);

D、<類名>operator>>(istream&,<類名>&);

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無(wú)解析

21、以下程序的輸出結(jié)果是()。#include<iostream>usingnamespacestd:int

main。{cout.fill('*');cout.width(5):cout<<hex<<IOO<<endl;return():}

A、**100

B、***64

C、100**

D、64***

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

22、關(guān)于getlineO函數(shù)的卜.列描述中,錯(cuò)誤的是()。

A、該函數(shù)可以用來(lái)從鍵盤上讀取字符串

B、該函數(shù)讀取的字符串長(zhǎng)度是受限制的

C、該函數(shù)讀取字符串時(shí):遇到終止符時(shí)便停止

D、該函數(shù)中所使用的終止符只能是換行符

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:暫無(wú)解析

23、以下關(guān)于C++語(yǔ)言類的說(shuō)法中正確的是

A、C++語(yǔ)言的默認(rèn)訪問(wèn)權(quán)限是private

B、C++語(yǔ)言中的類定義,用戶一定要自己定義一個(gè)構(gòu)造函數(shù)用于實(shí)例化類

C、C++語(yǔ)言中的成員函數(shù)的實(shí)現(xiàn)部分一定要寫在類定義外

D、C++語(yǔ)言中的類不能夠嵌套定義

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:C++語(yǔ)言的默認(rèn)訪問(wèn)權(quán)限修飾符是private。注意:C++語(yǔ)言中的構(gòu)造

函數(shù)是系統(tǒng)默認(rèn)就有的,用戶可以自己定義也可以不定義,故選項(xiàng)B)錯(cuò)誤;C++

語(yǔ)言的類是可以嵌套定義的,故選項(xiàng)D)錯(cuò)誤;C++語(yǔ)言中成員函數(shù)的實(shí)現(xiàn)部分也

可以寫在類定義內(nèi),故選項(xiàng)C)錯(cuò)誤。注意:函數(shù)不能嵌套定義。

24、下面程序的運(yùn)行結(jié)果為#加沁(16〈沁51g111.h>classA{staticintn;public:

A(){n=l;}A(intnum){n=num;}voidprint(){cout<<n;});intA::n=2;void

main(){Aa,b(3);a.print()?b.print();cout<<endl;}

A、11

B、13

C、23

D、33

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:本題考查的是靜態(tài)數(shù)據(jù)成員的使用,n為類A的靜態(tài)成員,即為類A

的所有對(duì)象共有的成員,所以,當(dāng)對(duì)象b把n初始化為3時(shí),對(duì)象a的成員n的值

也為3(這兩個(gè)n實(shí)際上是同一個(gè))。

25、下面關(guān)于數(shù)組的描述錯(cuò)誤的是

A、在C++語(yǔ)言中數(shù)組的名字就是指向該數(shù)組第一個(gè)元素的指針

B、長(zhǎng)度為n的數(shù)組,下標(biāo)的范圍是。?n-1

C、數(shù)組的大小必須在編譯時(shí)確定

D、數(shù)組只能通過(guò)值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:本題考查的是數(shù)組的基本使用,數(shù)組還可以通過(guò)對(duì)應(yīng)的指針調(diào)用傳遞

參數(shù),其余選項(xiàng)的說(shuō)法都是正確的。

26、下列程序輸出的結(jié)果是()。#include<stdio.h>sub1(chara,charb)(chare:

c=a:a=b:b=c;}sub2(char*a,charb){chare:c=*a;"a=b:h=c;}suh3(char*a,

char*b){chare;c=*a;,,a=xb;*b=c;}voidmain。{chara,b;a='A';

b='B':subl(a,b);pulchar(a):putchar(b):a='A';b=,B,:sub2(&a,b);

putchar(a);putchar(b);a='A';b='B';sub3(&a,&b):putchar(a);putchar(b);

putchar(,\n,);}

A、ABABAB

B、ABBBBA

C、ABBABA

D、ABABBA

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無(wú)解析

27、下面程序的執(zhí)行結(jié)果為^nclude^iostream"usingnamespacestd;classA{int

a;public:voidSeta(intx)[a=x;)voidDisplay_a(){cout<<a<<endl;});

classB{intb:public:voidSetb(intx){b=x;}voidDispaly-b(){cout<<b<<

endl;}};classC:publicA,privateB{private:intc;public:voidSetc(intx>

inty>intz){c=z;Scta(x);Setb(y);}voidDisplay_c(){cout<<c<<endl:}};

①voidmain()②{③Ccc;@cc.Seta(l);@cc.Display_a();⑥

cc.Setc(2,2,3);⑦cc.Dispaly-b();(8)cc.Display_c();}

A、輸出為223

B、有錯(cuò)誤在第5行

C、輸出為123

D、有錯(cuò)誤在笫7行

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:private繼承不能調(diào)用Display5函數(shù),public繼承可以調(diào)用基類中非

private成員。注意:類的繼承方式public,prolecled和private的區(qū)別。

28、下列關(guān)于虛基類的描述中,錯(cuò)誤的是()。

A、虛基類子對(duì)象的初始化由派生類完成

B、虛基類子對(duì)象的初始化次數(shù)與虛基類下面的派生類的個(gè)數(shù)有關(guān)

C、設(shè)置虛基類的目的是消除二義性

D、帶有虛基類的多層派生類構(gòu)造函數(shù)的成員初始化列表中都要列出對(duì)虛基類構(gòu)造

函數(shù)的調(diào)用

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題考核虛基類的初始化。從虛基類直接或間接派生的派生類的構(gòu)造

函數(shù)的成員初始化列表中都要列出對(duì)虛基類構(gòu)造函數(shù)的調(diào)用,但只有用于建立對(duì)象

的派生類的構(gòu)造函數(shù)調(diào)用虛基類的構(gòu)造函數(shù),而該派生類的所有基類中列出的對(duì)虛

基類的構(gòu)造函數(shù)的調(diào)用在執(zhí)行中被忽略,從而保證了對(duì)虛基類子對(duì)象只初始化一

次。

29、如下程序的執(zhí)行結(jié)果是#include<iostream.h>voidmain()

{staticinta[]={1,7,3,9,5,11};int*p=a;*(p+3)+=4;

cout<<*p<<%"<<*(p+3):}

A、1,13

B、1,16

C、3,13

D、1,14

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:指針數(shù)組的定義、賦初值、數(shù)組元素的引用與賦值等操作和一般數(shù)組

的處理方法基本相同。需要注意指針數(shù)組是指針類型的,對(duì)其元素所賦的值必須是

地址值。其格式是“存儲(chǔ)類型數(shù)據(jù)類型*指針數(shù)組名1[長(zhǎng)度1]={初值1},功能是定

義指向“數(shù)據(jù)類型”變量或數(shù)組的指針型數(shù)組,同時(shí)給指針數(shù)組元素賦初值。這些指

針變量具有指定的“存儲(chǔ)類型”。本題中指針*p指向數(shù)組a,表達(dá)式*(p+3)+=4的

含義是*(P+3)=*(p+3)+4,而*(p+3)在數(shù)組中指向的值為9,最后輸出的結(jié)果為

9+4=13,注意:一個(gè)語(yǔ)句的結(jié)束要有分號(hào)。

30、判斷char型變量c是否為小寫字母的正確表達(dá)式是

,,,,

A、a<=c<=2

B、(c>=A)&&(c<=z)

C、('a'>=c)||('z'<=c)

D、(c>='a')&&(cV='z')

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCH碼存儲(chǔ)的,英文大寫字母和小

寫字母在ASCII碼表中都是連續(xù)的。大寫字母A~Z是從65~90,小寫字母a~z是

從97~122。所以只要變量c大丁等丁a并且等丁小丁z就能保證其為小寫字母。

31、下列關(guān)于C++語(yǔ)言類的描述中錯(cuò)誤的是

A、類用于描述事物的屬性和對(duì)事物的操作

B、類與類之間通過(guò)封裝而具有明確的獨(dú)立性

C、類與類之間必須是平等的關(guān)系,而不能組成層次結(jié)構(gòu)

D、類與類之間可以通過(guò)一些方法進(jìn)行通信和聯(lián)絡(luò)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:C++語(yǔ)言中的類是可以組成層次結(jié)構(gòu)的,類是用于描述事物的屬性和

對(duì)事物的操作,類與類之同有相對(duì)的獨(dú)立性,但其可以通過(guò)一些方法進(jìn)行信息的通

信3

32、假定其中的x的單位是角度且不考慮兀值的精度,則與數(shù)學(xué)公式,lcos(x)|等

價(jià)的C++語(yǔ)言表達(dá)式是

A、sqrt(cos(x))

B、sqrt(abs(cos(x*3.14/180)))

C、sqrt(abs(cos(x*(/l80)))

D、sqrt(fabs(cos(x*3.14/180)))

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考杳數(shù)學(xué)表達(dá)式的掌握,首先應(yīng)轉(zhuǎn)換為弧度,然后作為COS函

數(shù)的參數(shù),求絕對(duì)值,最后是開方函數(shù)。考生需要掌握的是常用的數(shù)學(xué)函數(shù)。

33、通常初始化用貝構(gòu)造區(qū)數(shù)的參數(shù)是

A、某個(gè)對(duì)象名

B、某個(gè)對(duì)象的成員名

C、某個(gè)對(duì)象的引用名

D、某個(gè)對(duì)象的指針名

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:拷貝構(gòu)造函數(shù)顧名思義,就是對(duì)兩個(gè)對(duì)象進(jìn)行拷貝生成。因此,其參

數(shù)是指向某個(gè)對(duì)象的指針。

34、關(guān)于關(guān)鍵字class和typename,下列表述中正確的是

A、程序中的typename都可以替換為class

B、程序中的class都可以替換為typename

C、在模板形參表中只能用typename來(lái)聲明參數(shù)的類型

D、在模板形參表中只能用class或typename來(lái)聲明參數(shù)的類型

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:本題考查了class和typename兩個(gè)關(guān)鍵字。關(guān)鍵字class除了能用來(lái)

定義類以外,還能用來(lái)聲明模板的虛擬類型參數(shù)。在用作聲明虛擬類型參數(shù)時(shí)

typename與class可以互換,但不能使用typename宋定義類。因此,選項(xiàng)B和C

是錯(cuò)誤的。在模板形參表中除了可以用typename或class聲明虛擬類型參數(shù)外,還

可以使用普通類型聲明常規(guī)參數(shù),所以選項(xiàng)C是錯(cuò)誤的。故本題應(yīng)該選擇A。

35、有如卜程序:#includeusingnamespacestd;classToy(public:

Toy(char*_n){strcpy(name,_n);count++;}~Toy()(count—;}

char*GetName(){returnname;}staticintgelCount(){returncount;}private:char

namc|10];staticintcount;};intToy::count=O:intmain(){Toy

tl(uSnoopy,,)?t2("Mickey”),t3("Barbie”);cout<

A、1

B、2

C、3

D、運(yùn)行時(shí)出錯(cuò)

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:count為Toy類的靜態(tài)變量,每定義一個(gè)TOy類的對(duì)象即在構(gòu)造函數(shù)

中對(duì)count變量進(jìn)行加1的噪作。程序中一共定義了3個(gè)時(shí)象,所以count=3,故

選C)。

三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5

分。)

36、有如下程序:#include<iostreain>usingnamespacestd;classA{public:virtual

voidf(){cout<<"r,;}};classB:publicA{public:B(){cout<<"2";}};classC:public

B{public:virtualvoidf(){B::f();cout<<"3";}};intmain(){Aaa,*p;Bbb;Ccc;

p=&cc;p->f();return0;}執(zhí)行上面程序的輸出是。

標(biāo)準(zhǔn)答案:2213

知識(shí)點(diǎn)解析:暫無(wú)解析

37、在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫(kù)管理系統(tǒng)位于用戶和【】之間。

標(biāo)準(zhǔn)答案:操作系統(tǒng)或OS

知識(shí)點(diǎn)解析:暫無(wú)解析

38、在關(guān)系代數(shù)運(yùn)算中,并、笛卡爾積、投影、選擇和【】為基本的運(yùn)算。

標(biāo)準(zhǔn)答案:差

知識(shí)點(diǎn)解析:暫無(wú)解析

39、在面向?qū)ο蠓椒ㄖ?,允許作用于某個(gè)對(duì)象上的操作稱為【】。

標(biāo)準(zhǔn)答案:方法

知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ?,方法是指允許作用于某個(gè)對(duì)象上的各種操作。允

許作用于某個(gè)對(duì)象上的操作稱為方法。

40、C++在重載運(yùn)算將中,如用成員函數(shù)重載一元運(yùn)算符參數(shù)表中需要個(gè)

參數(shù),如用友元函數(shù)重載一元運(yùn)算符參數(shù)表中需要個(gè)參數(shù)。

標(biāo)準(zhǔn)答案:01

知識(shí)點(diǎn)解析:暫無(wú)解析

四、填空題(本題共10題,每題1?0分,共10分。)

41、請(qǐng)將下列類定義補(bǔ)充完整classBase{public:voidfun(i{cout<<"Base::fun"<<

endl;}};classDerived:publicBase{public:voidfun(){//顯式調(diào)用基類的fun

函數(shù)coutVV"Derived::fun"VVendl;||;

標(biāo)準(zhǔn)答案:Base::fun();

知識(shí)點(diǎn)解析:本題考核虛基類。作用域分辨符號(hào)是它可以用來(lái)限定要訪問(wèn)的

成員所在的類的名稱。一般來(lái)說(shuō),在派生類中對(duì)基類成員的訪問(wèn)應(yīng)該是惟一的.但

是,多繼承情況下可能造成對(duì)基類中某個(gè)成員的訪問(wèn)出現(xiàn)不惟一的情況,通過(guò)使用

對(duì)象作用域分辨符可以解決這種對(duì)基類成員訪問(wèn)的;義性問(wèn)題。

42、下列程序的運(yùn)行結(jié)果是o#include<iostream.h>classSample{inta;

public:Sample(intaa=0){a=aa;)Sample(){cout-<<HSample="<<a<<**;});

classDerived:publicSample|intb;public:Derived(intaa=0.int

bb=0):Sample(aa)(b=bb;}?Derive"){cout<<"Derived="<<b<<H;}};void

main(){Deriveddl(9);}

標(biāo)準(zhǔn)答來(lái):Derived=0Sample=9

知識(shí)點(diǎn)解析:本題考察派生類和基類的構(gòu)造函數(shù),析構(gòu)函數(shù)的執(zhí)行順序。

43、有如下程序:^includeusingnamespacestd;classA{public:

A(){coutvv"A";}—A(){coutvv"A";});classB{Aa:public:

B(){cout<v"B":}'B(){coutvv"B":}};intmain(){Bb;return0:}程序的輸出

結(jié)果是。

標(biāo)準(zhǔn)答案:ABBA

知識(shí)點(diǎn)解析:此題考查的是類的構(gòu)造與析構(gòu)。建立類的對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順

序如下:執(zhí)行基類的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類被繼承時(shí)聲明的順序(自左

向右),執(zhí)行成員對(duì)象的構(gòu)迨函數(shù),調(diào)用順序按照各個(gè)成員對(duì)象在類中聲明的順序

->執(zhí)行自身的構(gòu)造函數(shù)。析構(gòu)順序與之相反。此題中,B類沒(méi)有基類,但是有一個(gè)

A類的成員a.所以構(gòu)造B類對(duì)象時(shí),先構(gòu)造成員a再構(gòu)造自身。因此,構(gòu)造時(shí)輸

出的結(jié)果是AB,析構(gòu)與構(gòu)盤順序相反會(huì)播出BA。所以程序最終輸出結(jié)果是

ABBA。

44、下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類的數(shù)據(jù)成員int*a,申請(qǐng)時(shí)使

用形參b初始化a,請(qǐng)?zhí)羁?。classA{public:A(intb);?A();private:int*a;);

A::A(intb){;}A::?A(){;}

標(biāo)準(zhǔn)答案:a=He\vint(b)deletea

知識(shí)點(diǎn)解析:C++中new和delete的使用有如下幾種:①a=newint;deletea;②a

=newinl(10);deletea;@a=Hewint[10];delete[]a;。

45、對(duì)指定類型對(duì)象動(dòng)態(tài)分配內(nèi)存并返回該類型的指針的是使用【】運(yùn)算符來(lái)完

成的。

標(biāo)準(zhǔn)答案:new

知識(shí)點(diǎn)解析:new運(yùn)算符對(duì)指定類型對(duì)象動(dòng)態(tài)分配內(nèi)存并返回該類型的指針。

46、以下程序的輸出結(jié)果是[]。#include<iostream.h>viodmain(){charsl[5]=

"ABCD",s2=[5J;intk;for(k=0;k<4:k++)s2[k]=(sl[k]」0'+1)+'O';s2[k]=,\0,;cout

<<s2;

標(biāo)準(zhǔn)答案:BCDE

知識(shí)點(diǎn)解析:暫無(wú)解析

47、有如卜的程序:#include<iostream>usingnamespacestd:classAT{friend

ostream&operator<<(ostream&,AT);}at;ostream&operator<<(ostream&

os,AT){returnos<<,@,;}intmain(){cout<<"MyHome"<<at<<

'?isH";}執(zhí)行上面的程序?qū)⑤敵鯻____。

標(biāo)準(zhǔn)答案:Myhome@isH

知識(shí)點(diǎn)解析:暫無(wú)解析

48、operator是運(yùn)算符重載時(shí)必須使用的關(guān)鍵字,它和被重載的運(yùn)算符連在一起,

作為運(yùn)算符函數(shù)的專用函數(shù)名,務(wù)必把該函數(shù)說(shuō)明為的。

標(biāo)準(zhǔn)答案:public

知識(shí)點(diǎn)解析:暫無(wú)解析

49、刈于下面定義的類MyClass,請(qǐng)?jiān)诤瘮?shù)f()中添加刈象成員把n的值修改為

50。classMyClass{public:MyClass(intx){n=x;}voidSetNum(intnl){n=nl;}

private:intn:};intf(){MyClass*ptr=newMyClass(45);[]}

標(biāo)準(zhǔn)答案:ptr->SetNum(50);

知識(shí)點(diǎn)解析:本題考查的是考生使用對(duì)象指針調(diào)用成員函數(shù)的能力,指針調(diào)用成員

函數(shù)應(yīng)該使用符號(hào)

50、下列程序的執(zhí)行結(jié)果為[]。#inciude<iostream,h>intf(inti){return+

+i;}intg(int&i){return++i;}voidmain(){inta,b:a=b=0;a+=f(g(A))

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論