版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vb循環(huán)結(jié)構(gòu) 課程設(shè)計(jì)
- 2025西藏日喀則市江孜縣司法局補(bǔ)聘專職人民調(diào)解員1人備考核心題庫(kù)及答案解析
- 2025 九年級(jí)語(yǔ)文下冊(cè)名著主題多維度解讀課件
- 高中生對(duì)AI在空間站自主生命維持決策的技術(shù)理解分析課題報(bào)告教學(xué)研究課題報(bào)告
- 2025年智能投影儀便攜與高清五年報(bào)告
- 2025年直播電商供應(yīng)鏈可持續(xù)發(fā)展五年報(bào)告
- 2025湖南衡陽(yáng)市衡陽(yáng)縣衛(wèi)健系統(tǒng)招聘專業(yè)技術(shù)人員48人筆試重點(diǎn)試題及答案解析
- 2025年內(nèi)蒙古農(nóng)村商業(yè)銀行管理人員及專業(yè)人才公開招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 2025貴州康體旅投發(fā)展有限公司實(shí)習(xí)生招聘2人考試重點(diǎn)試題及答案解析
- 2025山西朔州市公安局招聘留置看護(hù)崗位輔警260人備考核心題庫(kù)及答案解析
- 牛頓介紹課件
- 氧化還原反應(yīng)的電化學(xué)基礎(chǔ)試題及答案
- 子女買父母房子合同協(xié)議
- 大家的經(jīng)濟(jì)學(xué)
- 【MOOC】通 用英語(yǔ)(一)-東北大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 《開發(fā)客戶的技巧》課件
- 鄉(xiāng)村道路建設(shè)施工組織設(shè)計(jì)方案
- JGJT303-2013 渠式切割水泥土連續(xù)墻技術(shù)規(guī)程
- 三里坪小學(xué)2014秋季期末成績(jī)匯總表
- 三角形的內(nèi)角和與外角和教案
- 2020北京豐臺(tái)六年級(jí)(上)期末英語(yǔ)(教師版)
評(píng)論
0/150
提交評(píng)論