【必會】《C++開發(fā)基礎(chǔ)》備考題庫寶典-2025核心題版_第1頁
【必會】《C++開發(fā)基礎(chǔ)》備考題庫寶典-2025核心題版_第2頁
【必會】《C++開發(fā)基礎(chǔ)》備考題庫寶典-2025核心題版_第3頁
【必會】《C++開發(fā)基礎(chǔ)》備考題庫寶典-2025核心題版_第4頁
【必會】《C++開發(fā)基礎(chǔ)》備考題庫寶典-2025核心題版_第5頁
已閱讀5頁,還剩174頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1一、單選題1.以下選項(xiàng)中,沒有this指針的函數(shù)是________。A、內(nèi)聯(lián)成員函數(shù)B、構(gòu)造函數(shù)C、靜態(tài)成員函數(shù)D、析構(gòu)函數(shù)答案:C2.下列錯誤的十六進(jìn)制整型常量表示是()。A、0x11B、0xafC、0xgD、0x1f答案:C3.下列對構(gòu)造函數(shù)和析構(gòu)函數(shù)的描述中,錯誤的是()。A、析構(gòu)函數(shù)可以重載B、析構(gòu)函數(shù)名與類名相同C、構(gòu)造函數(shù)中可以設(shè)置參數(shù)的缺省值D、類中只有一個析構(gòu)函數(shù)答案:A4.已知某函數(shù)的一個形式參數(shù)被說明為MAT[3][10],在下列說明中,與此等效的形參說明是________。A、intMAT[][10]B、intMAT[3][]C、intMAT[10][3]D、intMAT[][]答案:A5.內(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ù)增加代碼量,加快訪問速度。6.已知print()函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中正確的是A、voidprint()const;B、constvoidprint();C、voidconstprint();D、voidprint(const);答案:A7.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。A、long、double、intB、long、float、intC、int、double、longD、int、float、long答案:C8.為了使類中的某個成員能夠被類的所有對象共享,應(yīng)該將該類成員定義為________。A、常成員B、靜態(tài)成員C、公有成員D、保護(hù)成員答案:B9.關(guān)于new運(yùn)算符的下列描述中,錯誤的是()A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D、使用它創(chuàng)建對象數(shù)組時必須指定初始值答案:D10.一個函數(shù)為voidx(int,charch=’a’),另一個函數(shù)為voidx(int),則它們()A、不能在同一程序中定義B、可以在同一程序中定義并可重載C、可以在同一程序中定義,但不可以重載D、以上說法均不正確答案:C11.若有如下程序#includeusingnamespacestd;voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;iA、0987651234B、3210987654C、9876543210D、4567890123答案:D12.下列運(yùn)算符中優(yōu)先級最低的是()。A、++B、()C、%答案:B13.如果從原有類定義新類可以實(shí)現(xiàn)的是()A、信息隱藏B、數(shù)據(jù)封裝C、繼承機(jī)制D、數(shù)據(jù)抽象答案:C14.派生類的對象對它的基類成員中()是可以訪問的。A、公有繼承的公有成員B、公有繼承的私有成員C、公有繼承的保護(hù)成員D、私有繼承的公有成員答案:A15.要求打開文件D:\file.dat,并能夠?qū)懭霐?shù)據(jù),正確的語句是()?A、ifstreaminfile("D:\\file.dat",ios::in);B、ifstreaminfile("D:\\file.dat",ios::out);C、ofstreamoutfile("D:\\file.dat",ios::in);D、fstreaminfile("D:\\file.dat",ios::in|ios::out);答案:D解析:A,選項(xiàng)創(chuàng)建了文件的讀取流,且文件打開模式是讀取方式,不符合。B,選項(xiàng)創(chuàng)建了文件的讀取流,不符合。C,選項(xiàng)創(chuàng)建了文件的寫入流,但是文件打開方式為讀取方式,故而也不符合。D,選項(xiàng)創(chuàng)建了文件的讀取寫入流,同時文件打開方式也為可讀可寫方式,故而選D。16.在二叉樹結(jié)點(diǎn)的先序序列,中序序列和后序序列中,所有葉子結(jié)點(diǎn)的先后順序A、都不相同B、完全相同C、先序和中序相同,而與后序不同D、中序和后序相同,而與先序不同答案:B17.已知inta=3;,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是________。A、-3B、9C、-12D、6答案:C18.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b的值是________。A、6.500000B、6C、5.500000D、6.000000答案:D19.已知類A是類B的友元,類B是類C的友元,則()A、類A一定是類C的友元B、類C一定是類A的友元C、類C的成員函數(shù)可以訪問類B的對象的任何成員D、類A的成員函數(shù)可以訪問類B的對象的任何成員答案:C20.在文件包含預(yù)處理語句的中,被包含文件名用“<>”括起時,尋找被包含文件的方式是()A、直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B、先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C、僅僅在源程序所在目錄搜索D、僅僅搜索當(dāng)前目錄答案:A21.已知x=43,ch='A',y=0,則表達(dá)式x>=y&&chA、0B、語法錯誤C、1D、假答案:C22.若有以下說明語句,則下列錯誤的引用是()。StructWorker{intno;Charname[20];};Workerw,*p=&w;A、w.noB、p->noC、(*p).noD、*p.no答案:D23.己知一個順序存儲的線性表,設(shè)每個結(jié)點(diǎn)需占m個存儲單元,若第一個結(jié)點(diǎn)的地址al,則第i個結(jié)點(diǎn)的地址為A、al+(i-1)*mB、al+i*mC、al-i*mD、al+(i+1)*m答案:A24.下列表達(dá)式中表示int變量x可以被3整除的表達(dá)式是()。A、x/3==0B、x%3==0C、x%3!=0D、(x/3)答案:B25.派生類的對象對它的基類成員中()是可以訪問的。A、公有繼承的公有成員;B、公有繼承的私有成員;C、公有繼承的保護(hù)成員;D、私有繼承的公有成員。答案:A26.執(zhí)行下列語句后,x的值是(d),y的值是()。Intx,y;X=y=1;++x||++y;A、不確定B、0C、1D、2答案:C27.對于數(shù)據(jù)結(jié)構(gòu)算法分析的兩個主要方面是A、空間復(fù)雜性和時間復(fù)雜性B、正確性和簡明性C、可讀性和文檔性D、數(shù)據(jù)復(fù)雜性和程序復(fù)雜性答案:A28.對以下說明語句的正確理解是()。Inta[10]={6,7,8,9,10};A、將5個初值一次賦給a[1]至a[5]B、將5個初值一次賦給a[0]至a[4]C、將5個初值一次賦給a[6]至a[10]D、因?yàn)閿?shù)組長度與初值的個數(shù)不相同,所以語句不正確答案:B29.有以下程序Intf(intn){if(n==1)return1;Elsereturnf(n-1)+1;}Voidmain(){inti,j=0;For(i=1;i<3;i++)j+=f(i);Cout<<j<<endl;}程序運(yùn)行后的輸出結(jié)果是()。A、4B、3C、2D、1答案:B30.關(guān)于函數(shù)的調(diào)用下面正確的是______。A、f函數(shù)調(diào)用f1函數(shù),f1函數(shù)調(diào)用f2函數(shù),稱為函數(shù)的遞歸調(diào)用B、函數(shù)可以嵌套定義,也可以嵌套調(diào)用C、一個函數(shù)可以自己調(diào)用自己,稱為函數(shù)的嵌套調(diào)用D、函數(shù)返回時可以不帶返回值,這時函數(shù)在定義時其返回值的類型用void表示答案:D31.設(shè)有定義inti;doublej=5;,則10+i+j值的數(shù)據(jù)類型是()(題)A、doubleB、intC、floatD、不確定答案:A32.如果調(diào)用帶有默認(rèn)參數(shù)的函數(shù)時缺少一個參數(shù),則()參數(shù)就作為這一參數(shù)。A、第一個B、最后一個C、中間一個D、以上都不是答案:B33.以下有關(guān)類與對象的敘述中,錯誤的是()A、對象是類的一個實(shí)例B、一個類可以有多個對象C、任何一個對象都?xì)w屬于一個具體的類D、只要是某個類的對象,那么該對象就可以訪問這個類的所有成員答案:D解析:對象是類的一個具象,類是對象的一個抽象。類和對象的關(guān)系如同一個模具與用這個模具鑄造出來的鑄造件之間的關(guān)系。故一個類可以有多個對象,且任何一個對象都?xì)w屬于一個具體的類。故ABC正確。類的對象只能訪問公有成員,其他函數(shù)不能使用類的私有成員,也不能使用公有成員函數(shù),它們只能通過類的對象使用類的公有成員函數(shù)。因此D錯誤。34.若運(yùn)行時給變量輸入12,則以下程序段的運(yùn)行結(jié)果是()。intx,y;cin>>x;y=x>12?x+10:x-12;cout<<y;A、0B、22C、12D、10答案:A35.使用地址作為實(shí)參傳給形參,下列說法正確的是()A、實(shí)參是形參的備份B、實(shí)參與形參無聯(lián)系C、形參是實(shí)參的備份D、實(shí)參與形參是同一對答案:D36.流程控制語句的基本控制結(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)答案:D37.棧和隊(duì)都是A、順序存儲的線性結(jié)構(gòu)B、鏈?zhǔn)酱鎯Φ姆蔷€性結(jié)構(gòu)C、限制存取點(diǎn)的線性結(jié)構(gòu)D、限制存取點(diǎn)的非線性結(jié)構(gòu)答案:C38.下面描述中,錯誤的是()。A、在基類定義的public成員在公有繼承的派生類中可見,也能在類外被訪問。B、在基類定義的protected成員在私有繼承的派生類中可見。C、在基類定義的公有靜態(tài)成員在私有繼承的派生類中可見。D、訪問聲明可以在公有繼承派生類中把基類的public成員聲明為private成員。答案:D39.下列程序的輸出結(jié)果是()#include<iostream.h>Voidmain(){intn[][3]={10,20,30,40,50,60};int(*p)[3];vnp=n;Cout<A、10,30,50B、10,20,30C、20,40,60D、10,30,60答案:B40.如下程序:charc1,c2,c3;cin>>c1>>c2>>c3;coutA、abcB、'a'C、abD、輸入有誤答案:B41.下述靜態(tài)數(shù)據(jù)成員的特征中,()是錯誤的。A、說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static;B、靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;C、引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運(yùn)算符;D、靜態(tài)數(shù)據(jù)成員不是所有對象所共用的。答案:D42.當(dāng)一個派生類公有繼承一個基類時,基類中的所有公有成員成為派生類的()。A、public成員B、private成員C、protected成員D、友員答案:A43.若x是一個bool型變量,y是一個值為100的int型變量,則表達(dá)式!x&&y>0的值為()。A、trueB、falseC、與x的值相同D、與x的值相反答案:D44.存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是()。A、0B、‘0’C、“0”D、0.0答案:D45.以下敘述正確的是()。A、構(gòu)造函數(shù)調(diào)用虛函數(shù)采用動態(tài)聯(lián)編B、構(gòu)造函數(shù)可以說明為虛函數(shù)C、當(dāng)基類的析構(gòu)函數(shù)是虛函數(shù)時,它的派生類的析構(gòu)函數(shù)也是虛函數(shù)D、析構(gòu)函數(shù)必須是虛函數(shù)答案:C46.關(guān)于以下代碼:ClassCGame{Constinti=1;Public:Intf()const{i=3;}};說法正確的是()。"A、該代碼編譯無法通過B、該代碼編譯正常通過,變量i的值為3C、該代碼編譯正常通過,變量i的值為1D、該代碼編譯正常通過,如果調(diào)用函數(shù)f則i的值變?yōu)?,否則為1答案:A47.以下程序的輸出結(jié)果是()。A、10B、20C、25D、30答案:C48.設(shè)有定義inti;doublej=5;,則10+i+j值的數(shù)據(jù)類型是()A、intB、doubleC、floatD、不確定答案:B49.下列有關(guān)引用的說法中,錯誤的是________。A、函數(shù)可以返回引用B、返回值的類型為引用時不產(chǎn)生值的副本C、形參和實(shí)參前加&均為引用類型變量D、若一個函數(shù)返回了引用,則該函數(shù)的調(diào)用也可以被賦值答案:C50.下列關(guān)于純虛函數(shù)與抽象類的描述中,錯誤的是:A、純虛函數(shù)是一種特殊的函數(shù),它允許沒有具體的實(shí)現(xiàn)B、抽象類是指具有純虛函數(shù)的類C、一個基類的說明中有純虛函數(shù),該基類的派生類一定不再是抽象類D、抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出答案:D51.下列程序的運(yùn)行結(jié)果是________。#includeusingnamespacestd;intmain(){inta=2;intb=a+1;coutA、0.666667B、0C、0.7D、0.6666666...答案:B52.當(dāng)一個派生類保護(hù)繼承一個基類時,基類中的所有公有成員和保護(hù)成員成為派生類的()。A、public成員B、private成員C、protected成員D、友員答案:C53.假設(shè)有宏定義:#defineA3#defineBA+A+A則cout<A、7B、27C、19D、9答案:C54.以下哪個C++容器不能用迭代器遍歷A、setB、mapC、queueD、vector答案:C55.閱讀下面代碼,輸出結(jié)果為()intmain(){charstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";coutA、truefalsetrueB、falsetruetrueC、falsefalsefalseD、falsefalsetrue答案:D56.if語句的語法格式可描述為:格式1:if()或格式2:if()else關(guān)于上面的語法格式,下列敘述中錯誤的是________。A、如果在前加上邏輯非運(yùn)算符!并交換和的位置,語句功能不變B、部分可以是一個循環(huán)語句,例如if(...)while(...)...C、部分可以是一個if語句,例如if(if(a==0)...)...D、部分可以是一個if語句,例如if(...)if(...)...答案:C57.包含自定義頭文件file.h的預(yù)處理指令是()A、#define<file.h>B、#includefile.hC、#definefile.hD、#include"file.h"答案:D解析:嵌入指令#include指示編譯器將一個源文件嵌入到帶有#include指令的源文件中該指令所在的位置。書寫時,可以使用引號,也可以用尖括號。尖括號引用系統(tǒng)提供的包含文件。雙引號引用自己定義的包含文件。根據(jù)題意,D選項(xiàng)正確。58.假定AB為一個類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()A、3B、4C、5D、9答案:B59.C++類體系中,不能被派生類繼承的有()A、常成員函數(shù)B、構(gòu)造函數(shù)C、虛函數(shù)D、靜態(tài)成員函數(shù)答案:B60.在一顆二叉樹上第6層的結(jié)點(diǎn)數(shù)最多是A、8B、16C、32D、64答案:C61.程序的內(nèi)存分配區(qū)域不包括A、從靜態(tài)存儲區(qū)域分配B、從棧區(qū)分配C、從堆區(qū)分配D、從文本區(qū)分配答案:D62.對于算法時間和空間復(fù)雜度下列敘述中正確的是()。A、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小C、一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系答案:D63.執(zhí)行語句:for(i=1;i++A、3B、4C、5D、不定答案:C64.下列關(guān)于純虛函數(shù)與抽象類的描述中,錯誤的是()A、純虛函數(shù)是一種特殊的函數(shù),它允許沒有具體的實(shí)現(xiàn)B、抽象類是指具有純虛函數(shù)的類C、一個基類的說明中有純虛函數(shù),該基類的派生類一定不再是抽象類D、抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出答案:C65.下列敘述中,正確的是________。A、只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句B、continue語句的作用是結(jié)束整個循環(huán)C、在循環(huán)體內(nèi)使用break語句和continue語句可以起到同樣的作用D、從多重循環(huán)中退出時,只能使用goto語句答案:A66.函數(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ù)類型相同,無法重載。67.符合先進(jìn)后出規(guī)則的數(shù)據(jù)結(jié)構(gòu)是()。A、堆棧B、隊(duì)列C、鏈表D、二叉樹答案:A68.以下正確的函數(shù)定義的首部是________。A、voidfun(void)B、doublefun(intx;inty)C、intfun(int=0,int);D、doublefun(intx,y)答案:A69.關(guān)于子類型的描述中,()是錯的。A、子類型就是指派生類是基類的子類型B、一種類型當(dāng)它至少提供了另一種類型的行為,則這種類型是另一種類型的子類型C、在公有繼承下,派生類是基類的子類型D、子類型關(guān)系是不可逆的答案:A70.關(guān)于函數(shù)的返回值說法正確的是()。A、由return語句返回時,只帶回一值,其類型在函數(shù)定義時確定。B、其類型由調(diào)用表達(dá)式?jīng)Q定。C、函數(shù)可以沒有返回值,這時在函數(shù)定義,函數(shù)的類型說明就沒必要了。D、函數(shù)調(diào)用就要有返回值,否則調(diào)用就沒意義了。答案:A71.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為________。x=10;x+=x-=x-x;A、10B、20C、40D、30答案:B72.下列程序的輸出結(jié)果是________。#includeusingnamespacestd;intfun(intA,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);}intmain(){intk=4,m=1,p;p=fun(k,m);coutA、8,17B、8,16C、8,20D、8,8答案:A73.下列為文件的擴(kuò)展名,能被計(jì)算機(jī)直接執(zhí)行的是()。A、cppB、oC、exeD、h答案:C74.下列非法的字符常量是()。A、‘#’B、‘’C、a’D、‘A’答案:C75.下面程序段:x=3;do{y=x--;if(!y){coutA、將輸出##B、是死循環(huán)C、將輸出###D、含有不合法的控制表達(dá)式答案:C76.設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為________。x=y=z=1;t=++x||++y&&++z;A、不定值B、2C、1D、0答案:C77.以下程序運(yùn)行后的輸出結(jié)果是()#include<stdio.h>#defineF(x)x-2#defineD(x)x*F(x)intmain(void){printf("%d,%d\n",D(3),D(D(3)));Return0;}A、7,35B、2,-13C、7,-13D、2,35答案:C78.樹的度為0的結(jié)點(diǎn)稱為A、葉子B、分支結(jié)點(diǎn)C、根D、父結(jié)點(diǎn)答案:A79.對使用關(guān)鍵字new所開辟的動態(tài)存儲空間,釋放時必須使用()A、freeB、createC、deleteD、realse答案:C80.下列變量名正確的是()。A、1aB、intC、_n_2D、#a2答案:C81.下列關(guān)于類的權(quán)限描述錯誤的是()A、類本身的成員函數(shù)可以訪問自己定義的任何成員B、類的對象只能訪問公有成員C、普通函數(shù)只能通過對象訪問類的公有成員D、一個類不能包含另一個類的對象作為成員答案:D解析:因?yàn)轭惐旧砭褪且环N新的數(shù)據(jù)類型,所以一個類的對象可以作為另一個類的成員。普通成員函數(shù)由類的對象調(diào)用。故D錯誤。訪問類的成員變量及調(diào)用類的成員函數(shù)時,要考慮成員名的訪問范圍。類中定義的訪問方法是public的,所以可以在類外(如主函數(shù)中)中直接調(diào)用。類內(nèi)的函數(shù)僅作為類內(nèi)其他函數(shù)的輔助函數(shù)使用,并不對外提供服務(wù),這樣的函數(shù)可以定義為私有的,也就是說,在類外不可以直接調(diào)用它們。故ABC正確。82.下列()的調(diào)用方式是引用調(diào)用。A、形參和實(shí)參都是變量B、形參是指針,實(shí)參是地址值C、形參是引用,實(shí)參是變量D、形參是變量,實(shí)參是地址值答案:D83.執(zhí)行下列語句后,程序的輸出結(jié)果是()。#include<iostream>Usingnamespacestd;Intmain(){Intn=10;While(n>7){N--;Cout<<n<<',';}Cout<<endl;}(題)A、9,8,7,B、10,9,8,C、10,9,8,7,D、9,8,7,6,答案:A84.已知遞歸函數(shù)f的定義如下:則函數(shù)調(diào)用語句f(6)的返回值是________。intf(intn){if(nA、24B、6C、12D、48答案:D85.if語句的語法格式可描述為:格式1:if()或格式2:if()else關(guān)于上面的語法格式,下列敘述中錯誤的是________。A、如果在<條件>前加上邏輯非運(yùn)算符!并交換<語句1>和<語句2>的位置,語句功能不變B、<語句>部分可以是一個循環(huán)語句,例如if(...)while(...)...C、<條件>部分可以是一個if語句,例如if(if(a==0)...)...D、<語句>部分可以是一個if語句,例如if(...)if(...)...答案:C86.下面關(guān)于類的成員函數(shù)描述不正確的是:()A、靜態(tài)成員函數(shù)內(nèi)可以直接訪問類的非靜態(tài)成員數(shù)據(jù)B、靜態(tài)成員函數(shù)內(nèi)可以直接訪問類的靜態(tài)成員數(shù)據(jù)C、非靜態(tài)成員函數(shù)可以直接訪問類的非靜態(tài)成員數(shù)據(jù)D、非靜態(tài)成員函數(shù)可以直接訪問類的靜態(tài)成員數(shù)據(jù)答案:A87.同一雙親結(jié)點(diǎn)的孩子結(jié)點(diǎn)之間互稱為()A、孩子結(jié)點(diǎn)B、雙親結(jié)點(diǎn)C、兄弟結(jié)點(diǎn)D、子孫結(jié)點(diǎn)答案:C88.有如下程序:運(yùn)行時的輸出結(jié)果是________。A、121B、21C、211D、12答案:B89.C++輸入輸出格式控制是在哪個頭文件中定義的?()A、iostream.hB、iomanip.hC、istream.hD、ostream.h答案:A90.下面對友員的錯誤敘述是()。A、關(guān)鍵字friend用于聲明友員B、一個類中的成員函數(shù)可以是另一個類的友員C、友員函數(shù)訪問對象的成員不受訪問特性影響D、友員函數(shù)通過this指針訪問對象成員答案:D91.C++中的拷貝構(gòu)造函數(shù)在下面哪些情況下不會被調(diào)用()A、對象創(chuàng)建的時候B、使用一個類的對象去初始化該類的一個新對象C、被調(diào)用函數(shù)的形參是類的對象D、當(dāng)函數(shù)的返回值是類的對象時,函數(shù)執(zhí)行完成返回調(diào)用者答案:A解析:在三種情況下系統(tǒng)會調(diào)用拷貝構(gòu)造函數(shù):(1)用類的一個對象去初始化另一個對象時(2)當(dāng)函數(shù)的形參是類的對象時(也就是值傳遞時),如果是引用傳遞則不會調(diào)用(3)當(dāng)函數(shù)的返回值是類的對象或引用時92.下列枚舉符號中,用來定位文件開始位置的是________。A、ios_base::endB、ios_base::begC、ios_base::outD、ios_base::cur答案:B93.下面的哪個保留字不能作為函數(shù)的返回類型()。A、newB、intC、voidD、1ong答案:A94.已知inta=5,b=6,c=7,d=8,m=2,n=2;,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為________。A、0B、1C、2D、3答案:C95.在C++中,要實(shí)現(xiàn)動態(tài)聯(lián)編,必須使用()調(diào)用虛函數(shù)。A、類名B、派生類指針C、對象名D、基類指針答案:D96.下列C++運(yùn)算符中,優(yōu)先級最高的是______。A、+B、*C、<=D、*=答案:B97.下列關(guān)于動態(tài)聯(lián)編的描述中錯誤的是()。A、動態(tài)聯(lián)編是以虛函數(shù)為基礎(chǔ)的B、動態(tài)聯(lián)編是在運(yùn)行時確定所調(diào)用的函數(shù)代碼C、動態(tài)聯(lián)編調(diào)用函數(shù)操作是指向?qū)ο蟮闹羔樆驅(qū)ο笠肈、動態(tài)聯(lián)編是在編譯時確定操作函數(shù)的答案:D98.下面那個不屬于編譯器A、gccB、msvcC、clangD、vscode答案:D99.一個類的靜態(tài)數(shù)據(jù)成員所表示屬性()。A、是類的或?qū)ο蟮膶傩訠、只是對象的屬性C、只是類的屬性D、類和友元的屬性答案:C100.對n個不同的排序碼進(jìn)行冒泡排序,在元素?zé)o序的情況下比較的次數(shù)為A、n+1B、nC、n-1D、n(n-1)/2答案:D101.static的用途說法錯誤的是?A、在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變B、在模塊內(nèi)(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個本地的全局變量C、在模塊內(nèi),一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用D、static修飾的變量是線程安全的答案:D102.以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是()。A、inta[2][3]={0};B、inta[][3]={{0,1},{0}};C、inta[2][3]={{0,1},{2,3},{4,5}};D、inta[][3]={0,1,2,3,4,5};答案:C103.執(zhí)行C++程序時出現(xiàn)的“溢出”錯誤屬于()錯誤。(題)A、運(yùn)行B、編譯C、連接D、邏輯答案:A104.以下說法中正確的是()。A、C++程序總是從第一個定義的函數(shù)開始執(zhí)行B、C++程序總是從main函數(shù)開始執(zhí)行C、C++函數(shù)必須有返回值,否則不能使用函數(shù)D、C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中答案:B105.下列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的說法中,錯誤的是()A、派生類的構(gòu)造函數(shù)會隱含調(diào)用基類的構(gòu)造函數(shù)B、如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)C、在建立派生類對象時,先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)D、在銷毀派生類對象時,先調(diào)用基類的析構(gòu)函數(shù),再調(diào)用派生類的析構(gòu)函數(shù)答案:D106.以下定義常量數(shù)據(jù)成員和常量函數(shù)成員的語句正確的是()。A、constinti;constvoidf();B、inticonst;voidf()const;C、constinti;voidf()const;D、inticonst;constvoidf();答案:C107.在面向?qū)ο笤O(shè)計(jì)中,對象有很多基本特點(diǎn),其中“一個系統(tǒng)中通常包含很多類,這些類之間呈樹形結(jié)構(gòu)”這一性質(zhì)指的是對象的()A、分類性B、標(biāo)識唯一性C、繼承性D、封裝性答案:C108.以下代碼執(zhí)行后,a、b、c的值分別為()。inta=8,b=10,c=3;if(a>b)c=a,a=b,b=c;A、10108B、1088C、1033D、8103答案:B109.有如下程序:#includeusingnamespacestd;voidconvert(intd){if(d<10){cout<<d;Convert(d+1);}Cout<<d;}Intmain(){convert(6);Return0;A、6677889910B、12344321C、67899876D、6789109876答案:D110.下列哪個不是面向?qū)ο蟮年P(guān)鍵要素()A、抽象性B、結(jié)構(gòu)性C、封裝性D、多態(tài)性答案:B解析:面向?qū)ο蟮某绦蛟O(shè)計(jì)有“抽象”“封裝”“繼承”和“多態(tài)”4個基本特點(diǎn)。故不包括B。111.以下正確的說法是()。A、定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)B、return后邊的值不能為表達(dá)式C、如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)D、如果形參與實(shí)參類型不一致,以實(shí)參類型為準(zhǔn)答案:C112.執(zhí)行語句序列Inti=0;while(i<25)i+=3;cout<<i;輸出結(jié)果是()。A、24B、25C、27D、28答案:C113.在c++中,類之間的繼承關(guān)系具有()。A、自反性B、對稱性C、傳遞性D、反對稱性答案:C114.以下說法中不正確的是()A、C++程序中必須有一個主函數(shù)main(),而且是從main()的第一條語句開始執(zhí)行B、非主函數(shù)都是在執(zhí)行主函數(shù)時,通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的C、主函數(shù)可以在任何地方出現(xiàn)D、主函數(shù)必須出現(xiàn)在固定位置答案:D解析:程序中必須有且僅有一個主函數(shù)main(),這是程序執(zhí)行的總?cè)肟?。但并無固定位置。主函數(shù)也稱為主程序。程序從主函數(shù)的開始處執(zhí)行,按照其控制結(jié)構(gòu),一直執(zhí)行到結(jié)束。故A、C正確,D錯誤。主函數(shù)中可以調(diào)用程序中定義的其他函數(shù),但其他函數(shù)不能調(diào)用主函數(shù)。故B正確。答案為D。115.C++的break語句________。A、可用在能出現(xiàn)語句的任意位置B、只能用在循環(huán)體內(nèi)C、能用在循環(huán)體內(nèi)或switch語句中D、能用在任一復(fù)合語句中答案:C116.對n個元素的數(shù)組進(jìn)行快速排序,所需要的額外空間為A、O(1)B、O(n)C、O(logn)D、O(n^2))答案:C117.設(shè)有一個遞歸函數(shù)如下intf(intn){if(nA、6B、7C、8D、9答案:D118.構(gòu)造異質(zhì)鏈表的意義是()。A、用數(shù)組組織類對象B、用鏈表組織類對象C、用抽象類指針指向派生類對象D、用抽象類指針構(gòu)造派生類對象鏈表答案:D119.while(!x)中的(!x)與下面哪個條件等價(jià)?()。A、x==1B、x!=1C、x!=0D、x==0答案:D120.有如下定義語句:intaa[][3]={12,23,34,4,5,6,78,89,45};,則45在數(shù)組aa中的行列坐標(biāo)各為()。A、3,2B、3,1C、2,2D、2,1答案:C121.如果有intx,*p;floaty,*q;則下面操作中,正確的是()A、p=xB、p=qC、p=&xD、p=&y答案:C解析:C選項(xiàng),指針變量p指向整型變量×,正確。122.以下說法中正確的是()。A、C++程序總是從第一個定義的函數(shù)開始執(zhí)行B、C++程序總是從main函數(shù)開始執(zhí)行C、C++函數(shù)必須有返回值,否則不能使用函數(shù)D、C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中答案:B123.IO流中oftream繼承于()類A、ostreamB、istreamC、ifstreamD、iostream答案:A124.有如下類說明:classBase{protected:intamount;public:Base(intn=0):{amount=n;}intgetAmount(){returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(intm,intn):Base(n){value=m;}intgetData(){returnvalue+amount;}};已知x是一個Derived對象,則下列表達(dá)式中正確的是________。A、x.value+x.getAmount()B、x.getData()-x.getAmount()C、x.getData()-x.amountD、x.value+x.amount答案:B125.以下哪種類型是C++比C語言新增的數(shù)據(jù)類型(題)A、整型(int)B、布爾類型(bool)C、指針類型(*)D、字符類型(char)答案:B126.下列有關(guān)內(nèi)聯(lián)函數(shù)敘述中,錯誤的是________。A、內(nèi)聯(lián)函數(shù)內(nèi)不可以有循環(huán)語句和開關(guān)語句B、使用內(nèi)聯(lián)函數(shù)是以空間換取時間的C、內(nèi)聯(lián)函數(shù)降低了函數(shù)的執(zhí)行效率D、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前答案:C127.函數(shù)重載必須滿足的條件是()A、函數(shù)名相同B、參數(shù)個數(shù)不同C、參數(shù)類型不同D、函數(shù)名不相同答案:A解析:函數(shù)重載:指在程序的同一范圍內(nèi)聲明幾個功能類似的同名函數(shù)。實(shí)現(xiàn)函數(shù)的重載必須滿足下列條件之一:1)參數(shù)表中對應(yīng)的參數(shù)類型不同。2)參數(shù)表中參數(shù)個數(shù)不同。以上兩個條件滿足之一即可,但函數(shù)重載必須滿足的是函數(shù)名相同。故本題選A128.設(shè)存在整型變量intx,則下列句與其它三項(xiàng)含義不同的是()A、int*p=&x;B、int&p=x;C、int&p=x;D、int&p=x;答案:A129.以下哪種操作最適合先進(jìn)行排序處理A、找最大、最小值B、計(jì)算算術(shù)平均值C、找中間值D、找出現(xiàn)次數(shù)最多的值答案:C130.以下描述對應(yīng)哪種排序算法:對待排序進(jìn)行劃分為左、右兩個子序列,對兩個子序列進(jìn)行同樣的排序操作,直到子序列為空或只剩下一個元素為止。A、冒泡排序B、折半插入排序C、快速排序D、希爾排序答案:C131.在inta=3,int*p=&a;中,*p的值是(A、變量a的地址值B、無意義C、變量p的地址值D、3答案:D132.關(guān)于聯(lián)合類型,以下說法正確的是()。A、聯(lián)合類型的內(nèi)存大小是第1個成員變量的內(nèi)存大小B、聯(lián)合類型的內(nèi)存大小是所有成員變量的內(nèi)存大小之和C、聯(lián)合類型的內(nèi)存大小由內(nèi)存大小最大的成員變量決定D、聯(lián)合類型的內(nèi)存大小由系統(tǒng)自動分配,在賦值前是不確定的答案:C133."以下代碼片段的輸出結(jié)果為。()Char*ps=""hellogame"";Printf(""%s\n"",ps+6);"A、gameB、gC、ogameD、編譯錯誤答案:A134.設(shè)有如下定義:Structst{Inta;Intb;}data;Int*p;則要使p指向data中的成員a的正確賦值語句是()。A、p=&a;B、p=data.aC、p=&data.aD、p=data.&a答案:C135.以下正確的函數(shù)定義是()。A、doublefun(intx,inty){}B、doublefun(intx;inty){}C、floatfun(int,int){}D、voidfun(intx,y){}答案:A136.采用函數(shù)重載的目的在于A、實(shí)現(xiàn)共享B、節(jié)約空間C、提高速度D、使用方便,提高可靠性答案:D解析:C++函數(shù)重載的作用:1.多個函數(shù)共用一個名字,減少對用戶的復(fù)雜性。2.函數(shù)重載是指在同一作用域內(nèi),可以有一組具有相同函數(shù)名,不同參數(shù)列表的函數(shù),這組函數(shù)被稱為重載函數(shù)。重載函數(shù)通常用來命名一組功能相似的函數(shù),這樣做減少了函數(shù)名的數(shù)量,避免了名字空間的污染,對于程序的可讀性有很大的好處。3.類的構(gòu)造函數(shù)跟類名相同,也就是說:構(gòu)造函數(shù)都同名。如果沒有函數(shù)重載機(jī)制,要想實(shí)例化不同的對象,那是相當(dāng)?shù)穆闊?37.設(shè)n是描述問題規(guī)模的非負(fù)整數(shù),下面程序片段的時間復(fù)雜度是()。x=2;while(xA、O(log2n)B、O(n)C、O(nlog2n)D、O(n2)答案:A138.下列特性中不是面向?qū)ο蟪绦蛟O(shè)計(jì)語言所特有的是()。A、數(shù)據(jù)封裝B、繼承C、多態(tài)性D、模板答案:D139.應(yīng)在下列程序劃線處填入的正確語句是()#include<iostream.h>>Usingnamespacestd;ClassBase{public:Voidfun({cout<<"Base::fun"<<ENDL;}};ClassDerived:publicBase{voidfun({__//顯示調(diào)用基類的函數(shù)fun(Cout<<"Derived::fun"<ENDL;}};A、fun0;B、Base.fun();C、Base::fun();D、Base->fun();答案:C140.下列表達(dá)式中表示int變量x可以被3整除的表達(dá)式是()。A、x/3==0B、x%3==0C、x%3!=0D、(x/3)答案:B141.函數(shù)參數(shù)的默認(rèn)值不允許為()A、全局常量B、直接常量C、局部變量D、函數(shù)調(diào)用答案:C解析:局部變量是函數(shù)調(diào)用之后,才會被構(gòu)造出來,而函數(shù)參數(shù)的值的存在,是在調(diào)用函數(shù)的時候就必須存在的。142.二叉樹的第k層的結(jié)點(diǎn)數(shù)最多為A、2^k-1B、2K+1C、2K-1D、2^(k-1)答案:D143.intsolve(intx){}intsolve2(inty){}inty;intmain(){x++;//1x=solve(x);//2x=solve2(y);//3x=1;//4}對于上面代碼,main函數(shù)內(nèi)注釋的1、2、3、4只會同時存在一行,下面說法錯誤的是()A、多線程對x的操作需要同步的包括x++B、多線程對x的操作需要同步的包括x=solve(x)C、多線程對x的操作需要同步的包括x=solve2(y)D、多線程對x的操作需要同步的包括x=1答案:D解析:x=1是一個原子操作,原子操作不需要加鎖144.為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇()。A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸函數(shù)D、函數(shù)模板答案:A145.如下代碼:intarr[8]={1,6,3,3,8,0,7,4};int*p=arr;下面答案中不能夠正確輸出全部偶數(shù)的是()A、for(inti=0;i<8;i++)If(arr[i]%2==0)Printf("%d",arr[i]);B、for(inti=0;i<8;i++)If(p[i]%2==0)Printf("%d",p[i]);C、inti=0;While(i<8){If(*(p+i)%2==0)Printf("%d",*(p+i));I++;}D、inti=0;While(i<8){If((arr+i)%2==0)Printf("%d",arr+i);I++;}答案:D146.map隨機(jī)讀的時間復(fù)雜度是?A、O(1)B、O(n)C、O(logN)D、O(n2)答案:C147.已知函數(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);答案:C148.在一個鏈隊(duì)列中,假定front和rear分別為隊(duì)首和隊(duì)尾指針,則插入一個結(jié)點(diǎn)的操作為A、front=front->next;B、rear=rear->next;C、rear=front->next;D、front=rear->next;答案:B149.已知:charc='\010';則變量c中包含的字符個數(shù)為()。A、4B、1C、2D、3答案:B解析:正確答案B150.下列有關(guān)new和delete運(yùn)算符的描述中,錯誤的是________。A、new運(yùn)算符分配的空間只能用delete運(yùn)算符撤銷B、對一個指針只能使用一次deleteC、當(dāng)用于刪除數(shù)組時,在delete運(yùn)算符后面可直接跟數(shù)組名,而不用管數(shù)組的維數(shù)D、new運(yùn)算符分配數(shù)組空間時不能指定初值答案:C151.設(shè)一個鏈表最常用的操作是在末尾插入結(jié)點(diǎn)和刪除尾結(jié)點(diǎn),則選用什么最節(jié)省時間A、單鏈表B、單循環(huán)鏈表C、帶尾指針的單循環(huán)鏈表D、帶頭結(jié)點(diǎn)的雙循環(huán)鏈表答案:D152.在下面存儲類中,()的對象不是局部變量。A、外部靜態(tài)類B、自動類C、函數(shù)形參D、寄存器類答案:A153.作用域運(yùn)算符“::”的功能是()A、標(biāo)識作用域的級別B、指出作用域的范圍C、給定作用域的大小D、標(biāo)識成員是屬于哪個類答案:B解析:類體外函數(shù)定義的前面必須用“類名::”來限定,格式如下:返回值類型類名::成員函數(shù)名(參數(shù)列表){成員函數(shù)的函數(shù)體}類名是成員函數(shù)所屬類的名字,符號::是類作用域運(yùn)算符,表明它后面的成員函數(shù)是屬于類名標(biāo)識的這個類的。故用于指出作用域的范圍,選B。154.布爾類型標(biāo)識符是()A、voidB、shortC、longD、bool答案:D解析:布爾類型標(biāo)識符是bool。如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型。Short短整型。Long長整型。155.假定a和b為int型變量,則執(zhí)行以下語句后b的值為______。#include<iostream>Usingnamespacestd;Voidmain(){Inta=1;Intb=10;Do{B-=a;A++;}while(b--<0);}(題)A、-1B、-2C、8D、9答案:C156.在開發(fā)一個C++程序的過程中,第3個步驟為()。A、鏈接B、運(yùn)行C、編輯D、編譯答案:A157.執(zhí)行下列程序語句后,屏幕輸出為()。#include<iostream〉Usingnamespacestd;Intn=5;Intmain(){Intn=3;N++;N++;Cout<<n<<endl;Return0;}A、3B、4C、5D、6答案:B158.下列關(guān)于類的繼承描述中,()是正確的。A、派生類公有繼承基類時,可以訪問基類的所有數(shù)據(jù)成員,調(diào)用所有成員函數(shù)。B、派生類也是基類,所以它們是等價(jià)的。C、派生類對象不會建立基類的私有數(shù)據(jù)成員,所以不能訪問基類的私有數(shù)據(jù)成員。D、一個基類可以有多個派生類,一個派生類可以有多個基類。答案:D159.有如下程序段:Inti=5;While(inti=0){cout<<'*';i--;}執(zhí)行時輸出"*"的個數(shù)是()。A、0B、1C、5D、無窮答案:A解析:循環(huán)條件一開始就為假。160.有以下程序中:#include<iostream>Usingnamespacestd;Voidmain(){Intm=0,n=0;Charc='B';Cin>>m>>c>>n;Cout<<m<<c<<n;}若從鍵盤上輸入:20A30<回車>,則輸出結(jié)果是_____。(題)A、20A30B、20B30C、30A30D、20A20答案:A161.C++對C語言作了很多改進(jìn),下列描述中()使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A、增加了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說明必須用原型;D、引進(jìn)了類和對象的概念;答案:D162.能實(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);答案:A163.一趟排序結(jié)束后不一定能夠選出一個元素放在其最終位置上的是()A、冒泡排序B、快速排序C、希爾排序D、以上說法都正確答案:C164.有以下程序段,其輸出結(jié)果是()#include<iostream>Usingnamespacestd;Voidmain(){charb[]='Hello,you';B[5]='!';Cout<A、Hello,youB、HelloC、Hello!youD、!答案:C解析:數(shù)組b用來存放'Hello,you'中的每個個字符,下標(biāo)從0開始。數(shù)組b開始存放的是字符串“Hello,you”,原來b[5]=',',執(zhí)行b[5]='!'后,數(shù)組b存放的是字符串變成“Hello!you”,所以輸出Hello!you。選C。165.執(zhí)行下列程序后,輸出的結(jié)果是()。Inta=-5,b=0;While(++a)B++;Cout<<b<<endl;A、0B、1C、4D、5答案:C166.關(guān)于純虛函數(shù)和抽象類的描述中,錯誤的是()。A、純虛函數(shù)是1種特殊的虛函數(shù),它沒有具體實(shí)現(xiàn)B、抽象類是指具有純虛函數(shù)的類C、1個基類說明中有純虛函數(shù),該基類的派生類一定不再是抽象類D、抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出答案:C167.下列程序段的輸出是________。unsignedshorti=65538;coutA、65538B、有語法錯誤,無法編譯通過C、0D、2答案:D168.對類中聲明的變量,下列描述中正確的是()A、屬于全局變量B、只屬于該類C、屬于該類,某些情況下也可被該類不同實(shí)例所共享D、任何情況下都可被該類所有實(shí)例共享答案:C169.表達(dá)式3*2^(4+2*2-6*3)-5在求值過程在,當(dāng)掃描到6時,數(shù)字棧中內(nèi)容為A、3,2,4,1,1B、3,2,8C、3,2,4,2,2D、以上都不對答案:B170.有如下4個語句:①cout<<'A'<A、①和④B、①和③C、②和③D、②和④答案:C171.fstreamiofile說法正確的是A、只輸入用B、既輸入又輸出用C、只輸出用D、它是從ifstream類派生的。答案:B172.下列函數(shù)原型聲明中,錯誤的是________。A、intfun(intm,intn);B、intfun(int,int);C、intfun(intm=3,intn);D、intfun(int&m,int&n);答案:C173.作用域運(yùn)算符“::”的功能是()A、標(biāo)識作用域的級別B、指出作用域的范圍C、給定作用域的大小D、標(biāo)識成員是屬于哪個類答案:B解析:類體外函數(shù)定義的前面必須用“類名::”來限定,格式如下:返回值類型類名::成員函數(shù)名(參數(shù)列表){成員函數(shù)的函數(shù)體}類名是成員函數(shù)所屬類的名字,符號::是類作用域運(yùn)算符,表明它后面的成員函數(shù)是屬于類名標(biāo)識的這個類的。故用于指出作用域的范圍,選B。174.下列選項(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);答案:B175.以下對于排序算法的穩(wěn)定性的描述正確的是()A、經(jīng)過排序之后,能使值相同的數(shù)據(jù)保持原順序中的相對位置不變B、經(jīng)過排序之后,能使值相同的數(shù)據(jù)保持原順序中的絕對位置不變C、算法的排序性能與被排序元素的數(shù)量關(guān)系不大D、算法的排序性能與被排序元素的數(shù)量關(guān)系密切答案:A176.關(guān)于內(nèi)聯(lián)函數(shù)說法錯誤的是()。A、不是任何一個函數(shù)都可定義成內(nèi)聯(lián)函數(shù)。B、內(nèi)聯(lián)函數(shù)的函數(shù)體內(nèi)不能含有復(fù)雜的結(jié)構(gòu)控制語句。C、遞歸函數(shù)可以被用來作為內(nèi)聯(lián)函數(shù)。D、內(nèi)聯(lián)函數(shù)一般適合于只有1~5行語句的小函數(shù)。答案:C177.從一個棧頂指針為HS的鏈棧中刪除一個結(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;答案:C178.函數(shù)voidfoo(){staticintval;……}變量val的內(nèi)存地址位于()A、未初始化數(shù)據(jù)段B、已初始化數(shù)據(jù)段C、堆D、棧答案:A解析:1)棧區(qū)(stack)-由編譯器自動分配釋放,存放函數(shù)的參數(shù)值,局部變量的值等。2、堆區(qū)(heap)-一般由程序員分配釋放,若程序員不釋放,程序結(jié)束時可能由os回收。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表。3、全局區(qū)(靜態(tài)區(qū))(static)-全局變量和靜態(tài)變量的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域,未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。程序結(jié)束后有系統(tǒng)釋放。4、文字常量區(qū)-常量字符串就是放在這里的。程序結(jié)束后由系統(tǒng)釋放。5、程序代碼區(qū)-存放函數(shù)體的二進(jìn)制代碼。179.下列條件語句中,功能與其他語句不同的是________。A、if(a)cout<<x<<"\n";elsecout<<y<<"\n";B、if(a==0)cout<<y<<"\n";elsecout<<x<<"\n";C、if(a!=0)cout<<x<<"\n";elsecout<<y<<"\n";D、if(a==0)cout<<x<<"\n";elsecout<<y<<"\n";答案:B180.設(shè)有如下程序段:intx=2002,y=2003;cout<<(x,y)<<"\n";則以下敘述中正確的是________。A、編譯時產(chǎn)生出錯信息,不能正確輸出B、輸出2002,2003C、輸出值為2002D、輸出值為2003答案:D181.函數(shù)重載發(fā)生在那個時期?A、編譯期B、運(yùn)行期答案:A182.所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實(shí)體,這實(shí)體也就是()A、類B、對象C、函數(shù)體D、數(shù)據(jù)塊答案:A解析:面向?qū)ο蠓椒ㄖ械念悾菏菍哂邢嗤瑢傩院托袨榈耐活悓ο蟮某橄竺枋?。故封裝將對象屬性和操作結(jié)合在一起,構(gòu)成獨(dú)立的單元,即實(shí)體。故本題選A。183.在編譯指令中,嵌入指令是指()A、#includeB、#defineC、#ifD、#else答案:A解析:嵌入指令#include指示編譯器將一個源文件嵌入到帶有#include指令的源文件中該指令所在的位置處。故本題選A。184.關(guān)于抽象類,下列表述中正確的是()。A、抽象類的成員函數(shù)中至少有一個是沒有實(shí)現(xiàn)的函數(shù)(即無函數(shù)體定義的函數(shù))B、派生類必須實(shí)現(xiàn)作為基類的抽象類中的純虛函數(shù)C、派生類不可能成為抽象型D、抽象類可以用來定義對象答案:A185.有如下程序:#include<iostream>#include<stdlib.h>Usingnamespacestd;Intmain(){Inti,n;For(i=0;i<8;i++){n=rand()%5;//rand()為偽隨機(jī)函數(shù),可產(chǎn)生任意正整數(shù)Switch(n){case1:Case3:cout<<n<<endl;break;Case2:Case4:cout<<n<<endl;continue;Case0:exit(0);//exit()為終止程序函數(shù)}Cout<<n<<endl;}Return0;}以下有關(guān)程序執(zhí)行情況的敘述,正確的是()。A、for循環(huán)語句固定執(zhí)行8次B、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)C、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2不做任何操作D、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運(yùn)行答案:D186.若有以下類T說明,函數(shù)fFriend的錯誤定義是()。ClassT{inti;FriendvoidfFriend(T&,int);};A、voidfFriend(T&objT,intk){objT.i=k;}B、voidfFriend(T&objT,intk){k=objT.i;}C、voidT::fFriend(T&objT,intk){k+=objT.i;}D、voidfFriend(T&objT,intk){objT.i+=k;}答案:C187.若有11個頂點(diǎn)的生成樹,則它的邊數(shù)是A、11B、12C、9D、10答案:C188.#include<iostream>Usingnamespacestd;Intmain(){Inta=3;If(a=5)Cout<<a++<<endl;ElseCout<<a<<endl;Return0;}程序的輸出是()。(題)A、5B、3C、4D、6答案:A189.以下循環(huán)體的執(zhí)行次數(shù)是________。intmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)cout<A、3B、2C、1D、0答案:C190.所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實(shí)體,這實(shí)體也就是()。A、類B、對象C、函數(shù)體D、數(shù)據(jù)塊答案:A191.執(zhí)行語句boolx=5;inta=x==5;變量a的值為()。A、0B、1C、5D、false答案:A解析:x=5,x的值為真,x==5結(jié)果為假,所以a為0.192.執(zhí)行下列程序后,屏幕的輸出是()。#include<iostream>Usingnamespacestd;Voidswap(intA,intb){Inttemp=a;A=b;B=temp;Cout<<"a="<<a<<",b="<A、a=2,b=3A=3,b=2B、a=3,b=2A=3,b=2C、a=2,b=3A=2,b=3D、a=3,b=2A=2,b=3答案:A193.請問對一個排好序的數(shù)組進(jìn)行查找,用平均時間復(fù)雜度最小的算法,時間復(fù)雜度為()A、O(n)B、O(logn)C、O(nlogn)D、O(1)答案:B194.設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為________。x=y=z=1;t=++x||++y&&++z;A、不定值B、2C、1D、0答案:C195.下列關(guān)于break語句描述中,______是錯誤的。A、break語句可用于if語句體內(nèi),它將退出if語句B、break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán)C、break語句可用于switch語句中,它將退出switch語句D、break語句在一個循環(huán)體內(nèi)可以出現(xiàn)多次答案:A196.在if語句中的表達(dá)式是()。A、只能是表達(dá)式B、只能是關(guān)系表達(dá)式和邏輯表達(dá)式C、只能是邏輯表達(dá)式D、可以是任意表達(dá)式答案:D197.下列選項(xiàng)中,全部都是C++關(guān)鍵字的選項(xiàng)為()。A、whileIFStaticB、breakchargoC、sizeofcaseexternD、switchfloatinteger答案:C198.線性表采用順序存儲的缺點(diǎn)是()A、存儲密度降低B、只能順序訪問C、元素的邏輯順序與物理順序不一致D、插入、刪除操作效率低答案:D199.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()A、A,point,*&aB、&*a,&a,*pointC、*&point,*point,&aD、&a,&*point,point答案:D200.有如下類定義classA{intx;protected:inty;public:intz;A():x(0),y(0){}intGetX(){returnx;}voidSetX(intx){A::x=x;}}obj;已知obj是類A的對象,下列語句中錯誤的是________。A、obj.y;B、obj.z;C、obj.GetX();D、obj.SetX(0);答案:A201.除個別節(jié)點(diǎn)外,其余結(jié)點(diǎn)只能有一個前驅(qū)結(jié)點(diǎn),可有任意多個后繼結(jié)點(diǎn),這樣的結(jié)構(gòu)為A、線性結(jié)構(gòu)B、鏈表C、棧D、樹形結(jié)構(gòu)答案:D202.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是()。A、一個類可以有多個析構(gòu)函數(shù)B、析構(gòu)函數(shù)與類名完全相同C、析構(gòu)函數(shù)不能指定返回類型D、析構(gòu)函數(shù)可以有一個或多個參數(shù)答案:A203.下列不會調(diào)用復(fù)制構(gòu)造函數(shù)的是()A、用類的一個對象去初始化另一個對象時。B、函數(shù)的形參是類的對象,函數(shù)調(diào)用時,進(jìn)行形參和實(shí)參結(jié)合。C、函數(shù)的返回值是類的對象,函數(shù)執(zhí)行完返回調(diào)用者時。D、一個類中有另一個的對象作為成員,形成類的組合時。答案:D204.下列關(guān)于return語句的敘述中,正確的是()。A、任何函數(shù)的函數(shù)體中至少有一個return語句B、任何函數(shù)的函數(shù)體中最后一條語句必須是return語句C、如果函數(shù)的返回類型為void,則其函數(shù)體中可以沒有return語句D、如果函數(shù)的返回類型為int,則其函數(shù)體中可以沒有return語句答案:C205.下列對派生類的描述中,()是錯誤的。A、一個派生類可以作為另外一個派生類的基類B、派生類至少有一個基類C、派生類的成員除了它自己的成員外,還包含了它的基類的成員D、派生類繼承的基類成員的訪問權(quán)限到派生類保持不變答案:D206.class的默認(rèn)的繼承訪問權(quán)限是?A、publicB、private答案:B207.關(guān)于C++語言中return語句正確的說法是()A、只能在主函數(shù)中出現(xiàn)B、在每個函數(shù)中都必須出現(xiàn)C、可以在一個函數(shù)中出現(xiàn)多次D、只能在除主函數(shù)之外的函數(shù)中出現(xiàn)答案:C208.在參數(shù)傳遞過程中,對形參和實(shí)參的要求是()A、函數(shù)定義時,形參一直占用存儲空間B、實(shí)參可以是常量、變量或表達(dá)式C、形參可以是常量、變量或表達(dá)式D、形參和實(shí)參類型和個數(shù)都可以不同答案:B209.下列程序的輸出結(jié)果是________。#includeusingnamespacestd;intd=1;voidfun(intp){intd=5;d+=p++;coutA、84B、96C、94D、85答案:A210.已知inti=0,x=1,y=0;在下列選項(xiàng)使i的值變成1的語句是()。A、if(x&&y)i++;B、if(x==y)i++;C、if(x||y)i++;D、if(!x)i++;答案:C211.已知有聲明inta[10];,若用其中某個數(shù)組元素作函數(shù)實(shí)參,則下列說法正確的是________。A、形參應(yīng)為符號常量B、形參應(yīng)為數(shù)組名C、形參應(yīng)為表達(dá)式D、形參應(yīng)為簡單變量答案:D212.C++函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是________。A、autoB、staticC、externD、register答案:A213.下列虛基類的聲明中正確的是()。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA答案:D214.若有以下說明和定義,在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是()intfun(int*c){…}intmain(){int(*a)(int*)=fun,*b(),w[10],c;…}A、a=a(w);B、(*a)(&c);C、b=*b(w);D、fun(b);答案:B解析:在答案A中,a(w)調(diào)用正確,但將其返回值賦值給a是錯誤的,因?yàn)榉祷刂凳钦蛿?shù),而a是一函數(shù)指針,所以答案A是錯誤的。在答案C中,因b是一個返回值為整型數(shù)指針的函數(shù),*b(w)本身就是錯誤的;在答案D中,b后面省掉了括號,因?yàn)閎是函數(shù),故也是錯誤的;而對于答案B來說,因?yàn)閍指向了函數(shù)fun,所以它等價(jià)于fun(&c)的調(diào)用,是正確的。所以正確答案是B。215.在C++語言的數(shù)據(jù)類型中,int,short等類型的長度是()。A、固定的B、任意的C、用戶自定義的D、與機(jī)器字長有關(guān)的答案:D216.下列說法中錯誤的是()。A、靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值B、若全局變量和某一函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽C、靜態(tài)全局變量可以被其他的編輯單位所引用D、所有自動類局部變量的存儲單元都是在進(jìn)入這些局部變量所在的函數(shù)體(或復(fù)合語句)時生成,退出其所在的函數(shù)體(或復(fù)合語句)時消失答案:C217.下列標(biāo)識符中,屬于塊作用域的是________。A、函數(shù)形參B、語句標(biāo)號C、函數(shù)外定義的變量D、函數(shù)原型的參數(shù)列表中的參數(shù)名答案:A218.C++語言的函數(shù)體必須放在一對()中A、{}B、""C、[]D、()答案:A219.有以下程序intmain(){inta=3,b=4,c=5,d=2;if(a>b)if(b>c)coutA、2B、3C、43D、44答案:A220.C++的繼承性允許派生類繼承基類的()A、部分特性,并允許增加新的特性或重定義基類的特性B、部分特性,但不允許增加新的特性或重定義基類的特性C、所有特性,并允許增加新的特性或重定義基類的特性D、所有特性,但不允許增加新的特性或重定義基類的特性答案:A221.若一個類中含有純虛函數(shù),則該類稱為()。A、基類B、純基類C、抽象類D、派生類答案:C222.考慮函數(shù)原型voidtest(intA,intb=7,charch='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()A、test(5)B、test(5,8)C、test(6,'#')D、test(0,0,'*')答案:C解析:在C++語言中,可以在聲明函數(shù)時為形參指定默認(rèn)值。當(dāng)調(diào)用有默認(rèn)參數(shù)值的函數(shù)時,調(diào)用語句中可以不給出對應(yīng)的實(shí)參,這就相當(dāng)于調(diào)用該函數(shù)時以默認(rèn)值作為參數(shù)。調(diào)用函數(shù)時,主調(diào)函數(shù)的實(shí)參與被調(diào)函數(shù)的形參按從左至右的順序進(jìn)行匹配對應(yīng)。C選項(xiàng)中,實(shí)參有2個,少于形參的個數(shù)3,故從左至右匹配,將會把字符型實(shí)參#賦值給整型形參b,則會產(chǎn)生編譯錯誤。故選C。223.關(guān)于文件包含,下列描述錯誤的是__________A、文件包含命令行必須以#include開頭B、文件包含命令行的兩種形式是有區(qū)別的,當(dāng)#include后面的文件名用<>括起來時,應(yīng)該先在源程序所在目錄中進(jìn)行搜索C、文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D、一個#include命令只能包含一個文件,當(dāng)多個文件需要包含時,應(yīng)使用多個#include命令行答案:B224.以下關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)的說法,錯誤的是()。A、析構(gòu)函數(shù)中調(diào)用虛函數(shù)采用靜態(tài)聯(lián)編B、對虛析構(gòu)函數(shù)的調(diào)用可以采用動態(tài)聯(lián)編C、當(dāng)基類的析構(gòu)函數(shù)是虛函數(shù)時,其派生類的析構(gòu)函數(shù)一定時虛函數(shù)D、構(gòu)造函數(shù)可以聲明為虛函數(shù)答案:D225.有關(guān)析構(gòu)函數(shù)的說法不正確的是()。A、析構(gòu)函數(shù)有且只有一個B、析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C、析構(gòu)函數(shù)的功能是用來釋放一個對象D、析構(gòu)函數(shù)無任何函數(shù)類型答案:B226.C++程序從上機(jī)到得到結(jié)果的幾個操作步驟依次是()。A、編譯、編輯、連接、運(yùn)行B、編輯、編譯、連接、運(yùn)行C、編譯、運(yùn)行、編輯、連接D、編輯、運(yùn)行、編輯、連接答案:B227.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______A、將串str1到串str2中后再連接到串str3之后B、將串str1連接到串str2之后再到串str3之后C、將串str2連接到串str1之后再將串str1到串str3中D、將串str2到串str1中后再將串str3連接到串str1之后答案:D228.執(zhí)行C++程序時出現(xiàn)的“溢出”錯誤屬于()錯誤。A、編譯B、連接C、運(yùn)行D、邏輯答案:C229.關(guān)于成員函數(shù)特征的下列描述中,()是錯誤的。A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù);B、成員函數(shù)可以重載;C、成員函數(shù)可以設(shè)置缺省參數(shù)值;D、成員函數(shù)可以是靜態(tài)的;答案:A230.有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運(yùn)行后的輸出結(jié)果是()A、1,2,1,2B、1,2,2,1C、2,1,2,1D、2,1,1,2答案:B231.以下程序inta=15;a>>2;則a的值變?yōu)椋ǎ?。A、3B、15C、13D、2答案:A232.如果定義: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)正確。233.下列輸出語句中,正確的是()A、cout<<("%c\n","student")B、cout<<("%s\n","hello")C、cout<<("%c\n","c")D、cout<<("%s\n",&a)答案:B解析:%c是輸岀單個字符的格式控制符。%s是輸出字符串的格式控制符。故只有B正確。選項(xiàng)C中"c"是字符串,不能用c%格式輸出。234.下列給字符

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論