




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
試卷科目:C++開發(fā)基礎(chǔ)C++開發(fā)基礎(chǔ)(習(xí)題卷10)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC++開發(fā)基礎(chǔ)第1部分:單項(xiàng)選擇題,共156題,每題只有一個正確答案,多選或少選均不得分。[單選題]1.當(dāng)一個類A中沒有聲明任何成員變量與成員函數(shù),sizeof(A)的值是多少?A)0B)1C)4答案:B解析:[單選題]2.對重載函數(shù)形參的描述中,錯誤的是()。A)參數(shù)的個數(shù)可能不同B)參數(shù)的類型可能不同C)參數(shù)的順序可能不同D)參數(shù)的個數(shù)、類型、順序都相同,只是函數(shù)的返回值類型不同答案:D解析:[單選題]3.以下代碼片段的輸出結(jié)果是。()unionstudent{Struct{intx,y,z;}i;intk;}a;a.i.x=4;a.i.y=5;a.k=0;printf(""%d"",a.i.x);"A)4B)0C)5D)9答案:B解析:[單選題]4.如果定義:floata[10],x;則以下敘述中正確的是()A)語句a=&x;是非法的B)表達(dá)式a+1是非法的C)三個表達(dá)式a[1]、*(a+1)、&a[1]代表的變量互不相同D)表達(dá)式*&a[1]是非法的,應(yīng)該寫成*(&(a[1]))答案:A解析:B選項(xiàng)中,表達(dá)式a+1不是非法的;C選項(xiàng)中,*(a+1)即指a[1];D選項(xiàng)中,*&a[1]不是非法的。因此A選項(xiàng)正確。[單選題]5.下列為文件的擴(kuò)展名,能被計(jì)算機(jī)直接執(zhí)行的是()。A)cppB)oC)exeD)h答案:C解析:[單選題]6.下列對派生類的描述中錯誤的說法是:()。A)派生類至少有一個基類B)派生類可作為另一個派生類的基類C)派生類除了包含它直接定義的成員外,還包含其基類的成員D)派生類所繼承的基類成員的訪問權(quán)限保持不變答案:D解析:[單選題]7.以下描述錯誤的是_________A)無論何種繼承方式,在派生類內(nèi)部均不可以直接訪問基類的私有成員;B)無論何種繼承方式,在派生類內(nèi)部均可以直接訪問基類的公有成員。C)無論何種繼承方式,在派生類內(nèi)部均可以直接訪問基類的保護(hù)成員。D)通過派生類對象,可以直接訪問以公有繼承方式繼承的基類的公有成員和保護(hù)成員。答案:D解析:[單選題]8.若有以下函數(shù)首部,則下面針對此函數(shù)的函數(shù)聲明語句中正確的是________。intfun(doublex[10],int*n)A)intfun(doublex,int*n);B)intfun(doublex,intn);C)intfun(double*,int*);D)intfun(double*,int&);答案:C解析:[單選題]9.循環(huán)隊(duì)列存儲在數(shù)組A[0..m]中,則入隊(duì)時的操作為A)rear=rear+1B)rear=(rear+1)mod(m-1)C)rear=(rear+1)modmD)rear=(rear+1)mod(m+1)答案:D解析:[單選題]10.已知定義inta=1,b=2,c=3;則表達(dá)式a>b?(a>c?a:c):b的值為()。A)1B)2C)3D)不確定答案:B解析:[單選題]11.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()A)A,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point答案:D解析:[單選題]12.ASCII碼(含擴(kuò)展ASCII碼)可以用一個字節(jié)表示,則可以表示的ASCII碼值個數(shù)為_____。(題)A)1024B)512C)256D)128答案:C解析:[單選題]13.[默認(rèn)繼承方式]有類定義如下:ClassA{};classB{};ClassC:publicA,B{};則下列說法正確的是:A)C類公有繼承了A類和B類B)C類公有繼承A類,私有繼承B類C)語法錯誤,一個類不能繼承兩個類D)語法錯誤,繼承時必須寫明繼承方式答案:B解析:[單選題]14.在下列成對的表達(dá)式中,運(yùn)算符?+?的意義不相同的一對是()A)5.0+2.0和5.0+2B)5.0+2.0和5+2.0C)5.0+2.0和5+2D)5+2.0和5.0+2答案:C解析:[單選題]15.下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是A)setprecisionB)showpointC)setfillD)setw答案:A解析:[單選題]16.判斷字符型變量ch是否為大寫英文字母,應(yīng)使用表達(dá)式()。A)ch>='A'&ch<='Z'B)ch>='A'&&ch<='Z'C)'A'<=ch<='Z'D)ch<='A'||ch>='Z'答案:B解析:[單選題]17.希爾排序算法中,最后一趟排序的地址增量一定是下面的哪種情況()。A)nB)n/2C)1D)任意值答案:C解析:[單選題]18.設(shè)某棵二叉樹中有2000個結(jié)點(diǎn),則該二叉樹的最小高度為A)9B)10C)11D)12答案:C解析:[單選題]19.函數(shù)fun計(jì)算prod=1*2*3*…*n,并返回計(jì)算結(jié)果值。但當(dāng)n=100時,程序不正確。要找出該程序的錯誤,正確的調(diào)試方法是()。intfun(intn){intprod,i;prod=1;for(i=1;i<=n;i++)prod*=i;returnprod;}A)監(jiān)視變量prod的值,在prod*=i;行處設(shè)置斷點(diǎn),然后單步運(yùn)行,直到發(fā)現(xiàn)錯誤原因B)監(jiān)視變量prod的值,在returnprod;行處設(shè)置斷點(diǎn),程序中斷后,即可發(fā)現(xiàn)錯誤原因C)在prod=1;處設(shè)置斷點(diǎn),然后在函數(shù)調(diào)用堆棧中即可發(fā)現(xiàn)錯誤原因D)監(jiān)視變量i的值,在for(i=1;i答案:A解析:prod的值會溢出!監(jiān)視該值.[單選題]20.在C++語言中,自定義的標(biāo)識符()。A)能使用關(guān)鍵字并且區(qū)分大小寫B(tài))不能使用關(guān)鍵字并且區(qū)分大小寫C)能使用關(guān)鍵字并且不區(qū)分大小寫D)不能使用關(guān)鍵字并且不區(qū)分大小寫答案:B解析:[單選題]21.intget();的功能是A)讀入一個字符串并返回它的值B)讀入一個字符并返回它的值C)輸出一個字符串D)輸出一個字符答案:B解析:[單選題]22.欲使下列程序輸出?Point:(1,1),Radius:6?,下列填空錯誤的是______。A)第(1)空填Point(x,y)B)第(1)空填x=1,y=1C)第(2)空填Point(c)D)第(2)空填Point(c.x,c.y)答案:B解析:[單選題]23.下列函數(shù)中,不能重載運(yùn)算符的函數(shù)是()。A)成員函數(shù)B)構(gòu)造函數(shù)C)普通函數(shù)D)友員函數(shù)答案:B解析:[單選題]24.#includeusingnamespacestd;classDATA{DATA(inta,intb)//1{x=a;y=b;}voidshow(){cout<A)第1行開始的構(gòu)造函數(shù)定義語法有錯誤B)第2行中不能直接訪問x和yC)第3行建立obj對象時,無法調(diào)用構(gòu)造函數(shù)D)第4行obj可以調(diào)用show函數(shù)答案:C解析:[單選題]25.以下哪個不是容器操作函數(shù)()A)assignB)swapC)eraseD)length答案:D解析:[單選題]26.二叉樹T的前序遍歷序列和中序遍歷序列分別是bdcaef和cdeabf,則其后序遍歷序列為A)ceadfbB)feacdbC)eacdfbD)以上都不對答案:A解析:[單選題]27.二叉樹是非線性數(shù)據(jù)結(jié)構(gòu),所以()。A)它不能用順序存儲結(jié)構(gòu)存儲B)它不能用鏈?zhǔn)酱鎯Y(jié)構(gòu)存儲C)順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)都能存儲D)順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)都不能使用答案:C解析:[單選題]28.有如下語句序列:Intk=0;Do{k+=5;cout<<'$';}while(k<19);While(k-->0)cout<<'*';執(zhí)行上面的語句序列輸出字符$和*的個數(shù)分別是()。A)4和20B)5和20C)4和21D)5和21答案:A解析:[單選題]29.關(guān)于字符常量的寫法,錯誤的是()。A)"a"B)'/'C)'\0'D)'\a'答案:A解析:[單選題]30.一個函數(shù)為voidx(int,charch=?a?),另一個函數(shù)為voidx(int),則它們________。A)可以在同一程序中定義,但不可以重載B)不能在同一程序中定義C)可以在同一程序中定義并可重載D)以上說法均不正確答案:A解析:[單選題]31.map的底層數(shù)據(jù)結(jié)構(gòu)是?A)數(shù)組B)鏈表C)紅黑樹D)哈希表答案:C解析:[單選題]32.以下描述對應(yīng)哪種排序算法:對待排序進(jìn)行劃分為左、右兩個子序列,對兩個子序列進(jìn)行同樣的排序操作,直到子序列為空或只剩下一個元素為止。A)冒泡排序B)折半插入排序C)快速排序D)希爾排序答案:C解析:[單選題]33.有定義如下:inta[5],*p=a;則下列描述錯誤的是_______。A)表達(dá)式p=p+1是合法的B)表達(dá)式a=a+1是合法的C)表達(dá)式p-a是合法的D)表達(dá)式a+2是合法的答案:B解析:[單選題]34.內(nèi)聯(lián)函數(shù)的特點(diǎn)是()A)減少代碼量,加快訪問速度B)減少代碼量,減緩訪問速度C)增加代碼量,減緩訪問速度D)增加代碼量,加快訪問速度答案:D解析:為了避免這種頻繁的函數(shù)調(diào)用與返回,加快執(zhí)行速度,C++語言引入了內(nèi)聯(lián)函數(shù)的概念。使用內(nèi)聯(lián)函數(shù),編譯器在編譯時并不生成函數(shù)調(diào)用,而是將程序中出現(xiàn)的每一個內(nèi)聯(lián)函數(shù)的調(diào)用表達(dá)式直接用該內(nèi)聯(lián)函數(shù)的函數(shù)體進(jìn)行替換,就像整個函數(shù)體在調(diào)用處被重寫了一遍一樣。很顯然,使用內(nèi)聯(lián)函數(shù)會使最終可執(zhí)行程序的體積增大。故綜上,內(nèi)聯(lián)函數(shù)增加代碼量,加快訪問速度。[單選題]35.下列設(shè)置函數(shù)參數(shù)默認(rèn)值的說明語句中,錯誤的是______。A)intfun(intx,inty=10)B)intfun(intx=5,int=10)C)intfun(intx=5,inty)D)intfun(intx,inty=a+b)答案:C解析:[單選題]36.運(yùn)行如下程序段,輸出結(jié)果是()。inta=2,b=-1,c=2;//語句1if(a<b)//語句2if(b<0)c=0;elsec+=1;cout<<c<<endl;//語句3A)0B)1C)2D)3答案:C解析:共3條語句.第2條語句是if語句且只有if子句,else子句缺省,用{}表示出子句范圍如下:inta=2,b=-1,c=2;//語句1if(a<b)//語句2開始{if(b<0){c=0;}else{c+=1;}}//語句2結(jié)束.cout<<c<<endl;//語句3[單選題]37.有如下函數(shù)定義:voidfunc(inta,int&b){a++;b++;}若執(zhí)行代碼段:intx=0,y=1func(x,y);則變量x和y值分別是()A)0和1B)1和1C)0和2D)1和2答案:C解析:[單選題]38.函數(shù)intsum(inta=10,intb=15,intc=25);不可與下列哪個函數(shù)同時聲明()A)intsum(int,int,int,int)B)intsum(int,int,int)C)intsum(double)D)intsum(double,double,double);答案:B解析:名稱相同,參數(shù)個數(shù)相同,參數(shù)類型相同,無法重載。[單選題]39.遞歸函數(shù)中的形參是()A)自動變量B)外部變量C)靜態(tài)變量D)可根據(jù)需要自定義存儲類型答案:A解析:[單選題]40.一棵有n個結(jié)點(diǎn)的二叉樹,按層次從上到下,同一層從左到右順序存儲在一維數(shù)組A[1..n]中,則二叉樹中第i個結(jié)點(diǎn)(i從1開始用上述方法編號)的右孩子在數(shù)組A中的位置是A)A[2i](2i<=n)B)A[2i+1](2i+1<=n)C)A[i-2]D)條件不充分,無法確定答案:D解析:[單選題]41.下列選項(xiàng)中,均是合法的實(shí)型常量的是()A)+1e+15e-9.403e2B)-0.1012e-4-8e5C)123e1.2e-.4+2e-1D)-e3.8e-45.e-0答案:B解析:[單選題]42.若有定義intx[10]={0,1,2,3,4,5,6,7,8,9},*p1;則數(shù)值不為3的表達(dá)式是________。A)x[3]B)p1=x+3,*p1++C)p1=x+2,*(p1++)D)p1=x+2,*++p1答案:C解析:[單選題]43.已知定義int*p[3],則以下說法正確的是()。A)定義了1個int類型的指針變量,該變量具有3個指針B)定義了1個指針數(shù)組,該數(shù)組有3個元素,每個元素都是int類型的指針變量C)定義了1個名為*p的int類型數(shù)組,該數(shù)組含有3個int類型的變量D)定義了1個指向一維數(shù)組的指針變量p,該一維數(shù)組有3個int類型的元素答案:B解析:[單選題]44.已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是()。A)0B)5C)6D)1答案:B解析:[單選題]45.若已經(jīng)聲明了函數(shù)原型"voidfun(intA,doubleb=0.0);",則下列重載函數(shù)聲明中正確的是()。A)voidfun(inta=90,doubleb=0.0);B)intfun(intA,doubleB);C)voidfun(doubleA,intB);D)boolfun(intA,doubleb=0.0);答案:C解析:[單選題]46.執(zhí)行如下語句,輸出結(jié)果為()Charstr[]="Beijing";Cout<<strlen(strcpy(str,"China"));A)5B)7C)8D)12答案:A解析:[單選題]47.下列有關(guān)函數(shù)定義和調(diào)用的敘述中,錯誤的是________。A)一個函數(shù)必須定義后才能使用B)在一個函數(shù)體內(nèi)可以定義另一個函數(shù)C)用戶定義的函數(shù)可以被一個和多個函數(shù)調(diào)用任意多次D)一般要求在函數(shù)調(diào)用時,實(shí)參的個數(shù)和類型必須與形參的個數(shù)和類型一致答案:B解析:[單選題]48.對于"int*pa[5];"的描述中正確的是A)pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素B)pa是一個指向某數(shù)組中第5個元素的指針,該元素是int型變量C)pa[5]表示某個元素的第5個元素的值D)pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針答案:D解析:[單選題]49.C++對C語言作了很多改進(jìn),下列描述中()使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A)增加了一些新的運(yùn)算符;B)允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C)規(guī)定函數(shù)說明必須用原型;D)引進(jìn)了類和對象的概念;答案:D解析:[單選題]50.下列字符串可以用做C++標(biāo)識符的是()。A)A123B)foo~barC)caseD)3var答案:A解析:[單選題]51.下列有關(guān)函數(shù)的說法正確的是()。A)在C++語言中,若對函數(shù)類型未加說明,則系統(tǒng)隱含類型為void。B)C++函數(shù)必須有返回值,否則無法使用。C)C++函數(shù)既可以嵌套定義,又可以可遞歸調(diào)用。D)C++函數(shù)中,形式參數(shù)必須指定為確定的類型。答案:D解析:[單選題]52.友員的作用之一是()A)提高程序的運(yùn)行效率B)加強(qiáng)類的封裝C)實(shí)現(xiàn)數(shù)據(jù)的隱蔽性D)增加成員函數(shù)的種類答案:A解析:[單選題]53.有如下語句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail())cout<<"C";elsecout<<"D";}若執(zhí)行這個語句序列顯示的是BD,則說明文件DATA.DAT________。A)以讀方式打開成功B)以讀方式打開失敗,但以寫方式打開成功C)以讀方式打開失敗,以寫方式打開也失敗D)以讀方式打開成功,以寫方式打開也成功答案:B解析:[單選題]54.以下有關(guān)C語言的說法中,錯誤的是()。A)內(nèi)存泄露一般是指程序申請了一塊內(nèi)存,使用完后,沒有及時將這塊內(nèi)存釋放,從而導(dǎo)致程序占用大量內(nèi)存。B)可以通過malloc(size_t)函數(shù)調(diào)用申請超過該機(jī)器物理內(nèi)存大小的內(nèi)存塊。C)無法通過內(nèi)存釋放函數(shù)free(void*)直接將某塊已經(jīng)使用完的物理內(nèi)存直接還給操作系統(tǒng)。D)可以通過內(nèi)存分配函數(shù)malloc(size_t)直接申請物理內(nèi)存。答案:D解析:內(nèi)存泄漏也稱作?存儲滲漏?,用動態(tài)存儲分配函數(shù)動態(tài)開辟的空間,在使用完畢后未釋放,結(jié)果導(dǎo)致一直占據(jù)該內(nèi)存單元。直到程序結(jié)束。即所謂內(nèi)存泄漏。free釋放的內(nèi)存不一定直接還給操作系統(tǒng),可能要到進(jìn)程結(jié)束才釋放??梢灾钡絤alloc不能直接申請物理內(nèi)存,它申請的是虛擬內(nèi)存[單選題]55.包含自定義頭文件file.h的預(yù)處理指令是()A)#define<file.h>B)#includefile.hC)#definefile.hD)#include"file.h"答案:D解析:[單選題]56.在C程序的源文件中如果需要使用函數(shù)strcpy,需要在該文件開頭引入哪個頭文件()A)iostream.hB)string.hC)math.hD)不需要任何頭文件答案:B解析:[單選題]57.假定T是一個C++類,下列語句執(zhí)行之后,內(nèi)存里創(chuàng)建了()個T對象。Tb(5);Tc[6];T&d=b;Te=b;T*p=newT(4);A)5B)8C)9D)12答案:C解析:1+6+0+1+1=9個[單選題]58.非線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種A)一對多關(guān)系B)多對多關(guān)系C)多對一關(guān)系D)一對一關(guān)系答案:B解析:[單選題]59.在具有n個結(jié)點(diǎn)的有序單鏈表中插入一個新結(jié)點(diǎn)并仍然有序的時間復(fù)雜度是()A)O(1)B)O(n)C)O(n^2)D)O(nlog2n)答案:B解析:[單選題]60.若有定義int*p=newint(0),則下列說法正確的是()A)系統(tǒng)用指針變量p來表示所指整型變量B)聲明一個指針變量p,指向名為new的存儲單元C)系統(tǒng)為指針變量p分配一個整型數(shù)據(jù)的存儲空間D)通過運(yùn)算符new,分配一個整型數(shù)據(jù)的存儲空間,并將其內(nèi)存地址賦予指針變量答案:D解析:在C++語言中,使用new運(yùn)算符實(shí)現(xiàn)動態(tài)內(nèi)存分配。例如,可以寫如下的語句:p=newT;其中,T是任意類型名,p是類型為T*的指針。這樣的語句會動態(tài)分配出一片大小為sizeof(T)字節(jié)的內(nèi)存空間,并且將該內(nèi)存空間的起始地址賦值給指針p。本題中,int*p=newint(0)表示通過運(yùn)算符new,分配一個整型數(shù)據(jù)的存儲空間,并將其內(nèi)存地址賦予指針變量。D正確。[單選題]61.下列關(guān)于C++標(biāo)識符的命名不合法的是()A)PadB)name_1C)A#bcD)_a12答案:C解析:一般的標(biāo)識符命名規(guī)則:字母、數(shù)字和下劃線的組合,大小寫敏感,但不能以數(shù)字開頭,也不能和系統(tǒng)中使用的關(guān)鍵字完全相同。故C錯誤,?#?不屬于字母、數(shù)字和下劃線的任何一種。[單選題]62.關(guān)于以下代碼片段說法正確的是()。inta[5],*pa;pa=a;pa=pa+2;A)pa指向a[2];B)pa的內(nèi)容是a[0]+2C)pa指向a[0]D)語法有錯誤答案:A解析:[單選題]63.要求用成員函數(shù)重載的運(yùn)算符是()。A)=B)==C)<=D)++答案:A解析:[單選題]64.給定的一個長度為N的字符串str,查找長度為P(PA)不存在比最壞時間復(fù)雜度O(NP)好的算法B)不存在比最壞時間復(fù)雜度O(N^2)好的算法C)不存在比最壞時間復(fù)雜度O(P^2)好的算法D)存在最壞時間復(fù)雜度為O(N+P)的算法答案:D解析:[單選題]65.若已定義的函數(shù)有返回值,則有關(guān)該函數(shù)調(diào)用的敘述中錯誤的是()。A)函數(shù)調(diào)用可以作為獨(dú)立的語句存在B)函數(shù)調(diào)用可以作為一個函數(shù)的形參C)函數(shù)調(diào)用可以作為一個函數(shù)的實(shí)參D)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中答案:B解析:[單選題]66.對n個元素進(jìn)行直接插入排序時間復(fù)雜度為A)O(1)B)O(n)C)O(n^2)D)O(logn)答案:C解析:[單選題]67.以下輸入輸出語句錯誤的是()A)cout<<x<<endl;B)cin>>y>>z;C)cout>>a>>b;D)cout<<?a?;答案:C解析:[單選題]68.設(shè)有一個遞歸函數(shù)如下intf(intn){if(nA)6B)7C)8D)9答案:D解析:[單選題]69.已知函數(shù)f的原型是:voidf(int*a,long&b);變量v1、v2的定義是:intv1;longv2;,正確的調(diào)用語句是()。A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);答案:C解析:[單選題]70.下列()的調(diào)用方式是引用調(diào)用。A)形參和實(shí)參都是變量B)形參是指針,實(shí)參是地址值C)形參是引用,實(shí)參是變量D)形參是變量,實(shí)參是地址值答案:D解析:[單選題]71.假設(shè)以數(shù)組A[m]存放循環(huán)隊(duì)列的元素,其頭尾指針分別為front和rear,則當(dāng)前隊(duì)列中的元素個數(shù)為A)(rear-front+m)%mB)rear-front+1C)(front-rear+m)%mD)(rear-front)%m答案:A解析:[單選題]72.在一棵有n個結(jié)點(diǎn)的二叉樹中,若度為2的結(jié)點(diǎn)數(shù)為n2,度為1的結(jié)點(diǎn)數(shù)為n1,度為0的結(jié)點(diǎn)數(shù)為n0,則樹的最大高度為A)n0+n1+n2B)n1+n2C)n2+1D)1答案:A解析:[單選題]73.下面代碼執(zhí)行結(jié)果為()classA{public:voidB(){coutA)wantfuncptrB)編譯錯誤,A類中沒有成員*func函數(shù)C)沒有任何輸出D)不能A::B取地址答案:A解析:[單選題]74.若x是一個boo型變量,y是一個值為100的int型變量,則表達(dá)式x&&y>0的值()。A)為trueB)為falseC)與x的值相同D)與x的值相反答案:C解析:[單選題]75.有如下程序段:……For(inti=1;i<4;i++){If(i%2==0)Continue;Cout<<i<<",";}……其輸出的結(jié)果為()。A)1,B)1,3,C)1,3,4,D)1,3答案:B解析:[單選題]76.在C++中,容器是一種()A)標(biāo)準(zhǔn)類B)標(biāo)準(zhǔn)對象C)標(biāo)準(zhǔn)函數(shù)D)標(biāo)準(zhǔn)類模板答案:D解析:[單選題]77.下面是關(guān)于派生類聲明的開始部分,其中正確的是________。A)classvirtualB:publicAB)virtualclassB:publicAC)classB:publicAvirtualD)classB:virtualpublicA答案:D解析:[單選題]78.一個類可包含析構(gòu)函數(shù)的個數(shù)是()A)0個B)1個C)至少一個D)0個或多個答案:B解析:[單選題]79.快速排序在下列哪種情況下最易發(fā)揮其長處。A)被排序的數(shù)據(jù)中含有多個相同排序碼B)被排序的數(shù)據(jù)已基本有序C)被排序的數(shù)據(jù)完全無序D)被排序的數(shù)據(jù)中的最大值和最小值相差懸殊答案:C解析:[單選題]80.用鏈接方式存儲的隊(duì)列,在進(jìn)行刪除運(yùn)算時A)僅修改頭指針B)僅修改尾指針C)頭、尾指針都要修改D)頭、尾指針可能都要修改答案:D解析:[單選題]81.設(shè)有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是()A)1B)2C)3D)0答案:B解析:exp1&&exp2若exp1為0,則exp2不執(zhí)行.m=0,所以(n=c>d)不執(zhí)行,n值不變[單選題]82.數(shù)據(jù)結(jié)構(gòu)的二叉鏈表進(jìn)行樹的存儲時,根結(jié)點(diǎn)的右指針是()A)指向最左孩子B)指向最右孩子C)空D)非空答案:C解析:[單選題]83.若有定義intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是________。A)for(i=0;i<6;i++)cout<B)for(i=0;i<6;i++)cout<C)for(i=0;i<6;i++)cout<D)for(i=0;i<6;i++)cout<答案:D解析:[單選題]84.流程控制語句的基本控制結(jié)構(gòu)有三種,不屬于這一種結(jié)構(gòu)的是()。A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu)D)計(jì)算結(jié)構(gòu)答案:D解析:[單選題]85.以下關(guān)于C++析構(gòu)函數(shù)的描述中,錯誤的是________。A)析構(gòu)函數(shù)名必須以字符~開B)不可定義析構(gòu)函數(shù)的形式參數(shù)C)析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用D)可以重載析構(gòu)函數(shù)答案:D解析:[單選題]86.若有如下程序:intmain(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是(A)34B)42C)43D)33答案:D解析:逗號表達(dá)的求值順序是從左向右以此計(jì)算用逗號分隔的各表達(dá)式的值,最后一個表達(dá)式的值就是整個逗號表達(dá)式的值,所以(++x,y++)的值將是y++,因?yàn)槭窍容敵鰕的值,再將y增1,所以軸線輸出3,再輸出Z+2的值,即3;所以應(yīng)選擇D[單選題]87.閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為()。#include<iostream>"#include<string>Usingnamespacestd;Intmain(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");cout<<a;return0;}A)nicetomeetyouyouB)nicetoC)meetyouyouD)nicetoyou答案:D解析:[單選題]88.以下關(guān)于鏈表說法正確的是()。A)鏈表的頭節(jié)點(diǎn)中只存放下1個節(jié)點(diǎn)的指針B)鏈表的尾節(jié)點(diǎn)中不存放指向下1個節(jié)點(diǎn)的指針C)刪除鏈表的頭節(jié)點(diǎn)與尾節(jié)點(diǎn)操作完全相同D)刪除鏈表的頭節(jié)點(diǎn),意味著整個鏈表都被刪除答案:A解析:[單選題]89.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是(D)。A)p=1;B)*q=2;C)q=p;D)*p=5;答案:D解析:[單選題]90.下面關(guān)于類和對象說法不正確是()A)類由數(shù)據(jù)與函數(shù)組成B)一個對象必屬于某個類對象是類的實(shí)例C)對象是類的實(shí)例D)一個類的對象只有一個答案:D解析:對象是類的一個具象,類是對象的一個抽象。一個類的對象可以不只有一個。故D錯誤。[單選題]91.已知:charc='\010';則變量c中包含的字符個數(shù)為()。A)4B)1C)2D)3答案:B解析:字符型變量只能存放一個字符,題干中是轉(zhuǎn)義字符[單選題]92.下列關(guān)于C++函數(shù)的敘述中,錯誤的是________。A)函數(shù)必須有返回值B)一個函數(shù)中可以有多條return語句C)在不同的函數(shù)中可定義同名的變量D)函數(shù)不能嵌套定義,但可以嵌套調(diào)用答案:A解析:[單選題]93.下列選項(xiàng)中,()不能交換變量a和b的值。A)a=b;b=a;B)t=b;b=a;a=t;C)a=a+b;b=a-b;a=a-b;D)t=a;a=b;b=t;答案:A解析:[單選題]94.下列不合法的變量名為()。A)intB)int1C)name_0D)name1答案:A解析:[單選題]95.一個類的成員函數(shù)也可以成為另一個類的友元函數(shù),這時的友元說明()。A)需加上類域的限定B)不需加上類域的限定C)類域的限定可加可不加D)不需要任何限定答案:A解析:[單選題]96.C++對C語言做了很多改進(jìn),即從面向過程變成為面向?qū)ο蟮闹饕蚴牵ǎ〢)增加了一些新的運(yùn)算符B)允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C)規(guī)定函數(shù)說明符必須用原型D)引進(jìn)了類和對象的概念答案:D解析:[單選題]97.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是()。A)p=1B)*q=2C)q=p;D)*p=5答案:D解析:[單選題]98.[成員覆蓋]已知有下列類定義:ClassX{public:intf(){return1;}};ClassY:publicX{public:intf(){return0;}};主函數(shù)代碼:Intmain(){Yy;cout<<y.f()<<endl;return0;}該程序的輸出是:A)0B)1C)10D)y.f()答案:A解析:[單選題]99.對函數(shù)intmax(inta,intb=0,intc=0,intd=0,inte=0);下列調(diào)用方式正確的是()A)intm=max(10,11,12,13,14);B)intm=max(10,,12,13,14);C)intm=max(10,11,,13,14);D)intm=max(10,11,12,,14);答案:A解析:調(diào)用函數(shù)時,主調(diào)函數(shù)的實(shí)參與被調(diào)函數(shù)的形參按從左至右的順序進(jìn)行匹配對應(yīng)??傊?,定義函數(shù)時,只能為函數(shù)最后面的連續(xù)若干個參數(shù)設(shè)置默認(rèn)值,且在調(diào)用處也只能缺省后面的連續(xù)若干個實(shí)參。BCD選項(xiàng)中的默認(rèn)值都不是放在最后的連續(xù)參數(shù),故都錯誤。[單選題]100.已知如下程序:classB{public:B(){}B(intc):count(c){}virtualvoidprint()const=0;private:intcount;};classD:publicB{public:D():B(0){}D(intc):B(c){}voidprint()const{cout<<""hello""<<endl;}};voidmain(){Dd(10);B*pb;pb=&d;//OKB&cb=d;Ddd=*pb;//2B對象不能轉(zhuǎn)換為DD&cd=cb;//3B對象不能轉(zhuǎn)換為D&Bbb=d;//4B類,不能實(shí)例化抽象類}則在標(biāo)出的幾個語句中,沒有錯誤的是()。A)1B)2C)3D)4答案:A解析:[單選題]101.假如指針p已經(jīng)指向整型變量x,則(*p)++相當(dāng)于________。A)x++B)p++C)*(p++)D)&x++答案:A解析:[單選題]102.下列訪問成員的方式哪個是正確的()A)對象名.對象成員名B)對象指針名.對象成員名C)對象名->對象成員名D)類名->對象成員名答案:A解析:定義了類和對象后,就可以訪問對象的成員。通過對象訪問成員變量的一般格式如下:對象名.成員變量名故本題選A。還可以使用指針或引用的方式來訪問類成員。如果是通過指針訪問成員變量,則點(diǎn)運(yùn)算符.換為箭頭運(yùn)算符->,即使用?指針->成員名?的方式來訪問對象的成員。故BCD錯誤。[單選題]103.下列程序執(zhí)行后的輸出結(jié)果是_____。#include<iostream>Usingnamespacestd;Voidmain(){Intx='f';Cout<<char('A'+(x-'a'+1));}A)GB)HC)ID)J答案:A解析:[單選題]104.雙精度浮點(diǎn)型的字節(jié)數(shù)是()。A)4B)1C)0D)8答案:D解析:[單選題]105.若指定有n個元素的向量,則建立一個有序單鏈表的時間復(fù)雜性的量級是A)O(1)B)O(n)C)O(n^2)D)O(nlog2n)答案:C解析:[單選題]106.類模板的使用實(shí)際上是將類模板實(shí)例化為1個具體的()。A)類B)對象C)函數(shù)D)模板類答案:B解析:[單選題]107.下列有關(guān)常量、變量的說法錯誤的是()。A)C++語言中變量必須?先定義、后使用?B)使用符號常量可增加程序的可讀性C)定義變量時可以對變量進(jìn)行初始化D)在程序中可以改變符號常量的值答案:D解析:[單選題]108.IO流中ifstream繼承于()類A)ostreamB)istreamC)ofstreamD)iostream答案:B解析:[單選題]109.已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達(dá)式x+y的值為()A)1B)2C)3D)4答案:C解析:++x為真,后面的就不運(yùn)算了,所以語句執(zhí)行結(jié)束后x=2,y=1,z=1[單選題]110.如果inta=1,b=2,c=3,d=4;,則條件表達(dá)式aA)2B)3C)4D)1答案:D解析:[單選題]111.若有以下定義和語句,則對s數(shù)組的元素的正確引用形式是()。ints[4][5],(*ps)[5];ps=s;A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3答案:C解析:[單選題]112.判斷char型變量c1是否為小寫字母的正確表達(dá)式是________。A)'a'<=c1<='z'B)c1>=a&&c1<=zC)'a'>=c1||'z'<=c1D)c1>='a'&&c1<='z'答案:D解析:[單選題]113.下列程序段的輸出是________。shortinti=65536;cout<A)65536B)0C)有語法錯誤,無輸出結(jié)果D)-1答案:B解析:[單選題]114.已知int*p,*q,k=0,a=5;p=q=&a;,下列錯誤的賦值語句是________。A)k=p+q;B)a=*p+*q;C)p=q;D)*p=k+*q;答案:A解析:[單選題]115.如果有int型變量a,則定義指向變量a的指針p正確的寫法是()A)intp=&vB)int*p=&vC)int&p=*vD)int*p=v答案:B解析:指針變量中保存的是一個地址,有時也稱指針指向一個地址。定義一個指向int型變量a的指針p為:int*p=&a;故選B[單選題]116.已知:intx,y;則下列if語句中正確的是()。A)if(x==0)y=1;elsey=2;B)if(x==0)theny=1elsey=2C)if(x==0)y=1elsey=2;D)ifx==0y=1;elsey=2;答案:A解析:B少分號且多個then,C少分號,D少括號[單選題]117.有以下程序intmain(){inti;for(i=0;i<3;i++)switch(i){case1:cout<A)011122B)012C)012020D)120答案:A解析:[單選題]118.對于下面代碼段intx=3,y=3;intt=++x||++y;y的值為()A)不確定B)4C)3D)1答案:C解析:當(dāng)器遇到了||時,只要前面的++x為真,后面的語句就不執(zhí)行了[單選題]119.字符串的長度是指()A)串中不同字符的個數(shù)B)串中不同字母的個數(shù)C)串中所含字符的個數(shù)D)串中不同數(shù)字的個數(shù)答案:C解析:[單選題]120.用于標(biāo)識十六進(jìn)制前綴或后綴是()A)無B)后綴L或eC)前綴零D)前綴0x答案:D解析:[單選題]121.如果進(jìn)棧序列為e1,e2,e3,e4,則不可能的出棧序列是:A)e2,e4,e3,e1B)e4,e3,e2,e1C)e1,e2,e3,e4D)e3,e1,e4,e2答案:D解析:[單選題]122.下面程序的輸出結(jié)果是()#includeusingnamespacestd;voidfun(intx,inty,intz){z=x*x+y*y;}intmain(){intz=68;fun(5,2,z);coutA)0B)29C)68D)無定值答案:C解析:[單選題]123.在C++中,頭文件擴(kuò)展名為()A)cppB)hC)libD)obj答案:B解析:在C++中,.h文件是頭文件。.cpp文件是源程序文件;[單選題]124.將一棵有100個結(jié)點(diǎn)的完全二叉樹從根這一層開始,每一層上從左到右依次對結(jié)點(diǎn)進(jìn)行編號,根結(jié)點(diǎn)的編號為1,則編號為49的結(jié)點(diǎn)的左孩子編號為。A)98B)99C)50D)48答案:A解析:[單選題]125.設(shè)有基類定義:Classbase{Private:inta;protected:intb;public:intc;};為使變量成員b成為派生類的私有成員,可以采用的繼承方式是()A)私有繼承B)公有繼承C)保護(hù)繼承D)私有、公有、保護(hù)均可答案:A解析:[單選題]126.對下列程序,選項(xiàng)中敘述正確的是________。A)程序編譯運(yùn)行正確B)程序編譯時語句①出錯C)程序編譯時語句②出錯D)程序編譯時語句③出錯答案:A解析:[單選題]127.下面程序段:x=3;do{y=x--;if(!y){coutA)將輸出##B)是死循環(huán)C)將輸出###D)含有不合法的控制表達(dá)式答案:C解析:[單選題]128.分別以下列序列構(gòu)造二叉排序樹,與用其它三個序列所構(gòu)造的結(jié)果不同的是()A)(100,80,90,60,120,110,130)B)(100,120,110,130,80,60,90)C)(100,60,80,90,120,110,130)D)(100,80,60,90,120,130,110)答案:C解析:[單選題]129.在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問原基類的()。A)公有成員和私有成員B)私有成員和保護(hù)成員C)公有成員和保護(hù)成員D)私有成員、保護(hù)成員和公有成員答案:C解析:[單選題]130.在C++中,實(shí)現(xiàn)封裝性需借助于()。A)枚舉B)類C)數(shù)組D)函數(shù)答案:B解析:[單選題]131.使用重載函數(shù)編程序的目的是()。A)使用相同的函數(shù)名調(diào)用功能相似的函數(shù)B)共享程序代碼C)提高程序的運(yùn)行速度D)節(jié)省存貯空間答案:A解析:[單選題]132.已知有如下定義:structDate{intyear,month,day;};structstudent{intnum;charname[80];Datebirthday;};則下列語句錯誤的是________。A)studentstud[2]={1,"Wangli",2001,12,3,4,"Zhangmei",2001,9,4};B)studentstud[2]={1,"Wangli",{2001,12,3},4,"Zhangmei",{2001,9,4}};C)studentstud[2]={1,"Wangli",2001,12,4,"Zhangmei",2001,9,4};D)studentstud[2]={1,"Wangli",{2001,12},4,"Zhangmei",{2001,9,4}};答案:C解析:[單選題]133.對于友元描述正確的是()A)友元是本類的成員函數(shù)B)友元不是本類的成員函數(shù)C)友元不是函數(shù)D)友元不能訪問本類私有成員答案:B解析:[單選題]134.以下說法中正確的是()。A)C++程序總是從第一個定義的函數(shù)開始執(zhí)行B)C++程序總是從main函數(shù)開始執(zhí)行C)C++函數(shù)必須有返回值,否則不能使用函數(shù)D)C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中答案:B解析:[單選題]135.下列程序中說明的公有成員是()。classLocation{intX;public:voidinit(intX,intY);private:intY;public:intGetX();intGetY();}A)XB)init(intX,intY)C)GetX(),GetY()D)B和C都是答案:D解析:[單選題]136.下列關(guān)于函數(shù)的說法中,正確的是________。A)C++允許在函數(shù)體中定義其他函數(shù)B)所有的內(nèi)聯(lián)函數(shù)都要用inline說明C)僅函數(shù)返回類型不同的同名函數(shù)不能作為重載函數(shù)使用D)形參的默認(rèn)值應(yīng)從左至右逐個依次給出答案:C解析:[單選題]137.下列不是異常處理中需要用到的標(biāo)識符是()。A)tryB)catchC)throwD)go答案:D解析:[單選題]138.直接插入排序的平均時間復(fù)雜度為()。A)O(logn)B)O(n)C)O(nlogn)D)O(n2)答案:D解析:[單選題]139.正確的C++語言標(biāo)識符是()。A)3d_maxB)ifC)A&D)sum_2答案:A解析:[單選題]140.設(shè)一個鏈表最常用的操作是在末尾插入結(jié)點(diǎn)和刪除尾結(jié)點(diǎn),則選用什么最節(jié)省時間A)單鏈表B)單循環(huán)鏈表C)帶尾指針的單循環(huán)鏈表D)帶頭結(jié)點(diǎn)的雙循環(huán)鏈表答案:D解析:[單選題]141.下面哪個標(biāo)識符不是內(nèi)存管理函數(shù)?()A)mallocB)callocC)freeD)goto答案:D解析:[單選題]142.對于長度為n的有序順序表,若采用折半搜索,則對所有元素的搜索長度中最大的為()的值的向下取整加一。A)log2(n+1)B)log2nC)n/2D)(n+1)/2答案:B解析:[單選題]143.閱讀下面代碼,輸出結(jié)果為()intmain(){charstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";coutA)truefalsetrueB)falsetruetrueC)falsefalsefalseD)falsefalsetrue答案:D解析:[單選題]144.以下敘述不正確的是()。A)在不同的函數(shù)中可以使用同名的變量B)函數(shù)中的形式參數(shù)是局部變量C)在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在函數(shù)內(nèi)復(fù)合語句中定義的變量也可在本函數(shù)范圍內(nèi)有效答案:D解析:[單選題]145.下面程序執(zhí)行結(jié)果:usingnamespacestd;classA{public:virtualvoidf(){cout<<"A::f()";}voidf()const{cout<<"A::f()const";}};classB:publicA{public:voidf(){cout<<"B::f()";}voidf()const{cout<<"B::f()const";}};voidg(constA*a){a->f();}intmain(intargc,char*argv[]){A*p=newB();p->f();g(p);delete(p);return0;}A)B::f()B::f()constB)B::f()A::f()constC)A::f()B::f()constD)A::f()A::f()const答案:B解析:g(p);執(zhí)行的是父類的f()const,因?yàn)樗皇翘摵瘮?shù)[單選題]146.一個類的靜態(tài)數(shù)據(jù)成員所表示屬性()。A)是類的或?qū)ο蟮膶傩訠)只是對象的屬性C)只是類的屬性D)類和友元的屬性答案:C解析:[單選題]147.以下定義內(nèi)聯(lián)函數(shù)f()的語句,正確的是()。A)inlinevoidf();voidf(){}B)voidf();inlinevoidf(){}C)voidf():inline;voidf(){}D)voidf();voidf():inline{}"答案:B解析:[單選題]148.指出下列對定義重載函數(shù)的要求中,()是錯誤的。A)要求參數(shù)的個數(shù)相同B)要求參數(shù)的類型相同時,參數(shù)個數(shù)不同C)函數(shù)的返回值可以不同D)要求參數(shù)的個數(shù)相同時,參數(shù)類型不同答案:A解析:[單選題]149.語句ofstreamf(?TEMP.DAT?,ios::app|ios::binary)?的功能是建立流對象f,試圖打開文件TEMP.DAT并與之連接,并且()A)若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件B)若文件存在,將其置為空文件;若文件不存在,打開失敗C)若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件D)若文件存在,打開失??;若文件不存在,建立一個新文件答案:A解析:[單選題]150.與二進(jìn)制數(shù)101.01011等值的十六進(jìn)制數(shù)為()。A)BB)5.51C)51D)5.58答案:D解析:[單選題]151.下列有關(guān)C++流的敘述中,錯誤的是()。A)C++操作符setw設(shè)置的輸出寬度永久有效B)C++操作符endl可以實(shí)現(xiàn)輸出的回車換行C)處理文件I\O時,要包含頭文件fstreamD)進(jìn)行輸入操作時,eof()函數(shù)用于檢測是否到達(dá)文件尾答案:A解析:[單選題]152.下列循環(huán)語句的循環(huán)次數(shù)是________。while(inti=0)i--;A)0B)1C)2D)3答案:A解析:[單選題]153.數(shù)據(jù)結(jié)構(gòu)中,對于希爾排序的組內(nèi)排序采用的方式是。A)冒泡排序B)折半插入排序C)快速排序D)以上都不對答案:D解析:[單選題]154.下列關(guān)于return語句的敘述中,正確的是()。A)任何函數(shù)的函數(shù)體中至少有一個return語句B)任何函數(shù)的函數(shù)體中最后一條語句必須是return語句C)如果函數(shù)的返回類型為void,則其函數(shù)體中可以沒有return語句D)如果函數(shù)的返回類型為int,則其函數(shù)體中可以沒有return語句答案:C解析:[單選題]155.對于表達(dá)式boolx=5;inta=x==5;變量a的值為()。A)1B)0C)5D)false答案:B解析:[單選題]156.以下選項(xiàng)中,不合法的字符常量是()。A)?\n?B)?\xf?C)?\0?D)?\045?答案:D解析:第2部分:多項(xiàng)選擇題,共16題,每題至少兩個正確答案,多選或少選均不得分。[多選題]157.數(shù)據(jù)結(jié)構(gòu)中,排序算法不穩(wěn)定的有哪些A)快速排序B)冒泡排序C)直接插入排序D)希爾排序答案:AD解析:[多選題]158.下列關(guān)于直接插入排序法的說法不正確的是A)只能對數(shù)字進(jìn)行排序B)只能對數(shù)字和英文單詞進(jìn)行排序C)可以對漢字進(jìn)行排序D)只能從小到大進(jìn)行排列答案:ABD解析:[多選題]159.下列關(guān)于C++關(guān)鍵字的說法中錯誤的是A)關(guān)鍵字是用戶為程序中各種需要命名的?元素?所起的名字B)關(guān)鍵字是對程序中的數(shù)據(jù)進(jìn)行操作的一類單詞。C)關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞D)關(guān)鍵字是C++中預(yù)先定義并實(shí)現(xiàn)一定功能得一類單詞。答案:ABC解析:[多選題]160.把一棵樹轉(zhuǎn)換為二叉樹后,這棵二叉樹的形態(tài)的說法不正確的是A)唯一的B)有多種C)有多種,但根結(jié)點(diǎn)都沒有左孩子D)有多種,但根結(jié)點(diǎn)都沒有右孩子答案:BCD解析:[多選題]161.對于折半查找方法,下面的說法正確的是A)折半查找方法不適用于按值有序鏈接的鏈表的查找B)折半查找方法適用于按值有序的順序表的查找C)折半查找方法適用于按關(guān)鍵字值大小有序排列的順序文件的查找D)折半查找方法適用于排序連續(xù)順序文件的查找答案:BCD解析:[多選題]162.C++中下列字符串中可以作為標(biāo)示符的是A)_256B)classC)delete1D)5char答案:AC解析:[多選題]163.數(shù)據(jù)的運(yùn)算最常用的是A)插入B)刪除C)修改D)查找答案:ABCD解析:[多選題]164.關(guān)于輸出流對象的說法正確的是A)cout標(biāo)準(zhǔn)輸出B)cerr標(biāo)準(zhǔn)錯誤輸出C)clog類似于cerr,而clog中的信息存放在緩沖區(qū)中,緩沖區(qū)滿后或遇endl時向顯示器輸出D)以上說法都正確答案:ABCD解析:[多選題]165.數(shù)據(jù)結(jié)構(gòu)中,二叉樹結(jié)點(diǎn)和說法正確的是A)二叉樹中每個結(jié)點(diǎn)的兩棵子樹的高度差等于1B)二叉樹中每個結(jié)點(diǎn)的兩棵子樹是有序的。C)二叉樹中每個結(jié)點(diǎn)有兩棵非空子樹或有兩棵空子樹。D)具有12個結(jié)點(diǎn)的完全二叉樹有5個度為2的結(jié)點(diǎn)。答案:BD解析:[多選題]166.數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)的共同點(diǎn)不包括A)都是先進(jìn)后出B)都是后進(jìn)先出C)只允許在端點(diǎn)處插入和刪除元素D)沒有共同點(diǎn)答案:ABD解析:[多選題]167.下列程序中的橫線處填寫的語句錯誤的是_____A)data=Sample::data;B)data(data);C)this->data=data;D)Sample::data=data;答案:AB解析:[多選題]168.關(guān)于樹的度的描述正確的是A)樹的度為0的結(jié)點(diǎn)稱為葉子B)樹的度不為0的結(jié)點(diǎn)稱為分支結(jié)點(diǎn)C)樹的度為0的結(jié)點(diǎn)稱為分支結(jié)點(diǎn)D)樹的度不為0的結(jié)點(diǎn)稱為葉子答案:AB解析:[多選題]169.已知int型變量a,執(zhí)行語句a=?A?+1.6;則以下說法正確的有()。A)變量a為int型B)變量a為浮點(diǎn)型C)程序會出現(xiàn)編譯錯誤D)a的值是字符?A?的ASCII值加上1答案:AD解析:[多選題]170.一棵樹可轉(zhuǎn)換成為與其對應(yīng)的二叉樹,則下面敘述不正確的是A)樹的先根遍歷序列與其對應(yīng)的二叉樹的先序遍歷相同B)樹的后根遍歷序列與其對應(yīng)的二叉樹的后序遍歷相同C)樹的先根遍歷序列與其對應(yīng)的二叉樹的中序遍歷相同D)只有A正確答案:BC解析:[多選題]171.樹形結(jié)構(gòu)中根結(jié)點(diǎn)、葉子結(jié)點(diǎn)等的說法正確的是A)在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有前驅(qū)結(jié)點(diǎn)B)樹形結(jié)構(gòu)中除根結(jié)點(diǎn)外,每個結(jié)點(diǎn)有且只有1個前驅(qū)結(jié)點(diǎn)C)葉子點(diǎn)沒有后續(xù)結(jié)點(diǎn)D)除葉子結(jié)點(diǎn)外,其余每個結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn)數(shù)可以任意多個答案:ABCD解析:[多選題]172.以下關(guān)于函數(shù)指針說法正確的是()。A)1個函數(shù)的函數(shù)名就是該函數(shù)的入口地址B)函數(shù)指針變量不能進(jìn)行算術(shù)運(yùn)算C)可以用如下形式定義1個函數(shù)指針變量:int*pf()D)假設(shè)有1個函數(shù)指針pf和1個函數(shù)f(),則可以用如下形式給函數(shù)指針賦值:pf=f()答案:AB解析:第3部分:填空題,共12題,請?jiān)诳瞻滋幪顚懻_答案。[填空題]173.作為語句標(biāo)號使用的C++保留字case和default只能用于________語句的定義體中答案:switch解析:[填空題]174.若要把整型變量y定義為x的引用,則所使用的定義語句為_______。答案:int&y=x;解析:[填空題]175.每個對象都是所屬類的一個___。答案:實(shí)例解析:[填空題]176.C++中當(dāng)一個函數(shù)無返回值時,則函數(shù)的類型是()。答案:void解析:[填空題]177.C++程序必須有且只有一個主函數(shù),其函數(shù)名為______。答案:main解析:[填空題]178.決定C++語言中函數(shù)的返回值類型的是()A)return語句中的表達(dá)式類型B)調(diào)用該函數(shù)時系統(tǒng)隨機(jī)產(chǎn)生的類型C)調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型D)在定義該函數(shù)時所指定的數(shù)據(jù)類答案:D解析:[填空題]179.變量分為全局和局部兩種,()。變量沒有賦初值時,其值是不確定的。答案:全局變量默認(rèn)初始化為0解析:[填空題]180.假定一個類的構(gòu)造函數(shù)為A(intaa,intbb){a=aa--;b=a*bb;},則執(zhí)行Ax(4,5);語句后,x.a和x.b的值分別為()A)3和15B)5和4C)4和20D)20和5答案:C解析:[填空題]181.vector類中用于刪除向量中的所有對象的方法是___。答案:clear()解析:[填空題]182.下面敘述不正確的是()A)派生類一般都用公有派生B)對基類成員的訪問必須是無二義性的C)賦值兼容規(guī)則也適用于多重繼承的組合D)基類的公有成員在派生類中仍然是公有答案:D解析:[填空題]183.C++程序的源文件擴(kuò)展名為___。答案:cpp解析:[填空題]184.C++語言中如果調(diào)用函數(shù)時,需要改變實(shí)參或者返回多個值,應(yīng)該采取___方式。答案:傳地址或引用解析:第4部分:判斷題,共29題,請判斷題目是否正確。[判斷題]185.棧和隊(duì)列的存儲方式既可是順序方式,也可是鏈接方式A)正確B)錯誤答案:對解析:[判斷題]186.進(jìn)行折半搜索的表必須是順序存儲的有序表A)正確B)錯誤答案:對解析:[判斷題]187.樹中任意結(jié)點(diǎn)的子樹不必是有序的A)正確B)錯誤答案:錯解析:[判斷題]188.()抽象類不能做函數(shù)的參數(shù)類型,也不能作為函數(shù)的返回類型。A)正確B)錯誤答案:對解析:[判斷題]189.goto語句可以指向一段代碼中的任意行。答案:對解析:[判斷題]190.當(dāng)待排序的元素很大時,為了交換元素的位置,移動元素要占用較多的時間,這是影響時間復(fù)雜度的主要因素。A)正確B)錯誤答案:對解析:[判斷題]191.一個包含循環(huán)結(jié)構(gòu)的函數(shù)不可以定義為內(nèi)聯(lián)函數(shù)。A)正確B)錯誤答案:對解析:[判斷題]192.函數(shù)參數(shù)傳遞過程中實(shí)參類型需要與形參相同()A)正確B)錯誤答案:對解析:[判斷題]193.constchar*p說明了p是指向字符串的常量指針。答案:錯解析:[判斷題]194.C++語言中,包含字符串常用函數(shù)的類文件是string.h答案:對解析:[判斷題]195.以下程序的輸出結(jié)果為3。()inta[2][2]={1,2,3,4};printf(""%d\n"",a[1][0]);"答案:對解析:[判斷題]196.定義數(shù)組時沒有初始化,此時數(shù)組元素的值是不確定的。A)正確B)錯誤答案:對解析:[判斷題]197.已知有如下代碼片段#defineM(x)x*xnta=3;intb=M(a+1);宏展開后是:b=3+1*3+1=7則變量a的值為16。()答案:錯解析:[判斷題]198.使用數(shù)組時,數(shù)組元素的下標(biāo)可以不從0開始。A)正確B)錯誤答案:對解析:[判斷題]199.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)優(yōu)于順序存儲。A)正確B)錯誤答案:錯解析:[判斷題]200.具有10個葉結(jié)點(diǎn)的二叉樹中,有9個度為2的結(jié)點(diǎn)()A)正確B)錯誤答案:對解析:[判斷題]201.快速排序的最好時間復(fù)雜度是O(n^2)A)正確B)錯誤答案:錯解析:[判斷題]202.C語言出現(xiàn)的早期主要用于UNIX系統(tǒng)答案:對解析:[判斷題]203.當(dāng)break語句用在雙重循環(huán)的內(nèi)循環(huán)中時,它只能退出內(nèi)循環(huán)到外循環(huán)中去,而不能直出整個雙重循環(huán)答案:對解析:[判斷題]204.構(gòu)造函數(shù)是非成員函數(shù)。()A)正確B)錯誤答案:錯解析:[判斷題]205.動態(tài)查找表和靜態(tài)查找表的重要區(qū)別在于前者包含有插入和刪除運(yùn)算,而后者不包含這兩種運(yùn)算。A)正確B)錯誤答案:對解析:[判斷題]206.哈希表中,關(guān)鍵字能夠唯一的確定一條記錄答案:對解析:[判斷題]207.隊(duì)列在程序調(diào)用時必不可少,因此遞歸離不開隊(duì)列()A)正確B)錯誤答案:錯解析:[判斷題]208.線性表就是順序存儲的表()A)正確B)錯誤答案:錯解析:[判斷題]209.集合與線性表的區(qū)別在于是否按關(guān)鍵字排序()A)正確B)錯誤答案:錯解析:[判斷題]210.類的私有成員只能被類中的成員函數(shù)訪問,任何類以外的函數(shù)對它們的訪問都是非法的。答案:錯解析:[判斷題]211.把int型的變量轉(zhuǎn)換為double型的變量不需要進(jìn)行顯式的類型轉(zhuǎn)換說明答案:對解析:[判斷題]212.()公有繼承時,派生類繼承了基類的所有成員。A)正確B)錯誤答案:錯解析:[判斷題]213.靜態(tài)類標(biāo)識符在它的作用域之外是不存在的答案:錯解析:第5部分:問答題,共47題,請?jiān)诳瞻滋幪顚懻_答案。[問答題]214.對象的___只能由這個對象的操作來存取答案:屬性解析:按照面向?qū)ο蟮姆庋b原則,一個對象的屬性和操作是緊密結(jié)合的,對象的屬性只能由這個對象的操作來存取[問答題]215.給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;classA{15public:intx;A(){}A(inta){x=a;}intget(inta){returnx+a;}};voidmain(){Aa(8);int(A::*p)(int);p=A::get;cout<<(a.*p)(5)<<endl;A*pi=&a;cout<<(pi->*P)(7)<<endl;}答案:1315解析:[問答題]216.對于下列函數(shù)定義,說法正確的是()。voidfun1(){intvar1=2,var2=3;int*p=&var1,*q=&var2;p=q;}voidfun2(){intvar1=2,var2=3;int&p=var1,&q=var2;p=q;}(a)fun1與fun2的作用完全相同。(b)運(yùn)行fun1后p、q中均存放var2的地址;運(yùn)行fun2后p、q均為var2的別名。(c)運(yùn)行fun1后p中存放var1的地址,q中存放var2的地址;運(yùn)行fun2后p為var1的別名,q為var2的別名。(d)運(yùn)行fun1后p、q中均存放var2的地址;運(yùn)行fun2后p為var1的別名,q為var2的別名。答案:本題主要考查引用和指針的區(qū)別。對于函數(shù)fun1(),p和q為指向整型的指針,它們分別被初始化為var1和var2的地址,p=q則使p中存放的地址為q中的地址即為var2的地址,所以最終p,q里都存放var2的地址。對于函數(shù)fun2(),p和q為引用,它們分別被初始化為var1和var2的別名,引用一旦被初始化,它就不能在指向其他對象。p=q的作用是讓var1的值等于var2的值,即這個語句執(zhí)行以后var1和var2的值都為3,而p和q仍然分別為var1和var2的別名。引用必須被初始化為指向一個對象,一旦初始化了它就不能再指向其他對象;指針可以指向一系列不同的對象也可以什么都不指向;如果一個參數(shù)可能在函數(shù)中指向不同的對象或者這個參數(shù)可能不指向任何對象則必須使用指針參數(shù)。答案為:d解析:[問答題]217.如何引用一個已經(jīng)定義過的全局變量?答案:可以用引用頭文件的方式,也可以用extern關(guān)鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報(bào)錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報(bào)錯,而在連接期間報(bào)錯解析:[問答題]218.請寫出下列程序的運(yùn)行結(jié)果#include<iostream.h>classWin{public:virtualvoidshape(){cout<<"Win"<<endl;}voidact(){shape();}};classBut:publicWin{public:virtualvoidshape(){cout<<"But"<<endl;}};voidmain(){Win*p1,w1;Butb1;w1.act();b1.act();p1=&w1;p1->shape();p1=&b1;p1->shape();p1->act();}答案:WinButWinButBut解析:[問答題]219.總結(jié)const的應(yīng)用和作用?答案::(1)欲阻止一個變量被改變,可以使用const關(guān)鍵字。在定義該const變量時,通常需要對它進(jìn)行初始化,因?yàn)橐院缶蜎]有機(jī)會再去改變它了;(2)對指針來說,可以指定指針本身為const,也可以指定指針?biāo)傅臄?shù)據(jù)為const,或二者同時指定為const;(3)在一個函數(shù)聲明中,可co以ns修t飾形參,表明它是一個輸入?yún)?shù),在函數(shù)內(nèi)部不能改變其值;(4)對于類的成員函數(shù),若指定其為const類型,則表明其是一個常函數(shù),不能修改類的成員變量;(5)對于類的成員函數(shù),有時候必須指定其返回值為const類型,以使得其返回值不為?左值?。解析:[問答題]220.試建立一個類SP,求,另有輔助函數(shù)power(m,n)用于求。具體要求如下:(1)私有成員數(shù)據(jù)。intn,k:存放公式中n和k的值;(2)公有成員函數(shù)。SP(intn1,intk1):構(gòu)造函數(shù),初始化成員數(shù)據(jù)n和power(intm,intn):求fun():求公式的累加和。voidshow():輸出求得的結(jié)果。(3)在主程序中定義對象s,對該類進(jìn)行測試。答案:#include<iostream.h>classSP{intn,k;public:SP(intn1,intk1);intpower(intm,intn);intfun();voidshow();};SP::SP(intn1,intm1){n=n1;k=m1;}intSP::power(intm,intn){inti;if(n==0)return1;elsefor(i=1;i<n;i++)m*=m;returnm;}intSP::fun(){inty=0,x;for(x=1;x<=n;x++)y+=power(x,k);returny;}voidSP::show(){cout<<"前n項(xiàng)的和為:"<<fun()<<endl;}voidmain(){intn1,k1;cout<<"輸入n1和k1的值"<<endl;cin>>n1>>k1;SPs(n1,k1);s.fun();s.show();}解析:[問答題]221.對象成員是指該對象所屬類中定義的成員,包括數(shù)據(jù)成員和答案:成員函數(shù)解析:C++中使用對象名、屬性和操作三要素來描述對象。描述屬性的數(shù)據(jù)稱為成員變量或數(shù)據(jù)成員,函數(shù)稱為成員函數(shù)。因?yàn)轭惐旧砭褪且环N新的數(shù)據(jù)類型,所以一個類的對象可以作為另一個類的成員。假設(shè)有A和B兩個類,可以通過在B類里定義A的對象作為B的數(shù)據(jù)成員,或者定義一個返回類型為A的函數(shù)作為B的成員函數(shù)。[問答題]222.下列程序的輸出結(jié)果第一行是________,第二行是______,第三行是________。#includeusingnamespacestd;inta=5;voidfun(inta){::a-=--a;cout答案:1,4,-3,4,-7,4解析:[問答題]223.在C++類中可以包含_____、______和三種具有不同訪問控制權(quán)的成員。答案:共有public|私有private|保護(hù)protected解析:[問答題]224.簡述C++的主要特點(diǎn)以及C++與C語言語法上的不同之處。答案:C++語言的主要特點(diǎn)表現(xiàn)在兩個方面,一是全面兼容C,并對C的功能作了不少擴(kuò)充,二是增加了面向?qū)ο蟮臋C(jī)制。C++與C語言語法上的不同點(diǎn)在于:C++支持面向?qū)ο缶幊?,C語言不支持;C++用輸入流對象輸入數(shù)據(jù),C語言不支持;C++用輸出流對象輸出數(shù)據(jù),C語言不支持;C++語言允許隨時定義變量,C語言要求變量必須定義在可執(zhí)行語句之前;C++語言中結(jié)構(gòu)名、聯(lián)合名、枚舉名可直接作為類型名,C語言中必須帶它們的關(guān)鍵字;C++中支持引用類型,C語言不支持;C++函數(shù)可以重載,C語言不允許;C++中函數(shù)參數(shù)可以帶默認(rèn)值,C語言不允許;C++語言有布爾類型,C語言沒有解析:[問答題]225.運(yùn)行下列程序結(jié)果為________________________。#include<iostream.h>constdoublePI=3.14159;classcircle{doubler;public:staticintnum;circle(double);circle(circle&);doublegetr();};circle::circle(doublei){r=i;}circle::circle(circle&c){num++;cout<<"第"<<num<<"次調(diào)用拷貝構(gòu)造函數(shù)!"<<endl;r=c.r*num;}doublecircle::getr(){returnr;}doublegetradius(circlec3){returnc3.getr();}circlefun1(){circlec4(5);returnc4;}intcircle::num=0;voidmain(){circlec1(1);cout<<"c1:"<<c1.getr()<<endl;circlec2(c1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)制度合同管理范例
- 公司汽車租賃協(xié)議合同
- 有關(guān)個人和企業(yè)借款合同
- 小區(qū)門口門面租賃合同
- 進(jìn)口銷售合同
- 金融行業(yè)投資產(chǎn)品風(fēng)險(xiǎn)提示合同
- 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院《ntroductontoMarketng》2023-2024學(xué)年第二學(xué)期期末試卷
- 運(yùn)城師范高等??茖W(xué)?!渡鐣喿x》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海師范大學(xué)天華學(xué)院《展具設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中山職業(yè)技術(shù)學(xué)院《工程流體學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園中班語言《拼小人》課件
- 侵權(quán)責(zé)任法教程完整版ppt全套教學(xué)教程課件(最新)
- 勞務(wù)派遣公司介紹ppt課件(PPT 35頁)
- 紀(jì)檢監(jiān)察機(jī)關(guān)派駐機(jī)構(gòu)工作規(guī)則PPT
- 最全麥當(dāng)勞員工手冊
- 潔凈室管理培訓(xùn)
- 晶體學(xué)之晶體的宏觀對稱PPT課件
- 質(zhì)量管理體系過程識別矩陣圖及與條款對照表
- 加班調(diào)休單(最新版)
- 智慧金字塔立體篇第四冊、第五冊答案全解
- 導(dǎo)論公共財(cái)政學(xué)概論.ppt
評論
0/150
提交評論