2025年《C++開發(fā)基礎(chǔ)》核心備考題庫(含典型題、重點(diǎn)題)_第1頁
2025年《C++開發(fā)基礎(chǔ)》核心備考題庫(含典型題、重點(diǎn)題)_第2頁
2025年《C++開發(fā)基礎(chǔ)》核心備考題庫(含典型題、重點(diǎn)題)_第3頁
2025年《C++開發(fā)基礎(chǔ)》核心備考題庫(含典型題、重點(diǎn)題)_第4頁
2025年《C++開發(fā)基礎(chǔ)》核心備考題庫(含典型題、重點(diǎn)題)_第5頁
已閱讀5頁,還剩177頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1一、單選題1.有如下程序段:執(zhí)行這個(gè)程序段后輸出字符*的個(gè)數(shù)是________。inti=1;while(1){i++;if(i==30)break;if(i%3==0)coutA、10B、8C、9D、30答案:C2.以下字符數(shù)組的初始化后不能將s看作字符串處理的是________。A、chars[5]={'A','B','\0','D','E'};B、chars[5]={'A','B','C','D'};C、chars[5]={'A','B','C','D','E'};D、chars[5]=“ABCD”;答案:C3.下列排序算法中不穩(wěn)定的是A、冒泡排序B、折半插入排序C、快速排序D、以上都是穩(wěn)定的答案:C4.下列有關(guān)重載函數(shù)的說法中錯(cuò)誤的是()A、重載函數(shù)必須具有不同的返回值類型B、重載函數(shù)名必須相同C、重載函數(shù)參數(shù)個(gè)數(shù)可以不同D、重載函數(shù)必須有不同的形參列表答案:A解析:函數(shù)重載,是指在程序的同一范圍內(nèi)聲明幾個(gè)功能類似的同名函數(shù)。在調(diào)用同名函數(shù)時(shí),實(shí)現(xiàn)函數(shù)的重載必須滿足下列條件之一:1)參數(shù)表中對(duì)應(yīng)的參數(shù)類型不同。2)參數(shù)表中參數(shù)個(gè)數(shù)不同。如果兩個(gè)函數(shù)的名字和參數(shù)表都是一樣的,僅僅是返回值類型不同,則這兩個(gè)函數(shù)不是重載的,編譯器認(rèn)為它們是重復(fù)定義,編譯時(shí)會(huì)報(bào)錯(cuò)。故本題選A。5.在定義inta[2][3];之后,對(duì)a的元素正確引用的有________。A、a[2][2]B、a[1,3]C、a[1>2][!1]D、a[2][0]答案:C6.下列程序的輸出結(jié)果是()復(fù)制代碼#include<iostream>Usingnamespacestd;Intmain(void){Intx=1,i=1;For(;x<50;i++){If(x>=10)Break;If(x%2!=0){X+=3;Continue;}X-=-1;}Cout<<x<<''<<i<<endl;Return0;}A、127B、116C、126D、117答案:C7.遞歸函數(shù)最終會(huì)結(jié)束,那么這個(gè)函數(shù)一定A、使用局部變量B、有一個(gè)分支不調(diào)用自身C、使用了全局變量或者使用了一個(gè)或者多個(gè)參數(shù)D、沒有虛幻調(diào)用答案:B8.下列虛基類的聲明中正確的是()。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA答案:D9.C++中注釋“/*”的有效范圍是()A、從“/*”開始到行尾B、從“/*”開始后不終止C、從“/*”開始到“//”為止D、從“/*”開始到“*/”為止答案:D解析:C++程序中,仍沿用C語言的注釋風(fēng)格,即注釋有以下兩種形式。1)從/*開始,到*/結(jié)束,這之間的所有內(nèi)容都視作注釋。故本題選D。2)從//直到行尾,都是注釋。10.執(zhí)行語句for(inti=50;i>1;--i)cout<<"$";后,輸出字符'$'的個(gè)數(shù)為________。A、48B、49C、50D、51答案:B11.下列哪一個(gè)語句是不正確的:()A、if(a=0);B、;C、intA,b=0;D、cout>>"HI";答案:D12.以下哪種類型是C++比C語言新增的數(shù)據(jù)類型(題)A、整型(int)B、布爾類型(bool)C、指針類型(*)D、字符類型(char)答案:B13.C++語言中,函數(shù)返回值的類型是由()決定。A、主調(diào)函數(shù)的類型B、return語句中表達(dá)式的類型C、由系統(tǒng)臨時(shí)指定D、定義該函數(shù)時(shí)所指定的函數(shù)類型答案:D14.C++輸入輸出格式控制是在哪個(gè)頭文件中定義的?()A、iostream.hB、iomanip.hC、istream.hD、ostream.h答案:A15.以下正確的說法是()A、結(jié)構(gòu)體類型變量不能初始化。B、結(jié)構(gòu)體類型變量為外部變量或靜態(tài)變量時(shí)能初始化。C、結(jié)構(gòu)體數(shù)組不能初始化D、可以用賦值語句將一組常量賦給一個(gè)結(jié)構(gòu)體變量答案:B16.有如下程序:classTest{public:inta;Test(inti):a(i){}Test(Test&t){A=t.a;Cout<<“拷貝構(gòu)造函數(shù)”<<endl;}};Voidmain(){Testobj1(10);Testobj2=obj1;Testobj3(obj1);}請(qǐng)問程序輸出的結(jié)果為:()A、拷貝構(gòu)造函數(shù)B、拷貝構(gòu)造函數(shù)拷貝構(gòu)造函數(shù)C、1010D、無任何輸出內(nèi)容答案:B17.以下關(guān)于內(nèi)存泄漏說法正確的是()A、如果一個(gè)進(jìn)程在運(yùn)行過程中占用的內(nèi)存無限制上升,那么該進(jìn)程可能有內(nèi)存泄漏B、單線程程序不可能內(nèi)存泄漏C、內(nèi)存泄漏是操作系統(tǒng)內(nèi)存管理出錯(cuò)導(dǎo)致的問題D、只要進(jìn)程在退出之前釋放了所有分配的內(nèi)存,那么就不會(huì)內(nèi)存泄漏答案:A解析:A:內(nèi)存泄露是進(jìn)程申請(qǐng)了內(nèi)存卻沒有釋放。導(dǎo)致占用內(nèi)存無限上升B:內(nèi)存泄露跟線程數(shù)無關(guān)C:內(nèi)存泄露是程序設(shè)計(jì)的bug,不是操作系統(tǒng)的問題D:進(jìn)程退出之前釋放申請(qǐng)的內(nèi)存,不代表進(jìn)程運(yùn)行過程中沒有內(nèi)存泄露E:java是自動(dòng)管理內(nèi)存的,但是也會(huì)有內(nèi)存泄露,比如加入HashMap的對(duì)象hash值改變了就無法從HashMap中remove,這就造成了內(nèi)存泄露18.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是()。A、輸入、處理、輸出B、樹形、網(wǎng)形、環(huán)形C、順序、選擇、循環(huán)D、主程序、子程序、函數(shù)答案:C19.以下敘述不正確的是()A、在不同的函數(shù)中可以使用同名的變量B、函數(shù)中的形式參數(shù)是局部變量C、在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D、在函數(shù)內(nèi)復(fù)合語句中定義的變量也可在本函數(shù)范圍內(nèi)有效答案:D20.以下4個(gè)選項(xiàng)中,不能看作一條語句的是()。A、if(b==0)m=1;n=2B、a=0,b=0,c=0C、if(a>0)D、{;}答案:B21.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是()A、classderived::studentprivate{//,,,,.}B、classderived::studentpublic{//,,,,.}C、classderived::publicstudent{//,,,,.}D、classderived::privatestudent{//,,,,.}答案:D22.已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是()。A、0B、5C、6D、1答案:B23.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的3種基本控制結(jié)構(gòu)是()。A、輸入、處理、輸出B、樹形、網(wǎng)形、環(huán)形C、順序、選擇、循環(huán)D、主程序、子程序、函數(shù)答案:C24.在下列運(yùn)算符中,()優(yōu)先級(jí)最低。A、!B、&&C、!=D、?:答案:D25.有以下語句定義intx=5;constint*constp=&x;constint&q=x;intconst*next=&x;constint*j=&x;則有語法正確的是()A、*p=1;B、q++;C、next++;D、(*j)++;答案:C26.從一個(gè)棧頂指針為HS的鏈棧中刪除一個(gè)結(jié)點(diǎn),用x保存被刪除結(jié)點(diǎn)的值,則執(zhí)行A、x=HS;HS=HS->next;B、HS=HS->next;x=HS->data;C、x=HS->data;HS=HS->next;D、s->next=Hs;Hs=HS->next;答案:C27.下列有關(guān)內(nèi)聯(lián)函數(shù)敘述中,錯(cuò)誤的是________。A、內(nèi)聯(lián)函數(shù)內(nèi)不可以有循環(huán)語句和開關(guān)語句B、使用內(nèi)聯(lián)函數(shù)是以空間換取時(shí)間的C、內(nèi)聯(lián)函數(shù)降低了函數(shù)的執(zhí)行效率D、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前答案:C28.下列程序的輸出結(jié)果為________。#includeusingnamespacestd;intmain(){enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;cout<A、1,6B、2,5C、1,4D、2,6答案:A29.在一個(gè)有參函數(shù)的原型聲明中可有可無的語法成分是()。A、形參類型B、形參變量C、函數(shù)名D、函數(shù)返回類型答案:B30.在一棵高度為h的具有n個(gè)元素的二叉搜索樹中,搜索所有元素的搜索長度中最大的為A、nB、log2nC、(h+1)/2D、h+1答案:D31.下列排序算法中,已基本有序卻反而變得更復(fù)雜的排序算法是:()。A、冒泡排序B、快速排序C、簡擇排序D、插入排序答案:B32.函數(shù)參數(shù)的默認(rèn)值不允許為()。A、全局常量B、直接常量C、局部變量D、函數(shù)調(diào)用答案:C33.表示一個(gè)語句是宏定義語句的標(biāo)識(shí)符是()。A、includeB、#includeC、defineD、#define答案:D34.已知有如下定義:structDate{intyear,month,day;};structstudent{intnum;charname[80];Datebirthday;};則下列語句錯(cuò)誤的是________。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}};答案:C35.已知:shorta=1;則表達(dá)式sizeof(a+'a')的值為()。A、1B、2C、4D、8答案:C36.在一個(gè)函數(shù)中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用()。A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸調(diào)用D、嵌套調(diào)用答案:A37.對(duì)類中聲明的變量,下列描述中正確的是()A、屬于全局變量B、只屬于該類C、屬于該類,某些情況下也可被該類不同實(shí)例所共享D、任何情況下都可被該類所有實(shí)例共享答案:C38.能實(shí)現(xiàn)刪除文件數(shù)據(jù)的語句是()。A、ofstreamfs(“date.dat“,ios::trunc);B、ifstreamfs(“date.dat“,ios::trunc);C、ofstreamfs(“date.dat“,ios::out);D、ifstreamfs(“date.dat“,ios::in);答案:A39.對(duì)于語句cout<<endl<<x;中的各個(gè)組成部分,下列敘述中錯(cuò)誤的是()。A、”cout”是一個(gè)輸出流對(duì)象B、”endl”的作用是輸出回車換行C、”x”是一個(gè)變量D、”<<”稱作提取運(yùn)算符答案:D40.下面的變量說明中()是正確的。A、char:a,B,c;B、charA,B,c;C、charA,B,c。D、chara;b;c;答案:B41.下列選項(xiàng)中,用于清除基數(shù)格式位設(shè)置以十六進(jìn)制輸出的語句是()。A、cout<<setf(ios::dec,ios::basefield);B、cout<<setf(ios::hex,ios::basefield);C、cout<<setf(ios::oct,ios::basefield);D、cin>>setf(ios::hex,ios::basefield);答案:B42.執(zhí)行語句序列Inti=0;while(i<25)i+=3;cout<<i;輸出結(jié)果是()。A、24B、25C、27D、28答案:C43.下面程序的輸出結(jié)果是()#includeusingnamespacestd;voidfun(intx,inty,intz){z=x*x+y*y;}intmain(){intz=68;fun(5,2,z);coutA、0B、29C、68D、無定值答案:C44.下列數(shù)組定義語句中,不合法的是()。A、inta[3]={0,1,2,3};B、inta[]={0,1,2};C、inta[3]={0,1,2};D、inta[3]={0};答案:A45.有如下4個(gè)語句:①cout<<'A'<<setfill('*')<<setiosflags(ios::left)<<setw(7)<<'B'<<endl;②cout<<setfill('*')<<setiosflags(ios::left)<<setw(7)<<'A'<<'B'<<endl;③cout<<'A'<<setfill('*')<<setiosflags(ios::right)<<setw(7)<<'B'<<endl;④cout<<setfill('*')<<setiosflags(ios::right)<<setw(7)<<'A'<<'B'<<endl;其中能顯示A******B是()。(題)A、②和④B、①和③C、①和④D、②和③答案:D46.如果調(diào)用帶有默認(rèn)參數(shù)的函數(shù)時(shí)缺少一個(gè)參數(shù),則()參數(shù)就作為這一參數(shù)。A、第一個(gè)B、最后一個(gè)C、中間一個(gè)D、以上都不是答案:B47.派生類的對(duì)象對(duì)它的基類成員中()是可以訪問的。A、公有繼承的公有成員;B、公有繼承的私有成員;C、公有繼承的保護(hù)成員;D、私有繼承的公有成員。答案:A48.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。(題)A、int、double、longB、long、double、intC、long、float、intD、int、float、long答案:A49.有以下程序:#include<iostream>Usingnamespacestd;Voidmain(){Chara='A',b;Cout<<++a;Cout<<(b=a++)<<endl;}程序運(yùn)行后的輸出結(jié)果是_____。(題)A、BBB、BCC、ACD、AB答案:A50.C++輸入輸出格式控制是在哪個(gè)頭文件中定義的?()A、iostream.hB、iomanip.hC、istream.hD、ostream.h答案:A51.下列各組類型聲明符中,含義相同的一組是()。(題)A、signedshortint和shortB、unsignedlongint和longC、unsignedshort和shortD、shortint和int答案:A52.下列關(guān)于函數(shù)的描述中,錯(cuò)誤的是()。A、函數(shù)可以沒有返回值B、函數(shù)可以沒有參數(shù)C、函數(shù)可以是一個(gè)類的成員D、函數(shù)不能被定義為模板答案:D53.對(duì)于類中定義的成員,不設(shè)置訪問權(quán)限,默認(rèn)的訪問權(quán)限為()。A、publicB、protectedC、privateD、static答案:C54.在單鏈表中,存儲(chǔ)每個(gè)結(jié)點(diǎn)需要有兩個(gè)域,一個(gè)是數(shù)據(jù)域,另一個(gè)是指針域,指針域指向該結(jié)點(diǎn)的()A、直接前趨B、直接后繼C、開始結(jié)點(diǎn)D、終端結(jié)點(diǎn)答案:B55.有以下程序Floatfun(intx,inty){return(x+y);}Intmain(){inta=2,b=5,c=8;Cout<<fun((int)fun(a+c,b),a-c)<<endl;Return0;}程序運(yùn)行后的輸出結(jié)果是()。A、編譯出錯(cuò)B、9C、21D、9.0答案:B56.以下程序的輸出結(jié)果是()。F(intb[],intm,intn){Inti,s=0;For(i=m;i<n;i=i+2)s=s+b[i];Returns;}Main(){Intx,a[]={1,2,3,4,5,6,7,8,9};X=f(a,3,7);Printf(""%d\n"",x);}"A、10B、18C、8D、15答案:A57.有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<'*';}執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是()。A、10B、3C、4D、5答案:C58.下面for語句執(zhí)行時(shí)循環(huán)次數(shù)為()。Inti;For(i=0,j=5;i=j;){cout<<i<<j<<endl;I++;j--;}A、0B、5C、10D、無限答案:B59.哪個(gè)指令可以查看git歷史提交記錄A、gitlogB、gitcommitC、gitaddD、gitdiff答案:A60.下列說法正確的是________。A、字符型數(shù)組與整型數(shù)組可通用B、字符型數(shù)組與字符串其實(shí)沒什么區(qū)別C、字符串的輸出可以用存儲(chǔ)它的數(shù)組來輸出,也可以字符串的形式整體輸出,結(jié)果沒區(qū)別D、當(dāng)字符串放在字符數(shù)組中,這時(shí)要求字符數(shù)組長度比字符串長1個(gè)單元,因?yàn)橐抛址K結(jié)符'\0’答案:D61.在二叉樹結(jié)點(diǎn)的先序序列,中序序列和后序序列中,所有葉子結(jié)點(diǎn)的先后順序A、都不相同B、完全相同C、先序和中序相同,而與后序不同D、中序和后序相同,而與先序不同答案:B62.執(zhí)行語句序列inta=10,b=15,c;c=a||(a+=b)||(++b);后,變量a、b和c的值分別為________。A、10,15,1B、25,16,1C、10,15,10D、25,15,1答案:A63.對(duì)n個(gè)記錄的文件進(jìn)行快速排序,所需要的輔助存儲(chǔ)空間大致為··A、O(1)B、O(n)C、O(1og2n)D、O(n2)答案:C64.[虛基類初始化]下列程序的輸出是:#include<iostream>Usingnamespacestd;ClassA{public:A(){cout<<"A";}};ClassB:virtualpublicA{public:B(){cout<<"B";}};ClassC:virtualpublicA{public:C(){cout<<"C";}};ClassD:publicB,publicC{public:D(){cout<<"D";}};Intmain(){Dd1;return0;}A、ABACDB、ABCDC、BCDD、D答案:B65.鏈?zhǔn)酱鎯?chǔ)的存儲(chǔ)結(jié)構(gòu)所占存儲(chǔ)空間A、分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放表示結(jié)點(diǎn)間關(guān)系的指針B、只有一部分,存放結(jié)點(diǎn)值C、只有一部分,存儲(chǔ)表示結(jié)點(diǎn)間關(guān)系的指針D、分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放結(jié)點(diǎn)所占單元數(shù)答案:A66.模板函數(shù)的真正代碼是在()時(shí)候產(chǎn)生。A、源程序中聲明函數(shù)時(shí)B、源程序中定義函數(shù)時(shí)C、源程序中的調(diào)用函數(shù)時(shí)D、運(yùn)行執(zhí)行函數(shù)時(shí)答案:C67.如果變量x,y已經(jīng)正確定義,下列語句哪一項(xiàng)不能正確將x,y的值進(jìn)行交換()。A、x=x+y,y=x-y,x=x-yB、t=x,x=y;y=tC、t=y,y=x,x=tD、x=t,t=y,y=x答案:D68.下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是________。A、構(gòu)造函數(shù)名與類名相同B、構(gòu)造函數(shù)可以有返回值C、構(gòu)造函數(shù)可以重載D、每個(gè)類都有構(gòu)造函數(shù)答案:B69.函數(shù)默認(rèn)參數(shù)在函數(shù)原型中說明,默認(rèn)參數(shù)必須放在參數(shù)序列的()A、前部B、中部C、后部D、兩端答案:C解析:定義函數(shù)時(shí),只能為函數(shù)最后面的連續(xù)若干個(gè)參數(shù)設(shè)置默認(rèn)值,且在調(diào)用處也只能缺省后面的連續(xù)若干個(gè)實(shí)參。即默認(rèn)參數(shù)必須在參數(shù)序列的后部。70.若一個(gè)類中含有純虛函數(shù),則該類稱為()。A、基類B、純基類C、抽象類D、派生類答案:C71.有如下程序:intf1();staticintf2();classA{public:intf3();staticintf4();};在所描述的函數(shù)中,具有隱含的this指針的是________。A、f1B、f2C、f3D、f4答案:C72.if(x),表達(dá)式x等效于()。A、x==1B、x==0C、x!=1D、x!=0答案:D73.使用new創(chuàng)建的對(duì)象,對(duì)其生命周期描述正確的是()A、由系統(tǒng)決定B、由用戶控制C、全局生命周期D、永久存在答案:B解析:運(yùn)算符new用于建立生存期可控的對(duì)象,new返回這個(gè)對(duì)象的指針。使用new建立的動(dòng)態(tài)對(duì)象只能用delete刪除,以便釋放所占空間,因此由new創(chuàng)建的對(duì)象生命周期由用戶控制。74.設(shè)有如下定義:Structst{Inta;Intb;}data;Int*p;則要使p指向data中的成員a的正確賦值語句是()。A、p=&a;B、p=data.aC、p=&data.aD、p=data.&a答案:C75.以下不正確的定義語句是()。A、doublex[5]={2.0,4.0,6.0,8.0,10.0};B、inty[5]={0,1,3,5,7,9};C、charc1[]={′1′,′2′,′3′,′4′,′5′};D、charc2[]={′\x10′,′\xa′,′\x8′};答案:B76.無類型標(biāo)識(shí)符是指()A、voidB、boolC、shortD、long答案:A解析:如果函數(shù)不需要返回值,可用void標(biāo)識(shí)。故本題選A。Bool表示布爾型,short表示短整型,long表示長整型,這三個(gè)都是數(shù)據(jù)類型。77.假定AB為一個(gè)類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時(shí)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()A、3B、4C、5D、9答案:B78.定義如下變量和數(shù)組:Intk;Inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語句的輸出結(jié)果是()。For(k=0;k<3;k++)cout<<a[k][k];A、753B、951C、963D、741答案:B79.對(duì)于C/C++語言的函數(shù)下列敘述中正確的是()。A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套B、函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用都不能嵌套D、函數(shù)的定義和調(diào)用都可以嵌套答案:A80.下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。A、內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義C、內(nèi)聯(lián)函數(shù)是通過編譯器來實(shí)現(xiàn)的D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語句必須是return語句答案:C81.下述程序中,含有錯(cuò)誤的行是________。A、1行B、2行C、3行D、4行答案:B82.對(duì)于C/C++語言的函數(shù),下列敘述中正確的是()。A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套。B、函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用都不能嵌套。D、函數(shù)的定義和調(diào)用都可以嵌套答案:A83.請(qǐng)問對(duì)一個(gè)排好序的數(shù)組進(jìn)行查找,用平均時(shí)間復(fù)雜度最小的算法,時(shí)間復(fù)雜度為()A、O(n)B、O(logn)C、O(nlogn)D、O(1)答案:B84.在一個(gè)類體的下列聲明中,正確的純虛函數(shù)聲明是()。A、virtualvoidvf()=0;B、voidvf(int)=0;C、virtualintvf(int);D、virtualvoidvf(int){}答案:A85.在下列關(guān)鍵字中,不能用來表示繼承方式的是________。A、privateB、staticC、publicD、protected答案:B86.C++程序中的簡單語句必須以()結(jié)束。(題)A、空格B、冒號(hào)C、分號(hào)D、花括號(hào)答案:C87.關(guān)于用const定義的常變量,下列敘述錯(cuò)誤的是________。A、定義常變量時(shí)必須進(jìn)行初始化B、每個(gè)常變量都有其特定的數(shù)據(jù)類型C、常變量在使用前必須先進(jìn)行定義D、常變量定義之后可以被改變答案:D88.在C程序的源文件中如果需要使用函數(shù)strcpy,需要在該文件開頭引入哪個(gè)頭文件()A、iostream.hB、string.hC、math.hD、不需要任何頭文件答案:B89.下列有關(guān)new和delete運(yùn)算符的描述中,錯(cuò)誤的是________。A、new運(yùn)算符分配的空間只能用delete運(yùn)算符撤銷B、對(duì)一個(gè)指針只能使用一次deleteC、當(dāng)用于刪除數(shù)組時(shí),在delete運(yùn)算符后面可直接跟數(shù)組名,而不用管數(shù)組的維數(shù)D、new運(yùn)算符分配數(shù)組空間時(shí)不能指定初值答案:C90.類A、B、C的定義如下:ClassA{public:intm;A(intm=0):m(m){}};ClassB{public:intm;A(intm=0):m(m){}};ClassC{public:intm;Aa;Bb;C(intm=0):b(m),a(m),m(m){}};則在C類的對(duì)象生命期結(jié)束時(shí),調(diào)用各個(gè)類的析構(gòu)函數(shù)的次序是:A、A,B,CB、B,A,CC、C,A,BD、C,B,A答案:D91.以下代碼中的兩個(gè)sizeof用法有問題嗎?voidUpperCase(charstr[])//將str中的小寫字母轉(zhuǎn)換成大寫字母{For(size_ti=0;i<sizeof(str)/sizeof(str[0]);++i)If('a'<=str[i]&&str[i]<='z')Str-=('a'-'A');}Charstr[]="aBcDe";Cout<<"str字符長度為:"<<sizeof(str)/sizeof(str[0])<<endl;UpperCase(str);Cout<<str<<endl;A、函數(shù)內(nèi)的有問題B、函數(shù)外的有問題C、函數(shù)內(nèi),外的都有問題D、用法正確答案:C解析:外層是字符串長度不正確,內(nèi)層是數(shù)組退化為指針。92.下列選項(xiàng)中,if語句語法正確的是()。A、if(x>0)printf("%f",x)elseprintf("%f",-x);B、if(x>0){x=x+y;printf("%f",x);}elseprintf("%f",-x);C、if(x>0){x=x+y;printf("%f",x);};elseprintf("%f",-x);D、if(x>0){x=x+y;printf("%f",x)};elseprintf("%f",-x);答案:B93.遞歸算法必須包括·A、遞歸部分B、終止條件和遞歸部分C、迭代部分D、終止條件和迭代部分答案:B94.執(zhí)行下列程序后,輸出的結(jié)果是()。floata=1.1234;doubleb=1.1234;if(a==b)cout<<"Equal\n";elsecout<<"notequal\n";(題)A、notequalB、equalC、equalnotequalD、notequalequal答案:A95.有如下程序:#includeusingnamespacestd;classBase{private:voidfun1(){cout<<"fun1";}protected:voidfun2(){cout<<"fun2";}public:voidfun3(){cout<<"fun3";}};classDerived:protectedBase{public:voidfun4(){cout<<"fun4";}};intmain(){Derivedobj;obj.fun1();//①obj.fun2();//②obj.fun3();//③obj.fun4();//④return0;}其中有語法錯(cuò)誤的語句是________。A、①②③④B、①②③C、②③④D、①④答案:B96.下列選項(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;答案:A97.定義以下的類:classA{inta;public:A(intx=0){a=x;}};classB:publicA{intb;public:B(intx=0,inty=0):A(y){b=x;}};下列語句中,存在語法錯(cuò)誤的是________。A、A*pa=newB(1,2);B、Aa1=B(1,3);C、Ab2(2,3);B&a2=b2;D、Bb3(10);Aa3(b3);答案:C98.0有如下程序:#includeusingnamespacestd;intmain(){intf,f1=0,f2=1;for(inti=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<A、2B、3C、5D、8答案:C99.下面描述中,錯(cuò)誤的是()。A、在基類定義的public成員在公有繼承的派生類中可見,也能在類外被訪問。B、在基類定義的protected成員在私有繼承的派生類中可見。C、在基類定義的公有靜態(tài)成員在私有繼承的派生類中可見。D、訪問聲明可以在公有繼承派生類中把基類的public成員聲明為private成員。答案:D100.能正確表示邏輯關(guān)系:“0≤a≤10”的C++語言表達(dá)式是________。A、a<=10anda>=0B、0<=a<=10C、a<=10&&a>=0D、a<=10‖a>=0答案:C101.#include<iostream>Usingnamespacestd;Voidmain(){Inti,j,x=0;For(i=0;i<2;i++){X++;For(j=0;j<=3;j++){If(j%2)Continue;X++;}X++;}Cout<<"x="<<x<<endl;}(題)A、x=4B、x=6C、x=8D、x=10答案:C102.對(duì)使用關(guān)鍵字new所開辟的動(dòng)態(tài)存儲(chǔ)空間,釋放時(shí)必須使用()A、freeB、createC、deleteD、realse答案:D解析:使用new運(yùn)算符動(dòng)態(tài)申請(qǐng)的內(nèi)存空間,需要在使用完畢釋放。C++提供了delete運(yùn)算符,用來釋放動(dòng)態(tài)分配的內(nèi)存空間。delete運(yùn)算符的基本用法如下:Delete指針;故本題選C103.在下面的do-while循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數(shù)為()?inti=0;do{i++;}while(i<10)A、8B、9C、10D、11答案:C104.逗號(hào)表達(dá)式(x=2*3,x=x*5),x+25的值為________。A、25B、55C、45D、100答案:B105.下列有關(guān)輸入、輸出的說法錯(cuò)誤的是()。A、C++語言本身沒有提供輸入、輸出語句B、C++語言中輸入輸出功能是通過輸入輸出流庫中的流對(duì)象cin和cout實(shí)現(xiàn)的C、函數(shù)putchar()只能用來輸出字符型變量的內(nèi)容D、函數(shù)getchar()一次只能輸入一個(gè)字符答案:C106.用C++語言編制的源程序要變?yōu)槟繕?biāo)程序必須要經(jīng)過()。(題)A、編譯B、編輯C、匯編D、解釋答案:A107.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;則不.能.表示數(shù)組a中元素的式子是()。A、*aB、*pC、aD、a[p-a]答案:C108.派生類的構(gòu)造函數(shù)的成員初始化列中,不能包含()。A、基類的構(gòu)造函數(shù);B、派生類中子對(duì)象的初始化;C、基類的子對(duì)象初始化;D、派生類中一般數(shù)據(jù)成員的初始化答案:C109.在inta=3,*p=&a;中,*p的值是()。A、變量a的地址值B、無意義C、變量p的地址值D、3答案:D110.關(guān)于內(nèi)聯(lián)函數(shù),以下說法正確的是。()A、內(nèi)聯(lián)函數(shù)不需要經(jīng)過編譯B、內(nèi)聯(lián)函數(shù)適用于函數(shù)體比較復(fù)雜的情況C、內(nèi)聯(lián)函數(shù)可以提高程序執(zhí)行效率D、聲明內(nèi)聯(lián)函數(shù)只需要在函數(shù)聲明前加inline關(guān)鍵字答案:C111.設(shè)單鏈表中指針p指向結(jié)點(diǎn)m,若要?jiǎng)h除m之后的結(jié)點(diǎn)(若存在),則需修改指針的操作為A、p->next=p->next->next;B、p=p->next;C、p=p->next->next;D、p->next=p;答案:A112.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇()。A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸函數(shù)D、函數(shù)模板答案:A113.cout是C++的()A、關(guān)鍵字B、對(duì)象C、類D、運(yùn)算符答案:B解析:C++類中對(duì)象:Cin:運(yùn)算符為>>,用于鍵盤輸入。Cout:運(yùn)算符為<<,用于屏幕輸出。故cout是對(duì)象。選B。114.圖的鄰接矩陣存儲(chǔ)正確的是A、定義一個(gè)數(shù)組用來存儲(chǔ)頂點(diǎn)和邊信息B、定義一個(gè)數(shù)組用來存儲(chǔ)權(quán)重C、定義兩個(gè)數(shù)組存儲(chǔ)頂點(diǎn)和邊信息D、以上說法都不正確答案:C115.下面關(guān)于break語句的描述中,不正確的是().A、break語句可以在for循環(huán)語句中出現(xiàn)多次B、break語句可以在switch語句中出現(xiàn)多次C、一個(gè)break語句就可以跳出多重循環(huán)D、break可以用于循環(huán)體內(nèi)答案:C116.unsignedinta=0x10100101;charb=a;b的值是多少?A、0x10B、0x01答案:B117.下列說法中不正確的是()。A、對(duì)象是類的一個(gè)實(shí)例B、任何一個(gè)對(duì)象只能屬于一個(gè)類C、一個(gè)類只能有一個(gè)對(duì)象D、類與對(duì)象間的關(guān)系和數(shù)據(jù)類型與變量間關(guān)系相類似答案:C118.重載函數(shù)中調(diào)用時(shí)選擇的依據(jù)中,_____是錯(cuò)誤的。A、函數(shù)名字B、函數(shù)的返回類型C、參數(shù)個(gè)數(shù)D、參數(shù)的類型答案:B119.有以下的類定義:classMyClass{public:MyClass(){coutA、11B、111C、1111D、11111答案:B120.如果定義:floata[10],x;則以下敘述中正確的是()A、語句a=&x;是非法的B、表達(dá)式a+1是非法的C、三個(gè)表達(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)正確。121.在if語句中的表達(dá)式是()。A、只能是表達(dá)式B、只能是關(guān)系表達(dá)式和邏輯表達(dá)式C、只能是邏輯表達(dá)式D、可以是任意表達(dá)式答案:D122.執(zhí)行下列語句后,x的值是(d),y的值是()。Intx,y;X=y=1;++x||++y;A、不確定B、0C、1D、2答案:C123.以下關(guān)于函數(shù)的敘述中正確的是________。A、每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))B、每個(gè)函數(shù)都可以被單獨(dú)編譯C、每個(gè)函數(shù)都可以單獨(dú)運(yùn)行D、在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)答案:B124.下列哪個(gè)不是面向?qū)ο蟮年P(guān)鍵要素()A、抽象性B、結(jié)構(gòu)性C、封裝性D、多態(tài)性答案:B解析:面向?qū)ο蟮某绦蛟O(shè)計(jì)有“抽象”“封裝”“繼承”和“多態(tài)”4個(gè)基本特點(diǎn)。故不包括B。125.對(duì)于某個(gè)函數(shù)調(diào)用,不給出調(diào)用函數(shù)的聲明的情況是________。A、被調(diào)用函數(shù)是無參函數(shù)B、被調(diào)用函數(shù)是無返回值的函數(shù)C、函數(shù)的定義在調(diào)用處之前D、函數(shù)的定義有別的程序文件中答案:C126.若有以下類W說明,函數(shù)fConst的正確定義是()。ClassW{inta;Public:VoidfConst(int)const;};A、voidW::fConst(intk)const{k=a;}B、voidW::fConst(intk)const{k=a++;}C、voidW::fConst(intk)const{cin>>a;}D、voidW::fConst(intk)const{a=k;}答案:A127.若有以下定義,則對(duì)結(jié)構(gòu)體變量錯(cuò)誤操作的是。StructCC{Intnum;Charname[10];Floatscore[2];}s;(題)A、cin>>s.num;B、s.score[1]=66.5;C、cin>>s.score[0];D、=”LiMing”;答案:D128.通過下面哪種方式存儲(chǔ)待排序元素,可以更容易實(shí)現(xiàn)快速排序A、順序存儲(chǔ)B、鏈?zhǔn)酱鎯?chǔ)C、堆D、棧答案:A129.定義了指向常量的指針p的選項(xiàng)是()A、constint*p;B、int*p;C、int*constp=&x;D、constint*constp=&x;答案:A解析:const修飾指針變量時(shí):如果唯一的const位于符號(hào)*的左側(cè),表示指針?biāo)笖?shù)據(jù)是常量,數(shù)據(jù)不能通過本指針改變,但可以通過其他方式進(jìn)行修改;指針本身是變量,可以指向其他的內(nèi)存單元。本題中,“指向常量的指針p”,表示指針?biāo)笖?shù)據(jù)是常量,故唯一的const位于符號(hào)*的左側(cè),選A。注意:如果唯一的const位于符號(hào)*的右側(cè),表示指針本身是常量,不能讓該指針指向其他內(nèi)存地址;指針?biāo)傅臄?shù)據(jù)可以通過本指針進(jìn)行修改。在符號(hào)*的左右各有一個(gè)const時(shí),表示指針和指針?biāo)笖?shù)據(jù)都是常量,既不能讓指針指向其他地址,也不能通過指針修改所指向的內(nèi)容。130.假定一條定義語句為“inta[10],x,*p=a;”,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的語句為()A、x=p[3]B、x=*(a+3)C、x=a[3]D、x=*p+3答案:D131.有以下函數(shù)定義:Voidfun(intn,doublex){…}若以下選項(xiàng)中的變量都已經(jīng)正確定義且賦值,則對(duì)函數(shù)fun的正確調(diào)用語句是()。A、fun(inty,doublem);B、k=fun(10,12.5);C、fun(x,n);D、voidfun(n,x);答案:C132.有序數(shù)組123456789查找3的二分查找序列是:A、1->2->3B、5->2->3C、9->5->3D、5->1->4->3答案:B133.有如下類定義和變量定義:classBase{public:intx;private:inty;};classA:publicBase{/*類體略*/};classB:privateBase{/*類體略*/};Aa;Bb;下列語句中正確的是________。A、cout<B、cout<C、cout<D、cout<答案:A134.下列字符常量的寫法中,錯(cuò)誤的是()A、′\t′B、“B”C、‘*’D、‘a(chǎn)’答案:B解析:字符常量:用單引號(hào)括起來的單個(gè)字符或轉(zhuǎn)義字符。字符串常量:用雙引號(hào)括起來。選項(xiàng)B是字符串常量。135.設(shè)有定義:intx[10],*p=x,i;若要為數(shù)組x讀入數(shù)據(jù),以下選項(xiàng)正確的是()A、for(i=0;i<10;i++)scanf("%d",p+i);B、A.for(i=0;i<10;i++)scanf("%d",*p+i);C、A.for(i=0;i<10;i++)scanf("%d",*(p+i));D、A.for(i=0;i<10;i++)scanf("%d",x[i]);答案:A136.已知p是一個(gè)指向類sample數(shù)據(jù)成員m的指針,s是類sample的一個(gè)對(duì)象。如果要給m賦值為5,哪個(gè)是正確的()。A、s.p=5B、s->p=5C、s.*p=5D、*s.p=5答案:C137.下列輸出語句中,正確的是()A、cout<<("%c\n","student")B、cout<<("%s\n","hello")C、cout<<("%c\n","c")D、cout<<("%s\n",&a)答案:B解析:%c是輸岀單個(gè)字符的格式控制符。%s是輸出字符串的格式控制符。故只有B正確。選項(xiàng)C中"c"是字符串,不能用c%格式輸出。138.若x是一個(gè)bool型變量,y是一個(gè)值為-5的int型變量,則表達(dá)式!x&&y<0的值為________。A、為trueB、為falseC、與x的值相同D、與x的值相反答案:D139.關(guān)于C++的特點(diǎn)下列說法不正確的是()。A、C++是C語言的超集,大多數(shù)C程序在不用修改的情況下就可以在C++的集成環(huán)境下運(yùn)行或調(diào)試B、C++是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言C、C++的執(zhí)行效率很高D、C++中沒有結(jié)構(gòu)化編程的語句答案:D140.若int型變量x,y.x=29,y=6,則表達(dá)式x/y的值為()。A、5B、5.0C、4D、4.83333答案:C141.下面選項(xiàng)中等價(jià)的是________。A、inta[2][3]={3,4,5}與inta[][3]={3,4,5};B、inta[2][3]={0,1}與inta[2][3]={{0},{1}};C、inta[2][3]={1,0,2,2,4,5}與inta[2][]={1,0,2,2,4,5};D、inta[][3]={1,0,2,2,4,5}與inta[2][3]={1,0,2,2,4,5};答案:D142.設(shè)n是描述問題規(guī)模的非負(fù)整數(shù),下面程序片段的時(shí)間復(fù)雜度是()。x=2;while(xA、O(log2n)B、O(n)C、O(nlog2n)D、O(n2)答案:A143.在一個(gè)單鏈表head中,若要在指針p所指結(jié)點(diǎn)后插入一個(gè)q指針?biāo)附Y(jié)點(diǎn),則執(zhí)行A、p->next=q->next;?q->next=p;B、q->next=p->next;?p=q;?C、p->next=q->next;?p->next=q;?D、q->next=p->next;?p->next=q;?答案:D144.使用派生類的主要原因是:A、提高代碼的可重用性B、提高程序的運(yùn)行效率C、加強(qiáng)類的封裝性D、實(shí)現(xiàn)數(shù)據(jù)的隱藏答案:A145.一個(gè)二叉樹有N個(gè)度為2的節(jié)點(diǎn),求葉節(jié)點(diǎn)的數(shù)目為多少A、N-1B、NC、N+1D、N+2答案:C146.下列程序的輸出結(jié)果是________。#includeusingnamespacestd;voidfun(int*s){staticintj=0;do*(s+j)+=*(s+j+1);while(++j<2);}intmain(){inti,a[10]={1,2,3,4,5};for(i=1;i<3;i++)fun(a);for(i=0;i<5;i++)cout<A、34756B、23445C、35745D、12345答案:C147.在函數(shù)定義中的形參屬于()A、全局變量B、局部變量C、靜態(tài)變量D、寄存器變量答案:B148.下列哪個(gè)類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù)()A、函數(shù)體語句較多B、函數(shù)體語句較少C、函數(shù)執(zhí)行時(shí)間較短D、函數(shù)執(zhí)行時(shí)間過長答案:A149.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用()符號(hào)作為分隔符。A、空格或逗號(hào)B、逗號(hào)或回車C、逗號(hào)或分號(hào)D、空格或回車答案:D150.在32位機(jī)器上,代碼段的執(zhí)行結(jié)果為()charx=65;floaty=7.3;inta=100;doubleb=4.5;printf("%d,%d,%d,%d\n",sizeof(x),sizeof(y),sizeof(a),sizeof(b));A、2,2,2,4B、1,2,4,4C、1,4,4,8D、2,4,4,8答案:C151.若一棵二叉樹的前序遍歷序列和后序遍歷序列分別為1,2,3,4和4,3,2,1,則該二叉樹的中序遍歷序列不會(huì)是A、1,2,3,4B、2,3,4,1C、3,2,4,1D、4,3,2,1答案:C152.下面關(guān)于C++lambda表達(dá)式說法正確的有A、[capture](params)->ret{body}這是一個(gè)完整的lambda表達(dá)式形式B、capture值為[a,&b]表示a變量以值的方式唄捕獲,b以引用的方式被捕獲C、capture為[=]表示不捕獲外部的任何變量D、lambda表達(dá)式是屬于C++14的新特性答案:B解析:Lambda函數(shù)語法定義:[capture](parameters)mutable->return-type{statement};A錯(cuò)誤.[=]表示值傳遞方式捕捉所有父作用域的變量(包括this);B錯(cuò)誤.lambda表達(dá)式是屬于C++11&14新特性;D錯(cuò)誤.153.若有數(shù)組定義"inta[][3]={1,2,3,4,5,6};",則a[1][0]的值是()。A、1B、2C、4D、5答案:C154.若已經(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);答案:C155.二叉查找樹的查找效率與二叉樹的什么有關(guān)A、高度B、結(jié)點(diǎn)的多少C、樹型D、結(jié)點(diǎn)的位置答案:C156.設(shè)棧S和隊(duì)列Q的初始狀態(tài)均為空,元素a,b,c,d,e,f,g依次進(jìn)入棧S。若每個(gè)元素出棧后立即進(jìn)入隊(duì)列Q,且7個(gè)元素出隊(duì)的順序是b,d,c,f,e,a,g,則棧S的容量至少是A、1B、2C、3D、4答案:C157.()不是構(gòu)造函數(shù)的特征。A、構(gòu)造函數(shù)的函數(shù)名與類名相同;B、構(gòu)造函數(shù)可以重載;C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D、構(gòu)造函數(shù)必須指定類型說明。答案:D158.在函數(shù)調(diào)用時(shí),如某一默認(rèn)參數(shù)要指明一個(gè)特定值,則有()A、其之前所有參數(shù)都必須賦值B、其之后所有參數(shù)都必須賦值C、其前、后所有參數(shù)都必須賦值D、其前、后所有參數(shù)都不必賦值答案:A159.vector隨機(jī)讀的時(shí)間復(fù)雜度是?A、O(1)B、O(n)C、O(logN)D、O(n2)答案:A160.設(shè)置虛基類的目的是:()A、簡化程序B、消除二義性C、提高運(yùn)行效率D、減少目標(biāo)代碼答案:B161.0有如下程序:#includeusingnamespacestd;intmain(){intf,f1=0,f2=1;for(inti=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<A、2B、3C、5D、8答案:C162.下列有關(guān)引用的說法中,錯(cuò)誤的是________。A、函數(shù)可以返回引用B、返回值的類型為引用時(shí)不產(chǎn)生值的副本C、形參和實(shí)參前加&均為引用類型變量D、若一個(gè)函數(shù)返回了引用,則該函數(shù)的調(diào)用也可以被賦值答案:C163.面向?qū)ο蟪绦蛟O(shè)計(jì)范型的主要特征是:A、程序=數(shù)據(jù)結(jié)構(gòu)+算法B、程序=過程+調(diào)用C、程序=對(duì)象+消息D、程序=數(shù)據(jù)+運(yùn)算答案:C164.若對(duì)n個(gè)元素進(jìn)行直接插入排序,在進(jìn)行第i趟排序時(shí),假定元素r[i+1]的插入位置為r[j],則需要移動(dòng)元素的次數(shù)為A、j-iB、i-j-1C、i-jD、i-j+1答案:D165.已知函數(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);答案:C166.關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說法正確的是()。A、new和delete是C++語言中專門用于動(dòng)態(tài)內(nèi)存分配和釋放的函數(shù)B、動(dòng)態(tài)分配的內(nèi)存空間也可以被初始化C、當(dāng)系統(tǒng)內(nèi)存不夠時(shí),會(huì)自動(dòng)回收不再使用的內(nèi)存單元,因此程序中不必用delete釋放內(nèi)存空間D、當(dāng)動(dòng)態(tài)分配內(nèi)存失敗時(shí),系統(tǒng)會(huì)立刻崩潰,因此一定要慎用new答案:B167.若x和y是程序中的兩個(gè)整型變量,則下列if語句中正確的是()。A、ifx==0y=1;elsey=2;B、if(x==0)y=1;elsey=2;C、if(x==0)y=1elsey=2;D、if(x==0)theny=1elsey=2;答案:B168.在對(duì)n個(gè)元素進(jìn)行直接插入排序的過程中,共需要進(jìn)行()躺A、nB、n+1C、n-1D、2n答案:C169.C++語言的函數(shù)體必須放在一對(duì)()中A、{}B、""C、[]D、()答案:A170.下列程序執(zhí)行后的輸出結(jié)果是______________。#includeusingnamespacestd;intmain(){charb[]="happynewyear";cout<<"12345678"+4<A、5678wyearB、5678yearC、12345682yearD、52345678year答案:B171.cin的功能是A、標(biāo)準(zhǔn)輸入B、標(biāo)準(zhǔn)輸出C、標(biāo)準(zhǔn)打開D、標(biāo)準(zhǔn)關(guān)閉答案:A172.下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是()A、類的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值B、類的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員C、靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象共享的數(shù)據(jù)D、靜態(tài)數(shù)據(jù)成員不能通過類的對(duì)象調(diào)用答案:C173.下列關(guān)于C++函數(shù)的說明中正確的是()。A、內(nèi)聯(lián)函數(shù)就是定義在另一函數(shù)體內(nèi)部的函數(shù)。B、函數(shù)體的最后一條語句必須是RETURN語句。C、標(biāo)準(zhǔn)C++要求在調(diào)用一個(gè)函數(shù)之前,必須先聲明其原型。D、編譯器會(huì)根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式。答案:D174.有關(guān)二叉樹下列說法正確的是A、二叉樹的度為2B、一棵二叉樹的度可以小于2C、二叉樹中至少有一個(gè)結(jié)點(diǎn)的度為2D、二叉樹中任何一個(gè)結(jié)點(diǎn)的度都為2答案:B175.為實(shí)現(xiàn)快速排序算法,待排序序列宜采用的存儲(chǔ)方式是()。A、順序存儲(chǔ)B、鏈?zhǔn)酱鎯?chǔ)C、堆D、棧答案:A176.在下面存儲(chǔ)類中,()的對(duì)象不是局部變量。A、外部靜態(tài)類B、自動(dòng)類C、函數(shù)形參D、寄存器類答案:A177.為了使類中的某個(gè)成員能夠被類的所有對(duì)象共享,應(yīng)該將該類成員定義為________。A、常成員B、靜態(tài)成員C、公有成員D、保護(hù)成員答案:B178.以下敘述中不正確的是()A、在一個(gè)函數(shù)中,可以有多條return語句B、函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C、函數(shù)必須有返回值D、不同的函數(shù)中可以使用相同名字的變量答案:C解析:函數(shù)都需要由類型說明。intmain()指出main是整數(shù)類型,返回值由return后面的表達(dá)式?jīng)Q定,且表達(dá)式的值必須與聲明函數(shù)的類型一致。如果函數(shù)不需要返回值,還可用void標(biāo)識(shí)。故C錯(cuò)誤,函數(shù)可以沒有返回值。179.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是()A、classderived::studentprivate{//………….}B、classderived::studentpublic{//………….}C、classderived::publicstudent{//………….}D、classderived::privatestudent{//………….}答案:D180.有類定義如下:classA{intx,y;public:A(intm=0,intn=0){x=m;y=n;}};classB{Aa1(1);Aa2(2,2);Aa3();Aa4;};則下列描述中正確的是________。A、A類的定義有錯(cuò)B、B類的定義無錯(cuò)C、a1和a2的定義均有錯(cuò)D、a3和a4的定義均有錯(cuò)答案:C181.下列各組類型聲明符中,含義相同的一組是()。(題)A、signedshortint和shortB、unsignedlongint和longC、unsignedshort和shortD、shortint和int答案:A182.定義一個(gè)非常大的數(shù)組可能造成的后果是?A、系統(tǒng)自動(dòng)優(yōu)化,無任何影響B(tài)、棧溢出,很有可能造成程序終止答案:B183.下列不是描述類的成員函數(shù)的是()A、構(gòu)造函數(shù)B、析構(gòu)函數(shù)C、友元函數(shù)D、拷貝構(gòu)造函數(shù)答案:C184.下列各運(yùn)算符中,()優(yōu)先級(jí)最低。A、?:B、|C、||D、!=答案:A185.下列選項(xiàng)中不能作為C++用戶標(biāo)識(shí)符為()。A、MainB、sizeofC、_intD、Return答案:B186.能實(shí)現(xiàn)刪除文件數(shù)據(jù)的語句是()。A、ofstreamfs(“date.dat“,ios::trunc);B、ifstreamfs(“date.dat“,ios::trunc);C、ofstreamfs(“date.dat“,ios::out);D、ifstreamfs(“date.dat“,ios::in);答案:A187.下列關(guān)于this指針的敘述中,正確的是()。A、this指針是一個(gè)隱含指針,它隱含于類的成員函數(shù)中B、只有在使用this時(shí),系統(tǒng)才會(huì)將對(duì)象的地址賦值給thisC、類的友元函數(shù)也有this指針D、this指針表示了成員函數(shù)當(dāng)前操作的數(shù)據(jù)所屬的對(duì)象答案:D188.for(intx=0,y=0;!x&&y<=10;y++);語句執(zhí)行循環(huán)的次數(shù)是________。A、0B、10C、11D、無限答案:C189.不能作為函數(shù)重載的判斷依據(jù)的是()A、constB、返回類型C、參數(shù)個(gè)數(shù)D、參數(shù)類型答案:B解析:實(shí)現(xiàn)函數(shù)的重載必須滿足下列條件之一:1)參數(shù)表中對(duì)應(yīng)的參數(shù)類型不同。2)參數(shù)表中參數(shù)個(gè)數(shù)不同。用const修飾傳遞參數(shù),意思是通知函數(shù),它只能使用參數(shù)而無權(quán)修改它,可以作為函數(shù)重載的判斷依據(jù)。返回類型不能作為函數(shù)重載的依據(jù)。故本題選B。190.聲明函數(shù)intFunc(inta=0,intb=3,intc=4)相當(dāng)于聲明了幾個(gè)函數(shù)形式()A、1B、2C、3D、4答案:D解析:可以用4種方法調(diào)用,即Func()//無參數(shù)Func(2)//一個(gè)參數(shù)Func(2,3)//兩個(gè)參數(shù)Func(2,3,3)//三個(gè)參數(shù)191.對(duì)下列程序,選項(xiàng)中敘述正確的是________。A、程序編譯運(yùn)行正確B、程序編譯時(shí)語句①出錯(cuò)C、程序編譯時(shí)語句②出錯(cuò)D、程序編譯時(shí)語句③出錯(cuò)答案:A192.已知基類Employee只有一個(gè)構(gòu)造函數(shù),其定義如下Employee::Employee(intn):id(n){}Manager是Employee的派生類,則下列對(duì)Manager的構(gòu)造函數(shù)的定義中,正確的是________。A、Manager::Manager(intn):id(n){}B、Manager::Manager(intn){id=n;}C、Manager::Manager(intn):Employee(n){}D、Manager::Manager(intn){Employee(n);}答案:C193.已知inta=3;,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是________。A、-3B、9C、-12D、6答案:C194.在編譯指令中,嵌入指令是指()A、#includeB、#defineC、#ifD、#else答案:A解析:嵌入指令#include指示編譯器將一個(gè)源文件嵌入到帶有#include指令的源文件中該指令所在的位置處。故本題選A。195.二叉樹T的前序遍歷序列和中序遍歷序列分別是bdcaef和cdeabf,則其后序遍歷序列為A、ceadfbB、feacdbC、eacdfbD、以上都不對(duì)答案:A196.以下排序算法平均時(shí)間復(fù)雜度和插入排序相同的是()A、冒泡排序B、希爾排序C、快速排序D、以上說法都不正確答案:A197.在文件包含預(yù)處理語句的中,被包含文件名用“<>”括起時(shí),尋找被包含文件的方式是()A、直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B、先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C、僅僅在源程序所在目錄搜索D、僅僅搜索當(dāng)前目錄答案:A198.關(guān)于虛函數(shù),正確的描述是:A、構(gòu)造函數(shù)不能是虛函數(shù)B、析構(gòu)函數(shù)不能是虛函數(shù)C、虛函數(shù)可以是友元函數(shù)D、虛函數(shù)可以是靜態(tài)成員函數(shù)答案:A199.運(yùn)行如下程序,輸出結(jié)果是()。#include<iostream>Usingnamespacestd;Intmain(){IntF,f1=0,f2=1;For(inti=3;i<=6;i++){F=f1+f2;F1=f2;F2=f;}Cout<<f;Return0;}A、2B、3C、5D、8答案:C200.一個(gè)函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,應(yīng)選用()A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸函數(shù)D、嵌套函數(shù)答案:A解析:對(duì)于只有很少幾條語句的函數(shù),特別是頻繁調(diào)用時(shí),函數(shù)調(diào)用導(dǎo)致的時(shí)間開銷可能會(huì)使程序運(yùn)行明顯變慢。為了避免這種頻繁的函數(shù)調(diào)用與返回,加快執(zhí)行速度,C++語言引入了內(nèi)聯(lián)函數(shù)的概念。故本題選A。201.以下程序段中與語句k=a>b?1:0;功能等價(jià)的是(D)。A、if(a>b)k=1;B、if(a>b)k=0C、if(a>b)k=1;D、if(a答案:D202.有如下程序:#include<iostream>Usingnamespacestd;Intmain(){Chara;Cin>>a;If(a='*')cout<<"***"<<endl;Elsecout<<"###"<<endl;Return0;}輸入字符+時(shí),程序的運(yùn)行結(jié)果是()。A、***B、###C、***###D、無輸出答案:A203.假設(shè)i=2,執(zhí)行下列語句后i的值為()。Switch(i){case1:i++;Case2:i--;Case3:++i;break;Case4:--i;Default:i++;}A、1B、2C、3D、4答案:B204.鏈?zhǔn)綏=Y(jié)點(diǎn)為:(data,link),top指向棧頂.若想摘除棧頂結(jié)點(diǎn),并將刪除結(jié)點(diǎn)的值保存到x中,則應(yīng)執(zhí)行操作()。A、x=top->data;top=top->link;B、top=top->link;x=top->link;C、x=top;top=top->link;D、x=top->link;答案:A205.有序數(shù)組123456789查找3的二分查找序列是:A、1->2->3B、5->2->3C、9->5->3D、5->1->4->3答案:B206.下述關(guān)于開關(guān)語句的描述中,()是正確的。A、開關(guān)語句中default子句可以沒有,也可以有一個(gè);B、開關(guān)語句中每個(gè)語句序列中必須有break語句;C、開關(guān)語句中default子句只能放在最后;D、開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式答案:A207.設(shè)某棵二叉樹的中序遍歷序列為ABCD,前序遍歷序列為CABD,則后序遍歷該二叉樹得到序列為()A、BADCB、BCDAC、CDABD、CBDA答案:A208.已知以下代碼:1classA2{3public:4inta;5public:6A(){f();}7virtualvoidf()=0;8voidfun();}則有錯(cuò)誤的語句是()。"A、4B、6C、7D、8答案:B209.f1(int)是類A的公有成員函數(shù),p是指向成員函數(shù)f1()的指針,采用()是正確的。A、p=f1B、p=A::f1C、p=A::f1()D、p=f1()答案:C210.數(shù)據(jù)結(jié)構(gòu)的二叉鏈表進(jìn)行樹的存儲(chǔ)時(shí),根結(jié)點(diǎn)的右指針是()A、指向最左孩子B、指向最右孩子C、空D、非空答案:C211.下面程序輸出的結(jié)果是()。Intmain(){inti;Inta[3][3]={1,2,3,4,5,6,7,8,9};For(i=0;i<3;i++)Cout<<a[2-i][i];Return0;}A、159B、753C、357D、591答案:B212.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。A、long、double、intB、long、float、intC、int、double、longD、int、float、long答案:C213.IO流中istream繼承于()類A、ostreamB、iosC、ifstreamD、iostream答案:B214.以下表達(dá)式“0||1&&1”的值為。()A、2B、1C、0D、表達(dá)式錯(cuò)誤答案:B215.字符串“a+b=12\n\t”的長度為________。A、12B、10C、8D、6答案:C216.所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個(gè)實(shí)體,這實(shí)體也就是()。A、類B、對(duì)象C、函數(shù)體D、數(shù)據(jù)塊答案:A217.下列變量名正確的是()。A、1aB、intC、_n_2D、#a2答案:C218.已知有結(jié)構(gòu)體類型及變量定義:structstudent{charnum[20];intage;}stud1,*p;p=&stud1;下列對(duì)結(jié)構(gòu)體變量stud1的成員age的非法引用是________。A、stud1.ageB、student.ageC、p->ageD、(*p).age答案:B219.下列語言不屬于高級(jí)語言中的是()A、C語言B、機(jī)器語言C、FORTRAN語言D、C++語言答案:B220.什么函數(shù)不能聲明為虛函數(shù)?A、靜態(tài)成員函數(shù)、構(gòu)造函數(shù)B、內(nèi)聯(lián)函數(shù)、構(gòu)造函數(shù)C、靜態(tài)成員函數(shù)、析構(gòu)函數(shù)D、內(nèi)聯(lián)函數(shù)、析構(gòu)函數(shù)答案:A解析:常見的不能聲明為虛函數(shù)的有:普通函數(shù)(非成員函數(shù))、靜態(tài)成員函數(shù)、內(nèi)聯(lián)成員函數(shù)、構(gòu)造函數(shù)、友元函數(shù)。221.下列for循環(huán)的次數(shù)為()。For(inti(0),x=0;!x&&i<=5;i++)A、5B、6C、1D、無限答案:B222.已知inta=3;,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是________。A、-3B、9C、-12D、6答案:C223.下列程序執(zhí)行后的輸出結(jié)果是_____。#include<iostream>Usingnamespacestd;Voidmain(){Intx='f';Cout<<char('A'+(x-'a'+1));}(題)A、GB、HC、ID、J答案:A224.已知二叉樹后序遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是:A、abcdefgB、abdcefgC、adbcfegD、abecdfg答案:B225.下列符號(hào)中可以用作C++標(biāo)識(shí)符的是()。(題)A、radiusB、foo~barC、elseD、3room答案:A226.數(shù)據(jù)庫索引的說法正確的是?A、用處不大,可有可無B、加快檢索表中數(shù)據(jù)的方法答案:B227.如果downcast是安全的(也就是,如果基類指針或者引用確實(shí)指向一個(gè)派生類對(duì)象)這個(gè)運(yùn)算符會(huì)傳回適當(dāng)轉(zhuǎn)型過的指針。如果downcast不安全,這個(gè)運(yùn)算符會(huì)傳回空指針(也就是說,基類指針或者引用沒有指向一個(gè)派生類對(duì)象)。這個(gè)是指C++里的()A、dynamic_castB、reinterpret_castC、static_castD、const_cast答案:A解析:dynamic_cast將一個(gè)基類對(duì)象指針(或引用)cast到繼承類指針,dynamic_cast會(huì)根據(jù)基類指針是否真正指向繼承類指針來做相應(yīng)處理,即會(huì)作一定的判斷。對(duì)指針進(jìn)行dynamic_cast,失敗返回null,成功返回正常cast后的對(duì)象指針;對(duì)引用進(jìn)行dynamic_cast,失敗拋出一個(gè)異常,成功返回正常cast后的對(duì)象引用。reinterpret_cast這個(gè)轉(zhuǎn)換是最“不安全”的,兩個(gè)沒有任何關(guān)系的類指針之間轉(zhuǎn)換都可以用這個(gè)轉(zhuǎn)換實(shí)現(xiàn)。static_cast靜態(tài)轉(zhuǎn)換是最接近于C風(fēng)格轉(zhuǎn)換,很多時(shí)候都需要程序員自身去判斷轉(zhuǎn)換是否安全。const_cast這個(gè)轉(zhuǎn)換好理解,可以將常量轉(zhuǎn)成非常量。228.若有定義floatw;intA,b;,則合法的switch語句是________。A、switch(w){case1.0:cout<<"*\n";case2.0:cout<<"**\n";}B、switch(a){case1cout<<"*\n";case2cout<<"**\n";}C、switch(b){case1:cout<<"*\n";default:cout<<"\n";case1+2:cout<<"**\n";}D、switch(a+b);{case1:cout<<"*\n";case2:cout<<"**\n";default:cout<<"\n";}答案:C229.棧的操作原則是A、順序進(jìn)出B、后進(jìn)后出C、后進(jìn)先出D、先進(jìn)先出答案:C230.下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。A、內(nèi)聯(lián)函數(shù)在調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義C、內(nèi)聯(lián)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論