(新版)《C++開發(fā)基礎(chǔ)》考試(重點)題庫500題(含答案)_第1頁
(新版)《C++開發(fā)基礎(chǔ)》考試(重點)題庫500題(含答案)_第2頁
(新版)《C++開發(fā)基礎(chǔ)》考試(重點)題庫500題(含答案)_第3頁
(新版)《C++開發(fā)基礎(chǔ)》考試(重點)題庫500題(含答案)_第4頁
(新版)《C++開發(fā)基礎(chǔ)》考試(重點)題庫500題(含答案)_第5頁
已閱讀5頁,還剩151頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1一、單選題1.應(yīng)在下列程序劃線處填入的正確語句是()ClassBase{public:Voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{voidfun(){__________________________;//顯示調(diào)用基類的函數(shù)fun()Cout<<"Derived::fun"<<endl;}};A、fun();B、Base.fun();C、Base::fun();D、Base->fun()答案:C2.在下列成對的表達(dá)式中,運算符“+”的意義不相同的一對是________。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答案:C3.設(shè)置虛基類的目的是()?A、簡化程序B、消除二義性C、提高運行效率D、減少目標(biāo)代碼答案:B解析:虛基類是為了強調(diào)"這個類型的某些方法沒有意義,只是為了繼承,不要構(gòu)造這種類型的對象"盡管C++或其他OO語言支持多重繼承,但在實際軟件開發(fā)中多重繼承用的并不多,原因在于多重繼承過手復(fù)雜。4.閱讀下面程序,則程序段的功能是()。Intmain(){intc[]={23,1,56,234,7,0,34},i,j,t;For(i=1;i<7;i++){t=c[i];j=i-1;While(j>=0&&t>c[j]){c[j+1]=c[j];j--;}C[j+1]=t;}For(i=0;i<7;i++)Cout<<c[i];Cout<<endl;}A、對數(shù)組元素的升序排列B、對數(shù)組元素的降序排列C、對數(shù)組元素的倒序排列D、對數(shù)組元素的隨機排列答案:B5.執(zhí)行語句for(inti=50;i>1;--i)cout<<"$";后,輸出字符'$'的個數(shù)為________。A、48B、49C、50D、51答案:B6.通常,拷貝構(gòu)造函數(shù)的參數(shù)是()A、某個對象名B、某個對象的成員名C、某個對象的引用名D、某個對象的指針名答案:C7.直接插入排序在最好情況下的時間復(fù)雜度為()A、O(logn)B、O(n)C、O(nlogn)D、O(n2)答案:B8.有關(guān)二叉樹下列說法正確的是A、二叉樹的度為2B、一棵二叉樹的度可以小于2C、二叉樹中至少有一個結(jié)點的度為2D、二叉樹中任何一個結(jié)點的度都為2答案:B9.在對n個元素進行直接插入排序的過程中,共需要進行()躺A、nB、n+1C、n-1D、2n答案:C10.以下選項中可作為C++語言合法整數(shù)的是()。A、101011B、0286C、0xffaD、x2ba答案:A11.對于int*target[5]的描述,以下選項是正確的是()A、target是一個具有5個元素的指針數(shù)組,每個元素是一個int類型的指針B、target[5]表示某個數(shù)組的第5個元素的值C、target是一個指向數(shù)組的指針,所指向的數(shù)組是5個int類型的元素D、target是一個指向某個數(shù)組中第5個元素的指針,該元素是int類型的變量。答案:A解析:int*target[n]是指針數(shù)組,[]優(yōu)先級高,先與target結(jié)合成為一個數(shù)組,再由int*說明這是一個整型指針數(shù)組,它有n個指針類型的數(shù)組元素。int(*target)[n]是數(shù)組指針,()優(yōu)先級高,首先說明target是一個指針,指向一個整型的一維數(shù)組,這個一維數(shù)組的長度是n,也可以說是target的步長。12.下列選項中,()不.能.交換變量a和b的值。A、t=b;b=a;a=t;B、a=a+b;b=a-b;a=a-b;C、t=a;a=b;b=t;D、a=b;b=a;答案:D13.關(guān)于跳轉(zhuǎn)語句,下列說法正確的是()。A、break語句只用于循環(huán)體中B、continue語句只用于循環(huán)體中C、break是無條件跳轉(zhuǎn)語句,continue不是D、break和continue的跳轉(zhuǎn)范圍不夠確定,容易產(chǎn)生問題答案:B14.若有以下說明語句:structdata{inti;doublef;charch;}b;則理論上計算,結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)為______。A、1B、2C、8D、13答案:D15.關(guān)于虛函數(shù),正確的描述是:A、構(gòu)造函數(shù)不能是虛函數(shù)B、析構(gòu)函數(shù)不能是虛函數(shù)C、虛函數(shù)可以是友元函數(shù)D、虛函數(shù)可以是靜態(tài)成員函數(shù)答案:A16.關(guān)于C++與C語言的關(guān)系的描述中錯誤的是A、C語言是C++的一個子集B、C語言與C++是兼容的C、C++對C語言進行了一些改進D、C++和C語言都是面向?qū)ο蟮拇鸢福篋17.下列關(guān)于對象數(shù)組的描述中,錯誤的是()A、對象數(shù)組的下標(biāo)是從0開始的B、對象數(shù)組的數(shù)組名是個常量指針C、對象數(shù)組的每個元素是同一個類的對象D、對象數(shù)組只能賦初值,不能被賦值答案:D解析:聲明對象數(shù)組的格式如下:類名對象數(shù)組名[數(shù)組大小];同類型的對象之間可以相互賦值。所以對象數(shù)組既可以賦初值,也可以被賦值。故D錯誤。對象數(shù)組下標(biāo)都是從0開始,聲明的數(shù)組都是同一個類的對象,數(shù)組名是一個指向數(shù)組首地址的常量指針。故ABC都正確。18.下列函數(shù)中,不能說明為虛函數(shù)的是()。A、私有成員函數(shù)B、公有成員函數(shù)C、構(gòu)造函數(shù)D、析構(gòu)函數(shù)答案:C19.下面程序的輸出結(jié)果為()#includeusingnamespacestd;unsignedfunc(unsignednum){unsignedd=1,k;do{k=num%10;num/=10;}while(num);return(k);}intmain(){unsignedn=26;coutA、6B、4C、2D、5答案:C20.下列語言不屬于高級語言中的是()A、C語言B、機器語言C、FORTRAN語言D、C++語言答案:B21.有如下程序:#include<iostream>Usingnamespacestd;Voidmain(){Cout<<"a\bre\'hi\'y\\\bou\n";}運行該程序的輸出結(jié)果是_____。(題)A、re'hi'youB、are'hi'youC、are'hi'y\ouD、are'hi'y\bou答案:A22.下面程序執(zhí)行后的輸出結(jié)果是________。#includeusingnamespacestd;#defineN20voidfun(inta[],intn,intm){inti;for(i=m;i>=n;i--)a[i+1]=a[i];}intmain(){inti;inta[N]={1,2,3,4,5,6,7,8,9,10};fun(a,1,5);for(i=0;i<5;i++)cout<A、10234B、12344C、12334D、12234答案:D23.循環(huán)隊列的隊滿條件為()A、(sq.rear+1)%maxsize==(sq.front+1)%maxsize;B、(sq.front+1)%maxsize==sq.rearC、(sq.rear+1)%maxsize==sq.frontD、sq.rear==sq.front答案:C24.當(dāng)將一個類A或函數(shù)f()說明為另一個類B的友元后,類A或函數(shù)f()能夠直接訪問類B的()。A、只能是公有成員B、只能是保護成員C、只能是除私有成員之外的任何成員D、任何權(quán)限的成員答案:D25.下列關(guān)于函數(shù)的描述中,錯誤的是()。A、函數(shù)可以沒有返回值B、函數(shù)可以沒有參數(shù)C、函數(shù)可以是一個類的成員D、函數(shù)不能被定義為模板答案:D26.在對一組關(guān)鍵字序列{70,55,100,15,33,65,50,40,95},進行直接插入排序時,把65插入,需要比較多少次A、2B、4C、6D、8答案:A27.下列排序算法中,已基本有序卻反而變得更復(fù)雜的排序算法是:()。A、冒泡排序B、快速排序C、簡擇排序D、插入排序答案:B28.下列關(guān)于類的權(quán)限描述錯誤的是()A、類本身的成員函數(shù)可以訪問自己定義的任何成員B、類的對象只能訪問公有成員C、普通函數(shù)只能通過對象訪問類的公有成員D、一個類不能包含另一個類的對象作為成員答案:D解析:因為類本身就是一種新的數(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正確。29.C++源程序的實現(xiàn)一般要經(jīng)過三個步驟,其中不包括()。A、編輯B、維護C、編譯D、運行答案:B30.任何一棵二叉樹的葉子結(jié)點在前序、中序和后序遍歷序列中的相對次序。A、不發(fā)生改變B、發(fā)生改變C、不能確定D、以上都不對答案:A31.在C程序的源文件中如果需要使用函數(shù)strcpy,需要在該文件開頭引入哪個頭文件()A、iostream.hB、string.hC、math.hD、不需要任何頭文件答案:B32.已知二叉樹后序遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是:A、abcdefgB、abdcefgC、adbcfegD、abecdfg答案:B33.有關(guān)二叉樹下列說法正確的是A、二叉樹的度為2B、一棵二叉樹的度可以小于2C、二叉樹中至少有一個結(jié)點的度為2D、二叉樹中任何一個結(jié)點的度都為2答案:B34.假定一條定義語句為“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答案:D35.有函數(shù)原型voidfun4(int&);下面選項中,正確的調(diào)用是()。A、inta=2.17;fun4(&a);B、inta=15;fun4(a*3.14);C、intb=100;fun4(b);D、fun4(256);答案:C36.哪個操作符不能作為類成員函數(shù)被重載?A、?:B、++C、[]答案:A解析:不可重載運算符包括"?:"、"::"、"."、".*"這四個37.若有以下說明語句:structdata{inti;doublef;charch;}b;則理論上計算,結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)為______。A、1B、2C、8D、13答案:D38.下面程序執(zhí)行后的輸出結(jié)果是________。#includeusingnamespacestd;voidfun(char*c,chard){*c=*c+1;d=d+1;cout<<*c<<","<A、B,a,B,aB、a,B,a,BC、A,b,A,bD、b,B,A,b答案:D39.關(guān)于函數(shù)重載,下列敘述中錯誤的是()。A、重載函數(shù)的函數(shù)名必須相同B、重載函數(shù)必須在參數(shù)個數(shù)或類型上有所不同C、重載函數(shù)的返回值類型必須相同D、重載函數(shù)的函數(shù)體可以有所不同答案:C40.一棵完全二叉樹上有1001個結(jié)點,其中葉子結(jié)點的個數(shù)是A、250B、500C、254D、501答案:D41.假定一個類的構(gòu)造函數(shù)為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執(zhí)行“Ax(4);”語句后,x.a和x.b的值分別為()。A、1和0B、1和4C、4和1D、4和0答案:D42.設(shè)有變量說明intA,b;floatx,y;,以下C++語句中存在語法錯誤的語句是________。A、y=x%a;B、y=x+++x;C、y=a+b>x+y?a:b;D、a=x+y;答案:A43.設(shè)i=1,j=2,則表達(dá)式++i+j的值為()。A、1B、2C、3D、4答案:D44.若有如下程序#includeusingnamespacestd;voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;iA、0987651234B、3210987654C、9876543210D、4567890123答案:D45.下列有關(guān)函數(shù)定義和調(diào)用的敘述中,錯誤的是________。A、一個函數(shù)必須定義后才能使用B、在一個函數(shù)體內(nèi)可以定義另一個函數(shù)C、用戶定義的函數(shù)可以被一個和多個函數(shù)調(diào)用任意多次D、一般要求在函數(shù)調(diào)用時,實參的個數(shù)和類型必須與形參的個數(shù)和類型一致答案:B46.下列選項中,用于清除基數(shù)格式位設(shè)置以十六進制輸出的語句是()。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);答案:B47.在inta=3,*p=&a;中,*p的值是()。A、變量a的地址值B、無意義C、變量p的地址值D、3答案:D48.設(shè)inta=3,b=4,c=5;表達(dá)式a+b>c&&b==c的值是()。A、2B、-1C、0D、1答案:C49.下面給指針變量賦值的方法錯誤的是()。A、int*p;p=&5;B、int*p;inta=5;p=&a;C、int*p;inta[5];p=a;D、int*p;inta[5];p=&a[0];答案:A50.關(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)鍵字答案:C51.已知函數(shù)f(inta),則以下函數(shù)調(diào)用正確的是()。A、f(int1)B、f(1)C、f(a)D、f(2.5)答案:B52.已知:chara[20]="abc",b[20]="defghi";則執(zhí)行下列語句后的輸出結(jié)果為()。Cout<<strlen(strcpy(a,b));A、1B、6C、5D、以上答案都不正確答案:B53.使用重載函數(shù)編程序的目的是()。A、使用相同的函數(shù)名調(diào)用功能相似的函數(shù)B、共享程序代碼C、提高程序的運行速度D、節(jié)省存貯空間答案:A54.設(shè)x為整型變量,不.能.正確表達(dá)數(shù)學(xué)關(guān)系1<x<5的C++邏輯表達(dá)式是()。A、1<x<5B、x==2||x==3||x==4C、1<x&&x<5D、!(x<=1)&&!(x>=5)答案:A55.已知有聲明語句structstudent{charnum[20],name[20];intage,score[5];}stud;則下列敘述中錯誤的是________。A、該結(jié)構(gòu)體類型一共有4個成員B、系統(tǒng)會給結(jié)構(gòu)體類型student分配空間C、structstudent和student都可以作為結(jié)構(gòu)體類型標(biāo)識符D、stud是用戶定義的變量名,系統(tǒng)給其開辟空間答案:B56.在C++中使用流進行輸入輸出,其中專用于從鍵盤進行輸入的流是()A、cerrB、cinC、coutD、cfile答案:B解析:C++類中對象:Cin:運算符為>>,用于鍵盤輸入。Cout:運算符為<<,用于屏幕輸出。故本題選B。57.有序數(shù)組123456789查找3的二分查找序列是:A、1->2->3B、5->2->3C、9->5->3D、5->1->4->3答案:B58.關(guān)于對象概念的描述中,說法錯誤的是()A、對象就是C語言中的結(jié)構(gòu)變量B、對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體C、對象是類的一個變量D、對象之間的信息傳遞是通過消息進行的答案:A59.在一個被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,錯誤的是()A、被調(diào)用函數(shù)中可以不用return語句B、被調(diào)用函數(shù)中可以使用多個return語句C、被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句D、被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)答案:D解析:被調(diào)用函數(shù)中,一個return語句只能返回一個值給調(diào)用函數(shù)。故D錯誤。Return語句當(dāng)然可以有多條,只不過函數(shù)運行的時候,最后只會執(zhí)行其中的一條。故B正確。函數(shù)有返回值,那么函數(shù)就要返回其聲明類型的值,所以應(yīng)該有return語句返回相應(yīng)的值,否則編譯出錯。故C正確。60.有如下程序段:……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答案:B61.設(shè)有說明constchar*constp="ABCD";,則下列選項中正確的是()A、允許修改指針p本身,且允許通過p修改所指向的數(shù)據(jù)B、允許修改指針p本身,且禁止通過p修改所指向的數(shù)據(jù)C、禁止修改指針p本身,且允許通過p修改所指向的數(shù)據(jù)D、禁止修改指針p本身,且禁止通過p修改所指向的數(shù)據(jù)答案:D解析:C++語言也可以使用const限定訪問權(quán)限,const修飾指針變量時,基本含義如下:1)如果唯一的const位于符號*的左側(cè),表示指針?biāo)笖?shù)據(jù)是常量,數(shù)據(jù)不能通過本指針改變,但可以通過其他方式進行修改;指針本身是變量,可以指向其他的內(nèi)存單元。2)如果唯一的const位于符號*的右側(cè),表示指針本身是常量,不能讓該指針指向其他內(nèi)存地址;指針?biāo)傅臄?shù)據(jù)可以通過本指針進行修改。3)在符號*的左右各有一個const時,表示指針和指針?biāo)笖?shù)據(jù)都是常量,既不能讓指針指向其他地址,也不能通過指針修改所指向的內(nèi)容。本題中,Const既出現(xiàn)在*的左側(cè),也出現(xiàn)在*的右側(cè),表示指針本身及指針?biāo)傅臄?shù)據(jù)都是不可修改的。故本題選D。62.下列不是異常處理中需要用到的標(biāo)識符是()。A、tryB、catchC、throwD、go答案:D63.有如下程序:#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;}其中有語法錯誤的語句是________。A、①②③④B、①②③C、②③④D、①④答案:B64.下列排序算法中不穩(wěn)定的是A、冒泡排序B、折半插入排序C、快速排序D、以上都是穩(wěn)定的答案:C65.有關(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ù)類型答案:B66.下列選項中不能作為C++用戶標(biāo)識符為()。A、MainB、sizeofC、_intD、Return答案:B67.關(guān)于訪問權(quán)限,以下說法錯誤的是()。A、public權(quán)限表示可以被程序中任何函數(shù)調(diào)用B、private權(quán)限表示只能被類自身調(diào)用C、protected權(quán)限表示只能被類自身和其父類調(diào)用D、protected權(quán)限表示只能被類自身和其子類調(diào)用答案:C68.下述靜態(tài)數(shù)據(jù)成員的特征中,()是錯誤的。A、說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符staticB、靜態(tài)數(shù)據(jù)成員要在類體外進行初始化C、引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運算符D、靜態(tài)數(shù)據(jù)成員不是所有對象所共用的答案:D69.if(x),表達(dá)式x等效于()。A、x==1B、x==0C、x!=1D、x!=0答案:D70.C++中注釋“/*”的有效范圍是()A、從“/*”開始到行尾B、從“/*”開始后不終止C、從“/*”開始到“//”為止D、從“/*”開始到“*/”為止答案:D解析:C++程序中,仍沿用C語言的注釋風(fēng)格,即注釋有以下兩種形式。1)從/*開始,到*/結(jié)束,這之間的所有內(nèi)容都視作注釋。故本題選D。2)從//直到行尾,都是注釋。71.現(xiàn)在有如下程序Intmain(){chars[80];Inti,j;Gets(s);For(i=j=0;s[i]!=′\0′;i++)If(s[i]!=′H′)______S[j]=′\0′;Puts(s);Return0;}這個程序段的功能是刪除輸入的字符串中字符′H′,則空線上應(yīng)當(dāng)填入的是()。A、s[j++]=s[i];j++;B、s[j]=s[i++];j++;C、s[j++]=s[i];D、s[j]=s[i];答案:C72.下列關(guān)于this指針的敘述中,正確的是()。A、this指針是一個隱含指針,它隱含于類的成員函數(shù)中B、只有在使用this時,系統(tǒng)才會將對象的地址賦值給thisC、類的友元函數(shù)也有this指針D、this指針表示了成員函數(shù)當(dāng)前操作的數(shù)據(jù)所屬的對象答案:D73.關(guān)于delete運算符的下列描述中,錯誤的是:A、它必須用于new返回的指針B、使用它刪除對象時要調(diào)用析構(gòu)函數(shù)C、對一個指針可以多次使用該運算D、指針名前只有一對方括號符號,不管所刪除數(shù)組的維數(shù)答案:C74.設(shè)有定義:intx[10],*p=x,i;若要為數(shù)組x讀入數(shù)據(jù),以下選項正確的是()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]);答案:A75.對類中聲明的變量,下列描述中正確的是()A、屬于全局變量B、只屬于該類C、屬于該類,某些情況下也可被該類不同實例所共享D、任何情況下都可被該類所有實例共享答案:C76.在編譯指令中,嵌入指令是指()A、#includeB、#defineC、#ifD、#else答案:A解析:嵌入指令#include指示編譯器將一個源文件嵌入到帶有#include指令的源文件中該指令所在的位置處。故本題選A。77.下列選項中,()不能交換變量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;答案:A78.一個函數(shù)功能不太復(fù)雜,但要求頻繁使用,則該函數(shù)適合作為()A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸函數(shù)D、嵌套函數(shù)答案:A解析:對于只有很少幾條語句的函數(shù),特別是頻繁調(diào)用時,函數(shù)調(diào)用導(dǎo)致的額外時間開銷可能會使程序運行明顯變慢。為了避免這種頻繁的函數(shù)調(diào)用與返回,C++語言引入了內(nèi)聯(lián)函數(shù)的概念。故本題選A。內(nèi)聯(lián)函數(shù)的適用情況:只有幾條語句,且頻繁調(diào)用的小函數(shù)。79.若已經(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);答案:C80.關(guān)于類模板的模板參數(shù)說法正確的是()。A、只可作為數(shù)據(jù)成員的類型B、只可作為成員函數(shù)的返回值類型C、只可作為成員函數(shù)的參數(shù)類型D、既可作為數(shù)據(jù)成員的類型,也可說明成員函數(shù)的類型答案:D81.假定要對類AB定義加號運算符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為()A、ABoperator+(AB&a,AB&b)B、ABoperator+(AB&a)C、operator+(ABa)D、AB&operator+(AB&a)答案:B82.下列程序出錯的原因是________。#includeusingnamespacestd;intmain(){inti,*p;charc,*q;p=&i;q=&c;*p=4;*p=*q;return0;}A、*p中存放的是地址值,因此不能執(zhí)行語句*p=4;B、p和q類型不一致,不能執(zhí)行語句*p=*q;C、q沒有指向具體的存儲單元,所以*q沒有實際意義D、q已指向具體的存儲單元,但該單元中沒有確定的值,因此不能執(zhí)行語句*p=*q;答案:D83.以下程序段中與語句k=a>b?1:0;功能等價的是(D)。A、if(a>b)k=1;B、if(a>b)k=0C、if(a>b)k=1;D、if(a答案:D84.假定一個字符串的長度為n,則定義存儲該字符串的字符數(shù)組的長度至少為()。A、n-1B、nC、n+1D、n+2答案:C85.已知:p是一個指向類A數(shù)據(jù)成員m的指針,A1是類A的一個對象。如果要給m賦值為5,正確的是()A、A1.p=5;B、A1->p=5;C、A1.*p=5;D、*A1.p=5;答案:C86.有關(guān)運算符重載正確的描述是:A、C++語言允許中重載運算符時改變運算符的操作數(shù)個數(shù)B、C++語言運行在重載運算符時改變運算符的優(yōu)先級C、C++語言運行在重載運算符時改變運算符的結(jié)合性D、C++語言運行在重載運算符時改變運算符原來的功能答案:D87.除個別節(jié)點外,其余結(jié)點只能有一個前驅(qū)結(jié)點,可有任意多個后繼結(jié)點,這樣的結(jié)構(gòu)為A、線性結(jié)構(gòu)B、鏈表C、棧D、樹形結(jié)構(gòu)答案:D88.字符型數(shù)據(jù)'A'存放在計算機中()。A、存放的就是字母'A'B、存放的是'A'的ASCII碼值的補碼C、實際存放的是'A'的ASCII碼值97D、實際存放的是'A'的ASCII碼值65答案:C89.如果定義: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選項中,表達(dá)式a+1不是非法的;C選項中,*(a+1)即指a[1];D選項中,*&a[1]不是非法的。因此A選項正確。90.用希爾排序方法對一個數(shù)據(jù)序列進行排序時,若第1趟排序結(jié)果為9,1,4,13,7,8,20,23,15,則該趟排序采用的增量(間隔)可能是()A、2B、3C、4D、5答案:B91.通過下面哪種方式存儲待排序元素,可以更容易實現(xiàn)快速排序A、順序存儲B、鏈?zhǔn)酱鎯、堆D、棧答案:A92.C語言中的標(biāo)識符只能由字母,數(shù)字和下劃線三種字符組成,且第一個字符()A、必須為字母B、必須為下劃線C、必須為字母或下劃線D、可以是字母,數(shù)字和下劃線中任一字符答案:C93.表示“x大于1而小于10”的邏輯表達(dá)式是()。A、1<x<10B、x>1&&x<10C、!(x<=1||x>=10)D、x>1||x<10答案:B94.有以下程序#includeinti=0;voidfun(){{staticinti=1;std::coutA、1,2,1,2,B、1,2,2,3,C、2,0,3,0,D、1,0,2,0,答案:D95.關(guān)于樹的說法,以下說法錯誤的是A、樹形結(jié)構(gòu)的特點是一個結(jié)點可以有多個直接前趨B、線性結(jié)構(gòu)中的一個結(jié)點至多只有一個直接后繼C、樹形結(jié)構(gòu)可以表達(dá)(組織)更復(fù)雜的數(shù)據(jù)D、樹(及一切樹形結(jié)構(gòu))是一種"分支層次"結(jié)構(gòu)答案:A96.下列程序的輸出結(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答案:A97.必須用一對大括號括起來的程序段是________。A、switch語句中的case標(biāo)號語句B、if語句的分支C、循環(huán)語句的循環(huán)體D、函數(shù)的函數(shù)體答案:D98.有如下程序for(j=0;j<=3;j++)a=1;執(zhí)行后變量j的值是()A、0B、3C、4D、1答案:C99.不能實現(xiàn)函數(shù)之間數(shù)據(jù)傳遞的是()A、全局變量B、局部變量C、函數(shù)接口D、函數(shù)返回值答案:B100.用C++語言編制的源程序要變?yōu)槟繕?biāo)程序必須要經(jīng)過()。(題)A、編譯B、編輯C、匯編D、解釋答案:A101.構(gòu)造函數(shù)是在()時被執(zhí)行的。A、程序編譯B、創(chuàng)建對象C、創(chuàng)建類D、程序裝入內(nèi)存答案:B102.在if語句中的表達(dá)式是()。A、只能是表達(dá)式B、只能是關(guān)系表達(dá)式和邏輯表達(dá)式C、只能是邏輯表達(dá)式D、可以是任意表達(dá)式答案:D103.在C++中有以下4條語句:staticinthot=200;int&rad=hot;hot=hot+100;coutA、1B、100C、200D、300答案:D104.使用值傳遞方式將實參傳給形參,下列說法正確的是()A、形參是實參的備份B、實參是形參的備份C、形參和實參是同一對象D、形參和實參無聯(lián)系答案:A105.寫數(shù)據(jù)抽象為從流中()數(shù)據(jù)A、插入B、替換C、提取D、刪除答案:A106.C++程序從上機到得到結(jié)果的幾個操作步驟依次是()。A、編譯、編輯、連接、運行B、編輯、編譯、連接、運行C、編譯、運行、編輯、連接D、編輯、運行、編輯、連接答案:B107.對下列程序,選項中敘述正確的是________。A、程序編譯運行正確B、程序編譯時語句①出錯C、程序編譯時語句②出錯D、程序編譯時語句③出錯答案:A108.已知函數(shù)f(inta,intb),則以下函數(shù)調(diào)用正確的是()。A、f(int1,int2)B、f(1,2)C、f(1)D、f(a,b)答案:B109.有如下4個語句:①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、②和③答案:D110.下列各函數(shù)中,()不是類的成員函數(shù)。A、構(gòu)造函數(shù)B、析構(gòu)函數(shù)C、友元函數(shù)D、拷貝構(gòu)造函數(shù)答案:C111.不能作為函數(shù)重載判斷的依據(jù)的是()A、返回類型B、constC、參數(shù)個數(shù)D、參數(shù)類型答案:B112.以下敘述中錯誤的是________。A、C++語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序B、C++語言經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件C、用C++語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D、C++語言的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令答案:D113.下列程序的輸出結(jié)果是________。#includeusingnamespacestd;intd=1;voidfun(intp){intd=5;d+=p++;coutA、84B、96C、94D、85答案:A114.有如下類的定義:intF1();staticintF2();classTestClass{public:intF3();staticintF4();};在所描述的函數(shù)中,具有隱含this指針的是哪個()A、F1B、F2C、F3D、F4答案:C解析:類中的非靜態(tài)函數(shù)默認(rèn)是有this指針的,表明為該類的對象所有,靜態(tài)函數(shù)不屬于任何類的對象,沒有this指針,由類直接調(diào)用115.面向?qū)ο蟪绦蛟O(shè)計范型的主要特征是:A、程序=數(shù)據(jù)結(jié)構(gòu)+算法B、程序=過程+調(diào)用C、程序=對象+消息D、程序=數(shù)據(jù)+運算答案:C116.有說明inta=0;doublex=5.16;以下語句中,()屬于編譯錯誤。A、x=a/x;B、x=x/a;C、a=a%x;D、x=x*a;答案:C117.下列關(guān)于this指針的敘述中,正確的是________。A、任何與類相關(guān)的函數(shù)都有this指針B、類的成員函數(shù)都有this指針C、類的友元函數(shù)都有this指針D、類的非靜態(tài)成員函數(shù)才有this指針答案:D118.二叉樹的第k層的結(jié)點數(shù)最多為A、2^k-1B、2K+1C、2K-1D、2^(k-1)答案:D119.以下選項中屬于C++語言的基本數(shù)據(jù)類型是________。A、復(fù)數(shù)型B、幾何型C、雙精度型D、集合型答案:C120.已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是()。A、0B、5C、6D、1答案:B121.C++的break語句________。A、可用在能出現(xiàn)語句的任意位置B、只能用在循環(huán)體內(nèi)C、能用在循環(huán)體內(nèi)或switch語句中D、能用在任一復(fù)合語句中答案:C122.在c++中,類之間的繼承關(guān)系具有()。A、自反性B、對稱性C、傳遞性D、反對稱性答案:C123.在派生類中,重載一個虛函數(shù)時,要求函數(shù)名、參數(shù)的個數(shù)、參數(shù)的類型、參數(shù)的順序和函數(shù)的返回值()。A、相同B、不同C、相容D、部分相同答案:A124.關(guān)于純虛函數(shù)和抽象類的描述中,錯誤的是()。A、純虛函數(shù)是1種特殊的虛函數(shù),它沒有具體實現(xiàn)B、抽象類是指具有純虛函數(shù)的類C、1個基類說明中有純虛函數(shù),該基類的派生類一定不再是抽象類D、抽象類只能作為基類來使用,其純虛函數(shù)的實現(xiàn)由派生類給出答案:C125.在函數(shù)中,定義一個變量時,默認(rèn)的存儲類型是()。A、外部B、非靜態(tài)C、寄存器D、靜態(tài)答案:B126.要定義數(shù)組A,使得其中每個元素的數(shù)據(jù)分別依次為:3、9、4、8、0、0、0,錯誤的定義語句是________。A、intA[]={3,9,4,8,0,0,0};B、intA[]={3,9,4,8};C、intA[7]={3,9,4,8,0,0,0};D、intA[7]={3,9,4,8};答案:B127.函數(shù)參數(shù)的默認(rèn)值不允許為()A、全局常量B、直接常量C、局部變量D、函數(shù)調(diào)用答案:C解析:局部變量是函數(shù)調(diào)用之后,才會被構(gòu)造出來,而函數(shù)參數(shù)的值的存在,是在調(diào)用函數(shù)的時候就必須存在的。128.從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內(nèi)容是:從前有座山,山里有座廟,廟里有個老和尚,再給小和尚講故事,故事內(nèi)容是:……描述的是()A、窮舉B、分治C、遞歸D、貪心答案:C129.已知a=4,b=6,c=8,d=9,則“(a++,b>a++&&c>d)?++d:aA、9B、6C、8D、0答案:D130.節(jié)點按中序遍歷為xyz的二叉樹可能有_____種A、5B、4C、3D、2答案:A131.運行如下程序,輸出結(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答案:C132.有如下程序:intf1();staticintf2();classA{public:intf3();staticintf4();};在所描述的函數(shù)中,具有隱含的this指針的是________。A、f1B、f2C、f3D、f4答案:C133.將一棵有100個結(jié)點的完全二叉樹從根這一層開始,每一層上從左到右依次對結(jié)點進行編號,根結(jié)點的編號為1,則編號為49的結(jié)點的左孩子編號為。A、98B、99C、50D、48答案:A134.下列程序運行后的輸出結(jié)果是()。#include<iostream>Usingnamespacestd;Intmain(){Intx,y,z;For(x=0;x<=3;x++)Z=x;For(y=5;y>=1;y--)Z+=y;Cout<<z<<endl;Return0;}A、15B、16C、17D、18答案:D135.下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。A、內(nèi)聯(lián)函數(shù)在調(diào)用時發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義C、內(nèi)聯(lián)函數(shù)是通過編譯器來實現(xiàn)的D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語句必須是return語句答案:C136.C++源程序文件擴展名為()A、cppB、hC、1ibD、obj答案:A137.已知intx=5;執(zhí)行下列語句后,x的值為()。X+=x-=x*x;A、25B、40C、-40D、20答案:C138.下列敘述中,錯誤的是________。A、”x”是一個字符型常量B、2.71828是一個double常量C、true是一個邏輯型常量D、100是一個int常量答案:A139.對函數(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ù)的實參與被調(diào)函數(shù)的形參按從左至右的順序進行匹配對應(yīng)??傊?,定義函數(shù)時,只能為函數(shù)最后面的連續(xù)若干個參數(shù)設(shè)置默認(rèn)值,且在調(diào)用處也只能缺省后面的連續(xù)若干個實參。BCD選項中的默認(rèn)值都不是放在最后的連續(xù)參數(shù),故都錯誤。140.下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是()。A、構(gòu)造函數(shù)可以帶有返回值B、構(gòu)造函數(shù)的名字與類名完全相同C、構(gòu)造函數(shù)必須帶有參數(shù)D、構(gòu)造函數(shù)必須定義,不能缺省答案:B141.有如下程序:#include<iostream>Usingnamespacestd;Intmain(){Chara;Cin>>a;If(a='*')cout<<"***"<<endl;Elsecout<<"###"<<endl;Return0;}輸入字符+時,程序的運行結(jié)果是()。A、***B、###C、***###D、無輸出答案:A142.在數(shù)據(jù)結(jié)構(gòu)中,使用的靜態(tài)鏈表中指針表示的是A、內(nèi)存地址B、數(shù)組下標(biāo)C、下一元素地址D、左、右孩子地址答案:B143.小端模式下#include<stdio.h>unionC{inta;charb;};intmain(){Cc;A、BingendB、LitterendC、a=0x02020101;if(c.b==0x02){printf("bingend\n");}else{printf("litterend\n");}}輸出是多少?答案:B144.派生類的對象對它的基類成員中()是可以訪問的。A、公有繼承的公有成員B、公有繼承的私有成員C、公有繼承的保護成員D、私有繼承的公有成員答案:A145.下列表達(dá)式,哪一是聲明P為指向常量的指針()A、constint*pB、int*constp;C、constint*constpD、int*p答案:A解析:const修飾指針變量時,基本含義如下:1)如果唯一的const位于符號*的左側(cè),表示指針?biāo)笖?shù)據(jù)是常量,數(shù)據(jù)不能通過本指針改變,但可以通過其他方式進行修改;指針本身是變量,可以指向其他的內(nèi)存單元。2)如果唯一的const位于符號*的右側(cè),表示指針本身是常量,不能讓該指針指向其他內(nèi)存地址;指針?biāo)傅臄?shù)據(jù)可以通過本指針進行修改。3)在符號*的左右各有一個const時,表示指針和指針?biāo)笖?shù)據(jù)都是常量,既不能讓指針指向其他地址,也不能通過指針修改所指向的內(nèi)容。故本題中,“指向常量”,是指數(shù)據(jù)是常量,故const在*左側(cè),選A。146.數(shù)據(jù)結(jié)構(gòu)排序算法中比較常見的不穩(wěn)定排序算法是A、冒泡排序B、折半插入排序C、快速排序D、以上都是穩(wěn)定的答案:C147.引用的調(diào)用方式是________。A、形參和實參都是變量B、形參是引用,實參是變量C、形參是指針,實參是地址值D、形參是變量,實參是地址值答案:B148.已知:chara;intb;floatc;則表達(dá)式a*b/2+c的結(jié)果為()型。A、intB、charC、floatD、double答案:C解析:C++新標(biāo)準(zhǔn)int與float混合運算結(jié)果為float,所以不選D149.對于下面代碼段intx=3,y=3;intt=++x||++y;y的值為()A、不確定B、4C、3D、1答案:C解析:當(dāng)器遇到了||時,只要前面的++x為真,后面的語句就不執(zhí)行了150.在聲明類時,下面的說法正確的是()。A、可以在類的聲明中給數(shù)據(jù)成員賦初值B、數(shù)據(jù)成員的數(shù)據(jù)類型可以是registerC、private,public,protected可以按任意順序出現(xiàn)D、沒有用private,public,protected定義的數(shù)據(jù)成員是公有成員答案:C151.C++的繼承性允許派生類繼承基類的()A、部分特性,并允許增加新的特性或重定義基類的特性B、部分特性,但不允許增加新的特性或重定義基類的特性C、所有特性,并允許增加新的特性或重定義基類的特性D、所有特性,但不允許增加新的特性或重定義基類的特性答案:A152.已知在一程序中已定義函數(shù)doubleMak(intm,doublen);則下列函數(shù)中不可在同一程序中重載的是________。A、doubleMak(intn);B、doubleMak(intm,intn);C、intMak(intm,doublen);D、doubleMak(doublem,intn);答案:C153.以下敘述中不正確的是()A、在一個函數(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)識。故C錯誤,函數(shù)可以沒有返回值。154.輸入輸出時需要包含哪個頭文件?()。A、iostreamB、iomanipC、istreamD、ostream答案:A155.下面有關(guān)for循環(huán)的正確描述是()。A、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B、for循環(huán)是先執(zhí)行循環(huán)的循環(huán)體語句,后判斷表達(dá)式C、在for循環(huán)中,不能用break語句跳出循環(huán)體D、for循環(huán)的循環(huán)體中,可以包含多條語句,但必須用花括號括起來答案:D156.下面程序的輸出結(jié)果是()#includeusingnamespacestd;voidfun(intx,inty,intz){z=x*x+y*y;}intmain(){intz=68;fun(5,2,z);coutA、0B、29C、68D、無定值答案:C157.關(guān)于隊列的數(shù)據(jù)結(jié)構(gòu)的描述正確是?A、先進先出B、先進后出答案:A158.關(guān)于delete運算符的下列描述中,錯誤的是:A、它必須用于new返回的指針B、使用它刪除對象時要調(diào)用析構(gòu)函數(shù)C、對一個指針可以多次使用該運算D、指針名前只有一對方括號符號,不管所刪除數(shù)組的維數(shù)答案:C159.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;則執(zhí)行后,c3中的值是________。A、0B、0.5C、1D、2答案:A160.以下哪種類型是C++比C語言新增的數(shù)據(jù)類型(題)A、整型(int)B、布爾類型(bool)C、指針類型(*)D、字符類型(char)答案:B161.以下正確的函數(shù)原型為()。A、f1(intx;inty);B、voidf1(x,y);C、voidf1(intx,y);D、voidf1(int,int);答案:D162.在定義inta[2][3];之后,對a的元素正確引用的有________。A、a[2][2]B、a[1,3]C、a[1>2][!1]D、a[2][0]答案:C163.下面關(guān)于對象概念的描述中錯誤的是()A、任何對象都必須有繼承性B、對象是屬性和方法的封裝體C、對象間的通信靠消息傳遞D、操作是對象的動態(tài)屬性答案:A解析:對象的特點包括兩個方面:屬性和操作。屬性指的是描述對象靜態(tài)特征(即狀態(tài))的數(shù)據(jù)項;操作指的是描述對象動態(tài)特征(即行為)的函數(shù)序列。故D正確。故也可稱對象是屬性和方法的封裝體。故B正確?!袄^承”,就是在編寫一個“新”類的時候,以現(xiàn)有的類作為基礎(chǔ),使得新類從現(xiàn)有的類“派生”而來,從而達(dá)到代碼擴充和代碼復(fù)用的目的。繼承支持層次概念。并不是任何對象都必須具有繼承性。因此A錯誤。164.下列選項中,合法的字符常量是()。A、‘x’(注:半角)B、’xxx’C、"x"D、68答案:D165.在多繼承的構(gòu)造函數(shù)定義中,幾個基類構(gòu)造函數(shù)用()分隔A、冒號B、分號C、逗號D、空格答案:B166.下列程序段的輸出是________。unsignedshorti=65538;coutA、65538B、有語法錯誤,無法編譯通過C、0D、2答案:D167.快速排序在下列哪種情況下最易發(fā)揮其長處。A、被排序的數(shù)據(jù)中含有多個相同排序碼B、被排序的數(shù)據(jù)已基本有序C、被排序的數(shù)據(jù)完全無序D、被排序的數(shù)據(jù)中的最大值和最小值相差懸殊答案:C168.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是()A、A,point,*&aB、&*a,&a,*pointC、*&point,*point,&aD、&a,&*point,point答案:D169.數(shù)據(jù)結(jié)構(gòu)的算法下面說法錯誤的是__A、算法原地工作的含義是指不需要任何額外的輔助空間B、在相同的規(guī)模n下,復(fù)雜度O(n)的算法在時間上總是優(yōu)于復(fù)雜度O(2^n)的算法C、所謂時間復(fù)雜度是指最壞情況下,估算算法執(zhí)行時間的一個上界D、同一個算法,實現(xiàn)語言的級別越高,執(zhí)行效率就越低答案:A170.已知:intm=10;下列表示引用的方法中,______是正確的。A、int&x=m;B、int&y=10;C、int&z;D、float&t=&m;答案:A171."以下代碼片段的輸出結(jié)果為。()Char*ps=""hellogame"";Printf(""%s\n"",ps+6);"A、gameB、gC、ogameD、編譯錯誤答案:A172.采用重載函數(shù)的目的是()A、實現(xiàn)共享B、減少空間C、提高速度D、使用方便,提高可讀性答案:D解析:有了函數(shù)重載機制,C++程序員在編寫程序時,可以對完成類似功能的不同函數(shù)統(tǒng)一命名,可以有效重用代碼,增加可讀性。故本題選D。針對同名的函數(shù),分別為其編寫函數(shù)體,即可實現(xiàn)各自的功能。173.以下正確的說法是()。A、用戶若需要調(diào)用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前必須先定義B、用戶可以直接調(diào)用標(biāo)準(zhǔn)庫函數(shù)C、用戶可以定義和標(biāo)準(zhǔn)庫函數(shù)同名的函數(shù),但調(diào)用是調(diào)用的是系統(tǒng)庫函數(shù)D、用戶可以通過文件包含命令將系統(tǒng)庫函數(shù)包含到用戶源文件中,然后調(diào)用庫函數(shù)答案:D174.若有以下類Z說明,函數(shù)fStatic中訪問數(shù)據(jù)a錯誤的是()。ClassZ{staticinta;Public:StaticvoidfStatic();};IntZ::a=0;ZobjZ;A、voidZ::fStatic(){objZ.a=1;}B、voidZ::fStatic(){a=1;}C、voidZ::fStatic(){this->a=0;}D、voidZ::fStatic(){Z::a=0;}答案:C175.設(shè)有定義:inti=2,j=3;則表達(dá)式i/j的結(jié)果為()。A、0B、0.7C、0.6667D、0.666667答案:A176.設(shè)inti=1,j=2;則表達(dá)式i+++j的值為()。A、1B、2C、3D、4答案:C177.以下不正確的是()。A、語句for(i=0;;i++)表示無限循環(huán)B、for(;;)表示無限循環(huán)C、for()也表示無限循環(huán)D、while(1)表示無限循環(huán)答案:C178.字符串“a+b=12\n\t”的長度為________。A、12B、10C、8D、6答案:C179.數(shù)據(jù)庫索引的說法正確的是?A、用處不大,可有可無B、加快檢索表中數(shù)據(jù)的方法答案:B180.靜態(tài)數(shù)據(jù)成員的初始化必須在()。A、類內(nèi)B、類外C、在構(gòu)造函數(shù)內(nèi)D、靜態(tài)成員函數(shù)內(nèi)答案:B181.以下正確的說法是()。A、定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)B、return后邊的值不能為表達(dá)式C、如果函數(shù)的類型與返回值類型不一致,以函數(shù)類型為準(zhǔn)D、如果形參與實參類型不一致,以實參類型為準(zhǔn)答案:C182.下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是()。A、構(gòu)造函數(shù)可以設(shè)置默認(rèn)的參數(shù)B、構(gòu)造函數(shù)在定義類對象的自動執(zhí)行C、構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)D、構(gòu)造函數(shù)不可以重載答案:D183.關(guān)于C++語言中return語句正確的說法是()A、只能在主函數(shù)中出現(xiàn)B、在每個函數(shù)中都必須出現(xiàn)C、可以在一個函數(shù)中出現(xiàn)多次D、只能在除主函數(shù)之外的函數(shù)中出現(xiàn)答案:C184.運行時的多態(tài)性可以通過使用以下哪個要素來實現(xiàn)?()A、虛函數(shù)和指針B、重載函數(shù)和析構(gòu)函數(shù)C、虛函數(shù)和對象D、虛函數(shù)和引用答案:A185.二叉樹T的前序遍歷序列和中序遍歷序列分別是bdcaef和cdeabf,則其后序遍歷序列為A、ceadfbB、feacdbC、eacdfbD、以上都不對答案:A186.if語句的語法格式可描述為:格式1:if()或格式2:if()else關(guān)于上面的語法格式,下列敘述中錯誤的是________。A、如果在<條件>前加上邏輯非運算符!并交換<語句1>和<語句2>的位置,語句功能不變B、<語句>部分可以是一個循環(huán)語句,例如if(...)while(...)...C、<條件>部分可以是一個if語句,例如if(if(a==0)...)...D、<語句>部分可以是一個if語句,例如if(...)if(...)...答案:C187.符合先進后出規(guī)則的數(shù)據(jù)結(jié)構(gòu)是()。A、堆棧B、隊列C、鏈表D、二叉樹答案:A188.希爾排序的組內(nèi)排序采用的是。A、直接插入排序B、折半插入排序C、快速排序D、以上都不對答案:A189.在一顆二叉樹上第6層的結(jié)點數(shù)最多是A、8B、16C、32D、64答案:C190.以下敘述中正確的是________。A、C++程序中注釋部分可以出現(xiàn)在程序中任意合適的地方B、花括號{和}只能作為函數(shù)體的定界符C、構(gòu)成C++程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名D、分號是C++語句之間的分隔符,不是語句的一部分答案:A191.C++輸入輸出格式控制是在哪個頭文件中定義的?()A、iostream.hB、iomanip.hC、istream.hD、ostream.h答案:A192.下列選項中,()屬于多行注釋A、//B、/**/C、\\D、\(續(xù)行符)答案:B193.將兩個字符串連接起來組成一個字符串時,選用A、strlenB、strcpyC、strcatD、strcmp答案:C194.執(zhí)行語句序列intx=-10;while(++x){}時,while循環(huán)體的執(zhí)行次數(shù)為________。A、無限次B、9C、11D、10答案:B195.要用字符數(shù)組保存字符串"test"的值,以下代碼正確的是()。A、chara[4]="test";B、chara[5]="test";C、chara[4];a="test";D、chara[5];a="test";答案:B196.cout是C++的()A、關(guān)鍵字B、對象C、類D、運算符答案:B解析:C++類中對象:Cin:運算符為>>,用于鍵盤輸入。Cout:運算符為<<,用于屏幕輸出。故cout是對象。選B。197.在創(chuàng)建派生類對象時,構(gòu)造函數(shù)的執(zhí)行順序是()。A、對象成員構(gòu)造函數(shù)-基類構(gòu)造函數(shù)-派生類本身的構(gòu)造函數(shù)B、派生類本身的構(gòu)造函數(shù)-基類構(gòu)造函數(shù)-對象成員構(gòu)造函數(shù)C、基類構(gòu)造函數(shù)-派生類本身的構(gòu)造函數(shù)-對象成員構(gòu)造函數(shù)D、基類構(gòu)造函數(shù)-對象成員構(gòu)造函數(shù)-派生類本身的構(gòu)造函數(shù)答案:D198.IO流中oftream繼承于()類A、ostreamB、istreamC、ifstreamD、iostream答案:A199.遞歸算法必須包括·A、遞歸部分B、終止條件和遞歸部分C、迭代部分D、終止條件和迭代部分答案:B200.下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是()。A、構(gòu)造函數(shù)可以帶有返回值B、構(gòu)造函數(shù)的名字與類名完全相同C、構(gòu)造函數(shù)必須帶有參數(shù)D、構(gòu)造函數(shù)必須定義,不能缺省答案:B201.棧的操作原則是A、順序進出B、后進后出C、后進先出D、先進先出答案:C202.要讓一個類中的所有對象具有共同的數(shù)據(jù),請使用()A、常數(shù)成員變量B、私有數(shù)據(jù)成員C、靜態(tài)數(shù)據(jù)成員D、以上都是答案:C203.下列關(guān)于實參和形參說法錯誤的是()。A、實參可以是變量、常量、或表達(dá)式。B、實參與形參的類型必須一致,否則會發(fā)生“類型不匹配”的錯誤。C、實參對形參的數(shù)據(jù)傳遞是單向傳遞,調(diào)用結(jié)束后,實參單元被釋放。D、形參必須是變量。答案:D204.在C++中,關(guān)于構(gòu)造、析構(gòu)函數(shù)的自動生成,以下描述錯誤的是________。A、如果用戶沒有定義缺省構(gòu)造函數(shù),則系統(tǒng)自動生成一個空的缺省構(gòu)造函數(shù)B、如果用戶沒有定義析構(gòu)函數(shù),系統(tǒng)自動生成一個空的缺省析構(gòu)函數(shù)C、如果用戶沒有定義拷貝構(gòu)造函數(shù),則系統(tǒng)自動生成一個拷貝構(gòu)造函數(shù)D、如果用戶定義了一個構(gòu)造函數(shù),不管它是否是缺省構(gòu)造函數(shù),系統(tǒng)就不會再自動生成缺省構(gòu)造函數(shù)了答案:A205.若一棵二叉樹的前序遍歷序列和后序遍歷序列分別為1,2,3,4和4,3,2,1,則該二叉樹的中序遍歷序列不會是A、1,2,3,4B、2,3,4,1C、3,2,4,1D、4,3,2,1答案:C206.在C++中使用流進行輸入輸出,其中用于屏幕輸出的對象是()A、cerrB、cinC、coutD、cfile答案:C207.已知x=43,ch='A',y=0,則表達(dá)式x>=y&&chA、0B、語法錯誤C、1D、假答案:C208.定義了指向常量的指針p的選項是()A、constint*p;B、int*p;C、int*constp=&x;D、constint*constp=&x;答案:A解析:const修飾指針變量時:如果唯一的const位于符號*的左側(cè),表示指針?biāo)笖?shù)據(jù)是常量,數(shù)據(jù)不能通過本指針改變,但可以通過其他方式進行修改;指針本身是變量,可以指向其他的內(nèi)存單元。本題中,“指向常量的指針p”,表示指針?biāo)笖?shù)據(jù)是常量,故唯一的const位于符號*的左側(cè),選A。注意:如果唯一的const位于符號*的右側(cè),表示指針本身是常量,不能讓該指針指向其他內(nèi)存地址;指針?biāo)傅臄?shù)據(jù)可以通過本指針進行修改。在符號*的左右各有一個const時,表示指針和指針?biāo)笖?shù)據(jù)都是常量,既不能讓指針指向其他地址,也不能通過指針修改所指向的內(nèi)容。209.寫數(shù)據(jù)抽象為從流中()數(shù)據(jù)A、插入B、替換C、提取D、刪除答案:A210.關(guān)于下列語句敘述錯誤的是()。Inti=10,*p=&i;A、p的值為10B、p指向整型變量iC、*p表示變量i的值D、p的值是變量i的地址答案:A211.在一個鏈隊列中,假定front和rear分別為隊首和隊尾指針,則插入一個結(jié)點的操作為A、front=front->next;B、rear=rear->next;C、rear=front->next;D、front=rear->next;答案:B212.下列關(guān)于類的權(quán)限的描述錯誤的是()A、類本身的成員函數(shù)只能訪問自身的私有成員B、類的對象只能訪問該類的公有成員C、普通函數(shù)不能直接訪問類的公有成員,必須通過對象訪問D、一個類可以將另一個類的對象作為成員答案:A213.已知x=43,ch='A',y=0;則表達(dá)式(x>=y&&ch<'B'&&!y)的值是()A、0B、語法錯C、1D、“假”答案:C解析:x>=y是成立的,A的ASCII值是小于B的,!y=1所以答案是1214.下列虛基類的聲明中正確的是()。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA答案:D215.假設(shè)ClassY:publicX,即類Y是類X的派生類,則說明一個Y類的對象時和刪除Y類對象時,調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的次序分別為()。A、X,Y,Y,XB、X,Y,X,YC、Y,X,X,YD、Y,X,Y,X答案:A216.以下正確的函數(shù)定義是()。A、doublefun(intx,inty){}B、doublefun(intx;inty){}C、floatfun(int,int){}D、voidfun(intx,y){}答案:A217.能正確表示邏輯關(guān)系:“0≤a≤10”的C++語言表達(dá)式是________。A、a<=10anda>=0B、0<=a<=10C、a<=10&&a>=0D、a<=10||a>=0答案:C218.下列函數(shù)原型聲明中錯誤的是()A、voidfun(intx=0,inty=0);B、voidfun(intx,inty);C、voidfun(intx,inty=0);D、voidfun(intx=0,inty);答案:D219.關(guān)于new運算符的下列描述中,錯誤的是()A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D、使用它創(chuàng)建對象數(shù)組時必須指定初始值答案:D220.()能正確輸出結(jié)果:C++。A、chars[]="C++";cout<<s<<endlB、chars[3]="C++";cout<<s<<endlC、chars[3]={'C','+','+','\0'};cout<<s<<endlD、chars[3]={'C','+','+'};cout<<s<<endl答案:A221.下列虛基類的聲明中正確的是()。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA答案:D222.排序算法的穩(wěn)定性是指()A、經(jīng)過排序之后,能使值相同的數(shù)據(jù)保持原順序中的相對位置不變B、經(jīng)過排序之后,能使值相同的數(shù)據(jù)保持原順序中的絕對位置不變C、算法的排序性能與被排序元素的數(shù)量關(guān)系不大D、算法的排序性能與被排序元素的數(shù)量關(guān)系密切答案:A223.設(shè)x和y均為bool量,則x&&y為真的條件是()。A、它們均為真B、其中一個為真C、它們均為假D、其中一個為假答案:A224.線性表是具有n個()的有限序列A、數(shù)據(jù)項B、數(shù)據(jù)元素C、表元素D、字符答案:B225.下列輸出語句中,正確的是()A、cout<<("%c\n","student")B、cout<<("%s\n","hello")C、cout<<("%c\n","c")D、cout<<("%s\n",&a)答案:B解析:%c是輸岀單個字符的格式控制符。%s是輸出字符串的格式控制符。故只有B正確。選項C中"c"是字符串,不能用c%格式輸出。226.Shell排序是一種什么排序()A、選擇B、插入C、交換D、歸并答案:B227.所有在函數(shù)中定義的變量,連同形式參數(shù),都是()A、全局變量B、局部變量C、靜態(tài)變量D、寄存器變量答案:B228.對于基類型相同的兩個指針變量之間,不合理的運算是________。A、<B、+C、-答案:C229.設(shè)有定義:inta=1,b=5;則表達(dá)式a*=b%=2的值是()。A、1B、2C、5D、3答案:A230.在C++中,容器是一種()A、標(biāo)準(zhǔn)類B、標(biāo)準(zhǔn)對象C、標(biāo)準(zhǔn)函數(shù)D、標(biāo)準(zhǔn)類模板答案:D231.不能作為函數(shù)重載判斷的依據(jù)的是()A、返回類型B、constC、參數(shù)個數(shù)D、參數(shù)類型答案:B232.執(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答案:A233.()不是構(gòu)造函數(shù)的特征。A、構(gòu)造函數(shù)的函數(shù)名與類名相同B、構(gòu)造函數(shù)可以重載C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)D、構(gòu)造函數(shù)必須指定類型說明答案:D234.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。(題)A、int、double、longB、long、double、intC、long、float、intD、int、float、long答案:A235.關(guān)于new運算符的下列描述中錯誤的是A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B、使用它創(chuàng)建的對象和對象數(shù)組可以使用運算符delete刪除C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D、使用它創(chuàng)建對象數(shù)組時必須指定初始值答案:D236.下面程序的輸出結(jié)果是()#includeusingnamespacestd;intfun(intA,intb){return(++a*b++);}intmain(){intx=3,y=4,z=5,r;r=fun(fun(x,y),z);coutA、8534B、6034C、12645D、8545答案:A237.以下關(guān)于內(nèi)存泄漏說法正確的是()A、如果一個進程在運行過程中占用的內(nèi)存無限制上升,那么該進程可能有內(nèi)存泄漏B、單線程程序不可能內(nèi)存泄漏C、內(nèi)存泄漏是操作系統(tǒng)內(nèi)存管理出錯導(dǎo)致的問題D、只要進程在退出之前釋放了所有分配的內(nèi)存,那么就不會內(nèi)存泄漏答案:A解析:A:內(nèi)存泄露是進程申請了內(nèi)存卻沒有釋放。導(dǎo)致占用內(nèi)存無限上升B:內(nèi)存泄露跟線程數(shù)無關(guān)C:內(nèi)存泄露是程序設(shè)計的bug,不是操作系統(tǒng)的問題D:進程退出之前釋放申請的內(nèi)存,不代表進程運行過程中沒有內(nèi)存泄露E:java是自動管理內(nèi)存的,但是也會有內(nèi)存泄露,比如加入HashMap的對象hash值改變了就無法從HashMap中remove,這就造成了內(nèi)存泄露238.下列函數(shù)不能和函數(shù)voidprint(char)構(gòu)成重載的是()A、intprint(int);B、voidprint(char,char);C、intprint(char);D、voidprint(int,int);答案:C239.已知函數(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);答案:C240.設(shè)存在整型變量intx,則下列句與其它三項含義不同的是()A、int*p=&x;B、int&p=x;C、int&p=x;D、int&p=x;答案:A241.在具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并仍然有序的時間復(fù)雜度是()A、O(1)B、O(n)C、O(n^2)D、O(nlog2n)答案:

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論