版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE1一、單選題1.下面關(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ù)答案:A2.兩個特殊類繼承于同一個一般類,它們的同名操作的表現(xiàn)卻不相同的現(xiàn)象稱為:A、封裝B、繼承C、多態(tài)D、抽象答案:C3.設(shè)有程序段:intk=10;while(k=0)k=k-1;則下面描述中正確的是()A、while循環(huán)執(zhí)行10次B、循環(huán)是無限循環(huán)C、循環(huán)體語句一次也不執(zhí)行D、循環(huán)體語句執(zhí)行一次答案:C解析:因while后面的表達式是默值表達式,其值為0(即為假),所以循環(huán)體內(nèi)的語句不可能執(zhí)行。故正確答案是C。4.關(guān)于C++主函數(shù)特性,下列敘述正確的是________。A、主函數(shù)在同一個C++文件中可以有兩個B、主函數(shù)類型必須是void類型C、主函數(shù)一定有返回值D、每個C++程序都必須有一個main()函數(shù)答案:D5.構(gòu)造異質(zhì)鏈表的意義是()。A、用數(shù)組組織類對象B、用鏈表組織類對象C、用抽象類指針指向派生類對象D、用抽象類指針構(gòu)造派生類對象鏈表答案:D6.如下輸出語句cout<A、8B、3C、4D、9答案:B7.下述程序中,含有錯誤的行是________。A、1行B、2行C、3行D、4行答案:B8.執(zhí)行語句序列intn;cin>>n;switch(n){case1:case2:cout<<'1';case3:case4:Cout<<'2';break;default:cout<<'3';}時,若鍵盤輸入1,則屏幕顯示()(題)A、12B、1C、2D、3答案:A9.下列關(guān)于this指針的敘述中,正確的是________。A、任何與類相關(guān)的函數(shù)都有this指針B、類的成員函數(shù)都有this指針C、類的友元函數(shù)都有this指針D、類的非靜態(tài)成員函數(shù)才有this指針答案:D10.構(gòu)造函數(shù)是在()時被執(zhí)行的。A、程序編譯B、創(chuàng)建對象C、創(chuàng)建類D、程序裝入內(nèi)存答案:B11.下列對引用的陳述中不正確的是()。A、每一個引用都是其所引用對象的別名,因此必須初始化B、形式上針對引用的操作實際上作用于它所引用的對象C、一旦定義了引用,一切針對其所引用對象的操作只能通過該引用間接進行D、不需要單獨為引用分配存儲空間答案:C12.下列關(guān)于類定義的敘述中,正確的是()A、類中可以定義成員變量,并賦初值B、類中可以聲明成員函數(shù),并可以給出參數(shù)的默認(rèn)值C、類體不能為空,即必須定義成員變量及成員函數(shù)D、類中僅能包含成員變量答案:B解析:選項A中,類中可以定義成員變量,但不能賦初值。初值應(yīng)該是特定對象中成員變量的初始值。而定義類時,還沒有創(chuàng)建類的對象,所以不能賦初值。通常為對象中成員變量賦初值的工作由構(gòu)造函數(shù)完成。選項C中,類體可以為空,也就是說可以定義一個空類。選項D中,類中既可以包含成員變量,也可以包含成員函數(shù)。故本題只有B正確。13.執(zhí)行語句for(inti=50;i>1;--i)coutA、48B、49C、50D、51答案:B14.下列對二維數(shù)組a的正確定義是()。A、inta['A']['B'];B、floata[3,4];C、doublea[1][];D、floata(3)(4);答案:A15.以下程序的輸出結(jié)果是#include<iostream>Voidmain(){char*p[10]={”abc”,"aabdfg",’’dcdbe","abbd","cd"};Cout<A、dcdbeB、abbdC、abcD、abb答案:B解析:數(shù)組的下標(biāo)從0開始。本題的含義為:輸出p[3],即輸出p數(shù)組中下標(biāo)為3,即第4個字符串。故本題選B。16.已知intx=5;執(zhí)行下列語句后,x的值為()。X+=x-=x*x;A、25B、40C、-40D、20答案:C17.在編譯指令中,嵌入指令是指()A、#includeB、#defineC、#ifD、#else答案:A解析:嵌入指令#include指示編譯器將一個源文件嵌入到帶有#include指令的源文件中該指令所在的位置處。故本題選A。18.若有定義inta[3][5],i,j;(且0≤i<3,0≤j<5),則a[i][j]不正確的地址表示是()。A、&a[i][j]B、a[i]+jC、*(a+i)+jD、*(*(a+i)+j)答案:D解析:求的是哪個地址表示是錯的,只有選項D明顯解引出來的數(shù)組元素,不是個地址,結(jié)果答案選D。A,B,C,都是合法的地址表示方法。19.已知函數(shù)swap的定義為:voidswap(int&a,int&b){intt=a;a=b;b=t;}要交換變量x和y的值,下列調(diào)用方式正確的是:A、swap(x,y);B、swap(*x,*y);C、swap(&x,&y);D、swap(x[],y[]);答案:A20.執(zhí)行下列語句后,x的值是(d),y的值是()。Intx,y;X=y=1;++x||++y;A、不確定B、0C、1D、2答案:C21.若有以下說明,在類外使用對象objX成員的正確語句是()。ClassX{inta;Voidfun1();Public:Voidfun2();};XobjX;A、objX.a=0;B、objX.fun1();C、objX.fun2();D、X::fun1();答案:C22.()是給變量取一個別名,它引入了變量的同意詞。A、指針B、引用C、枚舉D、結(jié)構(gòu)答案:B23.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(...)...答案:C24.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達式(int)a+b/b的值是________。A、6.500000B、6C、5.500000D、6.000000答案:D25.Shell排序是一種什么排序()A、選擇B、插入C、交換D、歸并答案:B26.假設(shè)給出如下的函數(shù)聲明:voidfunc(intA,intb=2,intc=3);,則下列函數(shù)調(diào)用正確的是()A、func(1,22,333);B、func();C、func("#",20);D、func(5,,9);答案:A解析:在C++語言中,可以在聲明函數(shù)時為形參指定默認(rèn)值。當(dāng)調(diào)用有默認(rèn)參數(shù)值的函數(shù)時,調(diào)用語句中可以不給出對應(yīng)的實參,這就相當(dāng)于調(diào)用該函數(shù)時以默認(rèn)值作為參數(shù)。調(diào)用函數(shù)時,主調(diào)函數(shù)的實參與被調(diào)函數(shù)的形參按從左至右的順序進行匹配對應(yīng)。本題中,“func(1,22,333);”是正確的,調(diào)用時給出了所有實參,且參數(shù)的類型也是匹配的?!癴unc();”是錯誤的,聲明中參數(shù)a沒有默認(rèn)值,調(diào)用時必須給出實參值?!癴unc("#",20);”是錯誤的,實參表中的字符型實參#賦值給int型形參b,會產(chǎn)生編譯錯誤?!癴unc(5,,9);”是錯誤的,調(diào)用時給出的實參應(yīng)該是連續(xù)排列的。27.long[int]的字節(jié)數(shù)是()。A、4B、1C、0D、8答案:D28.以下正確的說法是()。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ù)答案:D29.下面那個不屬于編譯器A、gccB、msvcC、clangD、vscode答案:D30.以下程序段的運行結(jié)果是()。Hara[]={‘a(chǎn)’,‘b’,‘\0’,‘c’,‘\0’}Printf(""%s"",a);"A、‘a(chǎn)’‘’b’B、abC、abcD、ab0c0答案:B31.系統(tǒng)在處理完一個異常后,下一步是()。A、返回拋出異常的地方,執(zhí)行下一句B、執(zhí)行當(dāng)前異常處理語句的catch語句塊的下一句C、轉(zhuǎn)到主函數(shù)結(jié)束的地方D、異常退出答案:B32.類A是類B的友元,類B是類C的友元,則()是正確的。A、類B是類A的友元B、類C是類A的友元C、類A是類C的友元D、以上都不對答案:D33.假如指針p已經(jīng)指向整型變量x,則(*p)++相當(dāng)于________。A、x++B、p++C、*(p++)D、&x++答案:A34.下列符號中可以用作C++標(biāo)識符的是()。(題)A、radiusB、foo~barC、elseD、3room答案:A35.已知定義int*p[3],則以下說法正確的是()。A、定義了1個int類型的指針變量,該變量具有3個指針B、定義了1個指針數(shù)組,該數(shù)組有3個元素,每個元素都是int類型的指針變量C、定義了1個名為*p的int類型數(shù)組,該數(shù)組含有3個int類型的變量D、定義了1個指向一維數(shù)組的指針變量p,該一維數(shù)組有3個int類型的元素答案:B36.關(guān)于類成員函數(shù)的重載、覆蓋和隱藏,下面說法錯誤的是()A、重載函數(shù)必須要在同一個類中B、派生類函數(shù)覆蓋基類函數(shù),基類函數(shù)最好不要有virtual關(guān)鍵字C、如果派生類的函數(shù)與基類的函數(shù)名相同,通過派生類的實例也只能調(diào)用到派生類的函數(shù)。D、重載函數(shù)不必使用virtual關(guān)鍵字修飾答案:B37.長度為n的非空順序表,若在第i個位置插入新的元素X,則i的取值范圍是1≤i≤n+1,需要移動的元素個數(shù)為()A、iB、n-i-1C、n-iD、n-i+1答案:D38.在對棧存儲時,棧結(jié)構(gòu)通常采用的兩種存儲結(jié)構(gòu)是A、順序存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu)B、散列和索引方式C、鏈表存儲結(jié)構(gòu)和數(shù)組D、線性鏈表結(jié)構(gòu)和非線性存儲結(jié)構(gòu)答案:A39.設(shè)intx=2,y=4,z=7;則執(zhí)行x=y--<=x||x+y!=z后x,y的值分別為()。A、0,3B、1,3C、2,3D、2,4答案:B40.已知:chara[20]="abc",b[20]="defghi";則執(zhí)行下列語句后的輸出結(jié)果為()。Cout<<strlen(strcpy(a,b));A、1B、6C、5D、以上答案都不正確答案:B41.考慮函數(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)的實參,這就相當(dāng)于調(diào)用該函數(shù)時以默認(rèn)值作為參數(shù)。調(diào)用函數(shù)時,主調(diào)函數(shù)的實參與被調(diào)函數(shù)的形參按從左至右的順序進行匹配對應(yīng)。C選項中,實參有2個,少于形參的個數(shù)3,故從左至右匹配,將會把字符型實參#賦值給整型形參b,則會產(chǎn)生編譯錯誤。故選C。42.#ifndefHEAD_FILE#defineHEAD_FILE#endif的作用是?A、頭文件的標(biāo)識,沒有實質(zhì)的作用B、防止頭文件被重復(fù)包含答案:B43.下面()不是抽象類的特性。A、可以定義純虛函數(shù)B、不能定義抽象類的對象C、用做基類,提供公共的接口D、可以定義虛構(gòu)造函數(shù)答案:D44.循環(huán)隊列A[0..m-1]存放其元素值,用front和rear分別表示隊頭和隊尾,則當(dāng)前隊列中的元素數(shù)是A、(rear-front+m)%mB、rear-front+1C、rear-front-1D、rear-front答案:A45.所有在函數(shù)中定義的變量,連同形式參數(shù),都是()A、全局變量B、局部變量C、靜態(tài)變量D、寄存器變量答案:B46.下列各函數(shù)中,()不是類的成員函數(shù)。A、構(gòu)造函數(shù)B、析構(gòu)函數(shù)C、友元函數(shù)D、拷貝構(gòu)造函數(shù)答案:C47.必須用一對大括號括起來的程序段是________。A、switch語句中的case標(biāo)號語句B、if語句的分支C、循環(huán)語句的循環(huán)體D、函數(shù)的函數(shù)體答案:D48.若有以下說明語句:structdata{inti;doublef;charch;}b;則理論上計算,結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)為______。A、1B、2C、8D、13答案:D49.友元的作用()。A、提高程序的運用效率B、加強類的封裝性C、實現(xiàn)數(shù)據(jù)的隱藏性D、增加成員函數(shù)的種類答案:A50.if語句的語法格式可描述為:格式1:if()或格式2:if()else關(guān)于上面的語法格式,下列敘述中錯誤的是________。A、如果在前加上邏輯非運算符!并交換和的位置,語句功能不變B、部分可以是一個循環(huán)語句,例如if(...)while(...)...C、部分可以是一個if語句,例如if(if(a==0)...)...D、部分可以是一個if語句,例如if(...)if(...)...答案:C51.使用派生類的主要原因是()A、提高代碼的可重用性B、提高程序的運行效率C、加強類的封裝性D、實現(xiàn)數(shù)據(jù)的隱藏答案:A52.關(guān)于C++主函數(shù)特性,下列敘述正確的是________。A、主函數(shù)在同一個C++文件中可以有兩個B、主函數(shù)類型必須是void類型C、主函數(shù)一定有返回值D、每個C++程序都必須有一個main()函數(shù)答案:D53.若有如下程序#includeusingnamespacestd;voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;iA、0987651234B、3210987654C、9876543210D、4567890123答案:D54.下面程序執(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答案:D55.下面程序輸出的結(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答案:B56.使用重載函數(shù)編程序的目的是()。A、使用相同的函數(shù)名調(diào)用功能相似的函數(shù)B、共享程序代碼C、提高程序的運行速度D、節(jié)省存貯空間答案:A57.采用鏈結(jié)構(gòu)存儲線性表時,其地址A、必須是連續(xù)的B、連續(xù)不連續(xù)都可以C、部分地址必須是連續(xù)D、必須是不連續(xù)的答案:B58.要求打開文件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);答案:D59.編寫C++程序一般需經(jīng)過的幾個步驟依次是_________。A、編輯、調(diào)試、編譯、連接B、編輯、編譯、連接、運行C、編譯、調(diào)試、編輯、連接D、編譯、編輯、連接、運行答案:B60.關(guān)鍵字unsigned不能修飾的類型是________。A、charB、intC、floatD、longint答案:C61.已知基類Employee只有一個構(gòu)造函數(shù),其定義如下Employee::Employee(intn):id(n){}Manager是Employee的派生類,則下列對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);}答案:C62.假定一個類的構(gòu)造函數(shù)為A(intaa,intbb){a=aa--;b=a*bb;},則執(zhí)行Ax(4,5);語句后,x.a和x.b的值分別為()A、3和15B、5和4C、4和20D、20和5答案:C63.已知有定義:chars[20];,以下語句中不能從鍵盤上將多個字符輸入到數(shù)組s的是________。A、cin.getline(s,20);B、cin>>s;C、for(i=0;i>s[i];D、cin.get(s);答案:D64.下面關(guān)于數(shù)組的初始化正確的是()。A、charstr[]={‘a(chǎn)\',’b\',\'c‘}B、charstr[2]={\'a\',\'b\',\'c’}C、charstr[2][3]={{\'a‘,\'b’},{’e’,\'d’},{’e’,‘f\'}}D、charstr[]={\'a\',\'b\',\'c’}答案:A65.下列關(guān)于switch語句的描述中,不正確的是________。A、switch語句中的default子句可以沒有,也可以有一個B、switch語句中的每一個case子句中必須有一個break語句C、switch語句中的default子句可放在switch語句中的任何位置D、switch語句中的case子句后面的表達式只能是整型、字符或枚舉類型常量答案:B66.以下程序的輸出結(jié)果為()。Inta[3][3]={0,1,2,0,1,2,0,1,2},t=1;For(inti=0;i<3;i++)For(intj=i;j<=i;j++)T=t+a[i][a[j][j]];Printf(""%d\n"",t);A、3B、4C、1D、9答案:B67.假設(shè)有宏定義:#defineA3#defineBA+A+A則cout<A、7B、27C、19D、9答案:C68.一個最簡單的C++程序,可以只有一個()。A、庫函數(shù)B、自定義函數(shù)C、main函數(shù)D、空函數(shù)答案:C69.若已經(jīng)聲明了函數(shù)原型voidfun(inta,doubleb=0.0);,則下列重載函數(shù)聲明中正確的是________。A、voidfun(inta=9,doubleb=1.0);B、voidfun(doublea,intB、;C、intfun(inta,doubleB);D、boolfun(inta,doubleb=0.0);答案:B70.設(shè)inti=1,j=2;則表達式i+++j的值為()。A、1B、2C、3D、4答案:C71.以下程序inta=15;a>>2;則a的值變?yōu)椋ǎ、3B、15C、13D、2答案:A72.下列各函數(shù)中,()不是類的成員函數(shù)。A、構(gòu)造函數(shù)B、析構(gòu)函數(shù)C、友元函數(shù)D、拷貝構(gòu)造函數(shù)答案:C73.若有以下標(biāo)志符定義:charc=’c’;inta=4;floatf=3.14;doubled=1.212;則表達式c+a/(int)d+f的結(jié)果類型是()A、floatB、charC、intD、double答案:D解析:當(dāng)不同類型的量進行混合算術(shù)運算時,系統(tǒng)自動進行合理的類型轉(zhuǎn)換,編譯器就會自動把低級類型向高級類型轉(zhuǎn)換。數(shù)據(jù)類型級別由低到高分別為:char→int→float→double。轉(zhuǎn)換時由低級別向高級別轉(zhuǎn)換。會自動提升為參與表達式求值的最上級類型double。故本題選D。也可以在程序中使用強制類型轉(zhuǎn)換運算符:static_cast或const_cast。74.執(zhí)行下列語句后,輸出的結(jié)果是()。#include<iostream>Usingnamespacestd;Intmain(){Inta=3,b=5;Floatc=b/a;Cout<<c<<endl;Return0;}(題)A、1B、1.66666C、1.0D、1.7答案:A75.有如下程序段:……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答案:B76.在類外定義成員函數(shù)時,::運算符兩側(cè)分別連接()A、返回值類型函數(shù)名B、返回值類型類名C、函數(shù)名類名D、類名函數(shù)名答案:D解析:類體外函數(shù)定義的前面必須用“類名::”來限定,格式如下:返回值類型類名::成員函數(shù)名(參數(shù)列表){成員函數(shù)的函數(shù)體}77.下列說法中錯誤的是()。A、靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值B、若全局變量和某一函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽C、靜態(tài)全局變量可以被其他的編輯單位所引用D、所有自動類局部變量的存儲單元都是在進入這些局部變量所在的函數(shù)體(或復(fù)合語句)時生成,退出其所在的函數(shù)體(或復(fù)合語句)時消失答案:C78.對于C/C++語言的函數(shù),下列敘述中正確的是()。A、函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套。B、函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套C、函數(shù)的定義和調(diào)用都不能嵌套。D、函數(shù)的定義和調(diào)用都可以嵌套答案:A79.設(shè)a為5,執(zhí)行下列語句后,b的值不為2的是_____。(題)A、b=a/2B、b=6-(--a)C、b=a%2D、b=a>3?2:1答案:C80.生成派生類對象時,派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù)的條件是________。A、無需任何條件B、基類中顯式定義了構(gòu)造函數(shù)C、派生類中顯式定義了構(gòu)造函數(shù)D、派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù)答案:A81.使用派生類的主要原因是:A、提高代碼的可重用性B、提高程序的運行效率C、加強類的封裝性D、實現(xiàn)數(shù)據(jù)的隱藏答案:A82.下列敘述中,正確的是________。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語句答案:A83.設(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。84.下列排序算法中,已基本有序卻反而變得更復(fù)雜的排序算法是:()。A、冒泡排序B、快速排序C、簡擇排序D、插入排序答案:B85.一趟排序結(jié)束后不一定能夠選出一個元素放在其最終位置上的是()A、冒泡排序B、快速排序C、希爾排序D、以上說法都正確答案:C86.已知inti=0,x=1,y=0;在下列選項使i的值變成1的語句是()。A、if(x&&y)i++;B、if(x==y)i++;C、if(x||y)i++;D、if(!x)i++;答案:C87.有如下類聲明:classA{intx;public:A(intn){x=n;}};classB:publicA{Ay;public:B(inta,intb);};在類體外定義構(gòu)造函數(shù)B,下列選項中正確的是________。A、B::B(intA,intb):x(a),y(b){}B、B::B(intA,intb):A(a),y(b){}C、B::B(intA,intb):x(a),B(b){}D、B::B(intA,intb):A(a),B(b){}答案:B88.數(shù)據(jù)結(jié)構(gòu)排序算法中比較常見的不穩(wěn)定排序算法是A、冒泡排序B、折半插入排序C、快速排序D、以上都是穩(wěn)定的答案:C89.下列有關(guān)delete的描述中,錯誤的是________。A、delete是運算符B、它必須用于new返回的指針C、delete[]可以刪除任意維的動態(tài)數(shù)組D、對一個指針可以連續(xù)使用多次delete答案:D90.已知類A,a1和a2是類A的兩個對象,x是A類的靜態(tài)數(shù)據(jù)成員,則以下說法正確的是()。A、a1.x、a2.x、A::x是3個不同的變量B、a1.x和a2.x是相同的變量,A::x與它們不同C、a1.x、a2.x、A::x是相同的變量D、x在程序運行期間的值不能改變答案:C91.下面()項是對構(gòu)造函數(shù)和析構(gòu)函數(shù)的正確定義。A、voidX::X(),voidX::~X()B、X::X(參數(shù)),X::~X()C、X::X(參數(shù)),X::~X(參數(shù))D、voidX::X(參數(shù)),voidX::~X(參數(shù))答案:B92.已知以下代碼:1classA2{3public:4inta;5public:6A(){f();}7virtualvoidf()=0;8voidfun();}則有錯誤的語句是()。"A、4B、6C、7D、8答案:B93.下列符號中不屬于C++關(guān)鍵字的是()。(題)A、byteB、friendC、namespaceD、continue答案:A94.設(shè)有如下程序段:intx=2002,y=2003;coutA、編譯時產(chǎn)生出錯信息,不能正確輸出B、輸出2002,2003C、輸出值為2002D、輸出值為2003答案:D95.c++11的智能指針類型不包括?A、shared_ptrB、unique_ptrC、weak_ptrD、auto_ptr答案:D96.以下選項中不屬于C++語言數(shù)據(jù)類型的是()。A、signedshortintB、unsignedcharC、unsignedfloatD、unsignedint答案:C解析:浮點型不存在無符號類型97.作用域運算符“::”的功能是()A、標(biāo)識作用域的級別B、指出作用域的范圍C、給定作用域的大小D、標(biāo)識成員是屬于哪個類答案:B解析:類體外函數(shù)定義的前面必須用“類名::”來限定,格式如下:返回值類型類名::成員函數(shù)名(參數(shù)列表){成員函數(shù)的函數(shù)體}類名是成員函數(shù)所屬類的名字,符號::是類作用域運算符,表明它后面的成員函數(shù)是屬于類名標(biāo)識的這個類的。故用于指出作用域的范圍,選B。98.下列數(shù)組定義語句中,不合法的是()。A、inta[3]={0,1,2,3};B、inta[]={0,1,2};C、inta[3]={0,1,2};D、inta[3]={0};答案:A99.下列有關(guān)函數(shù)的說法正確的是()。A、在C++語言中,若對函數(shù)類型未加說明,則系統(tǒng)隱含類型為void。B、C++函數(shù)必須有返回值,否則無法使用。C、C++函數(shù)既可以嵌套定義,又可以可遞歸調(diào)用。D、C++函數(shù)中,形式參數(shù)必須指定為確定的類型。答案:D100.執(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答案:A101.有如下程序:#includeusingnamespacestd;voidconvert(intd){if(dA、6677889910B、12344321C、67899876D、6789109876答案:D102.下列有關(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語句答案:C103.在下面的do-while循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數(shù)為()?inti=0;do{i++;}while(i<10)A、8B、9C、10D、11答案:C104.C++的繼承性允許派生類繼承基類的()。A、部分特性,并允許增加新的特性或重定義基類的特性B、部分特性,但不允許增加新的特性或重定義基類的特性C、所有特性,并允許增加新的特性或重定義基類的特性D、所有特性,但不允許增加新的特性或重定義基類的特性答案:C105.有如下類模板定義:Template<classT>classBigNumber{Longn;Public:BigNumber(Ti):n(i){}BigNumberoperator+(BigNumberb){ReturnBigNumber(n+b.n);}};已知b1,b2是BigNumber的兩個對象,則下列表達式中錯誤的是()?A、3+3B、b1+3C、b1+b2D、3+b1答案:D解析:運算符重載調(diào)用形式其實是:b1.operator+(參數(shù))簡寫成b1+參數(shù)106.以下基類中的成員函數(shù)表示純虛函數(shù)的是()A、virtualvoidtt()=0B、voidtt(int)=0C、virtualvoidtt(int)D、virtualvoidtt(int){}答案:A107.設(shè)x和y均為bool量,則x&&y為真的條件是()。A、它們均為真B、其中一個為真C、它們均為假D、其中一個為假答案:A108.字面常量42、4.2、42L的數(shù)據(jù)類型分別是()。A、long、doubleintB、long、float、intC、int、double、longD、int、float、long答案:D109.一個棧的入棧序列為1,2,3,...,n,其出棧序列是p1,p2,p3,...pn。若p2=3,則p3可能取值的個數(shù)是()A、n-3B、n-2C、n-1D、無法確定答案:C110.有以下程序:#include<iostream>Usingnamespacestd;Voidmain(){Chara='A',b;Cout<<++a;Cout<<(b=a++)<<endl;}程序運行后的輸出結(jié)果是_____。(題)A、BBB、BCC、ACD、AB答案:A111.函數(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ù)體的二進制代碼。112.已知二叉樹后序遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是:A、abcdefgB、abdcefgC、adbcfegD、abecdfg答案:B113.存在定義inta[10],x,*pa;,若pa=&a[0],下列的哪個選項和其他3個選項不是等價的?()。A、x=*pa;B、x=*(a+l);C、x=*(pa+1);D、x=a[1];答案:A114.若有以下類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;}答案:C115.有以下程序#include<iostream.h>Voidmain(){inti,s=0;For(i=1;i<10;i+=2)s+=i;Cout<<s;}程序執(zhí)行后的輸出結(jié)果是()。A、自然數(shù)1~9的累加和B、自然數(shù)1~10的累加和C、自然數(shù)1~9中的奇數(shù)之和D、自然數(shù)1~10中的偶數(shù)之和答案:C116.假定AA為一個類,a()為該類公有的函數(shù)成員,x為該類的一個對象,則訪問x對象中函數(shù)成員a()的格式為()。A、x.aB、x.a()C、x->aD、x->a()答案:B117.若對n個元素進行直接插入排序,在進行第i趟排序時,假定元素r[i+1]的插入位置為r[j],則需要移動元素的次數(shù)為A、j-iB、i-j-1C、i-jD、i-j+1答案:D118.下列有關(guān)C++流的表述中,錯誤的是________。A、利用C++流進行輸入操作時,eof()函數(shù)用于檢測是否到達文件尾B、C++流操作符endl可以實現(xiàn)輸出的回車換行C、C++流操作符setw設(shè)置的輸出寬度永久有效D、利用C++流處理文件輸入輸出時,須包含頭文件fstream答案:C119.關(guān)于文件包含,下列描述錯誤的是__________A、文件包含命令行必須以#include開頭B、文件包含命令行的兩種形式是有區(qū)別的,當(dāng)#include后面的文件名用<>括起來時,應(yīng)該先在源程序所在目錄中進行搜索C、文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D、一個#include命令只能包含一個文件,當(dāng)多個文件需要包含時,應(yīng)使用多個#include命令行答案:B120.設(shè)已有定義char*st="howareyou”;下列程序中正確的是________。A、chara[11],*p;strcpy(p=a+1,&st[4]);B、chara[11],*p;strcpy(++a,st);C、chara[11],*p;strcpy(a,st);D、chara[],*p;strcpy(p=a[1],st+2);答案:A121.C++的繼承性允許派生類繼承基類的()。A、部分特性,并允許增加新的特性或重定義基類的特性B、部分特性,但不允許增加新的特性或重定義基類的特性C、所有特性,并允許增加新的特性或重定義基類的特性D、所有特性,但不允許增加新的特性或重定義基類的特性答案:C122.下列為文件的擴展名,能被計算機直接執(zhí)行的是()。A、cppB、oC、exeD、h答案:C123.有如下程序段:執(zhí)行這個程序段后輸出字符*的個數(shù)是________。inti=1;while(1){i++;if(i==30)break;if(i%3==0)coutA、10B、8C、9D、30答案:C124.IO流中,ifstream的父類是下面的A、ostreamB、istreamC、ofstreamD、iostream答案:B125.必須用一對大括號括起來的程序段是________。A、switch語句中的case標(biāo)號語句B、if語句的分支C、循環(huán)語句的循環(huán)體D、函數(shù)的函數(shù)體答案:D126.下面關(guān)于C++lambda表達式說法正確的有A、[capture](params)->ret{body}這是一個完整的lambda表達式形式B、capture值為[a,&b]表示a變量以值的方式唄捕獲,b以引用的方式被捕獲C、capture為[=]表示不捕獲外部的任何變量D、lambda表達式是屬于C++14的新特性答案:B解析:Lambda函數(shù)語法定義:[capture](parameters)mutable->return-type{statement};A錯誤.[=]表示值傳遞方式捕捉所有父作用域的變量(包括this);B錯誤.lambda表達式是屬于C++11&14新特性;D錯誤.127.如果inta=1,b=2,c=3,d=4;,則條件表達式aA、2B、3C、4D、1答案:D128.以下說法中不正確的是()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。129.關(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)鍵字答案:C130.設(shè)置虛基類的目的是:()A、簡化程序B、消除二義性C、提高運行效率D、減少目標(biāo)代碼答案:B131.下列程序的輸出結(jié)果為()intmain(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);return0;}A、27.000000B、27.500000C、28.000000D、28.500000答案:A解析:注意整型和整型的除法,等到的仍然是整型,并不會出現(xiàn)浮點型或者double型132.逗號表達式(x=2*3,x=x*5),x+25的值為________。A、25B、55C、45D、100答案:B133.有如下語句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail())cout<<"C";elsecout<<"D";}若執(zhí)行這個語句序列顯示的是BD,則說明文件DATA.DAT________。A、以讀方式打開成功B、以讀方式打開失敗,但以寫方式打開成功C、以讀方式打開失敗,以寫方式打開也失敗D、以讀方式打開成功,以寫方式打開也成功答案:B134.若classB中定義了一個classA的類成員Aa,關(guān)于類成員的正確敘述是()。A、在類B的成員函數(shù)中可以訪問A類的私有數(shù)據(jù)成員B、在類B的成員函數(shù)中可以訪問A類的保護數(shù)據(jù)成員C、類B的構(gòu)造函數(shù)可以調(diào)用類A的構(gòu)造函數(shù)做數(shù)據(jù)成員初始化D、類A的構(gòu)造函數(shù)可以調(diào)用類B的構(gòu)造函數(shù)做數(shù)據(jù)成員初始化答案:C135.下列語句將輸出字符'*'的個數(shù)為()。inti=100;while(1){i--;if(i==0)break;Cout<<'*';}(題)A、99B、98C、100D、101答案:A136.假設(shè)i=2,執(zhí)行下列語句后i的值為()。Switch(i){case1:i++;Case2:i--;Case3:++i;break;Case4:--i;Default:i++;}A、1B、2C、3D、4答案:B137.下面有關(guān)類說法不正確的是()A、一個類可以有多個構(gòu)造函數(shù)B、一個類只有一個析構(gòu)函數(shù)C、析構(gòu)函數(shù)需要指定參數(shù)D、在一個類中可以說明具有類類型的數(shù)據(jù)成員答案:C138.關(guān)于以下代碼:ClassCGame{Constinti=1;Public:Intf()const{i=3;}};說法正確的是()。"A、該代碼編譯無法通過B、該代碼編譯正常通過,變量i的值為3C、該代碼編譯正常通過,變量i的值為1D、該代碼編譯正常通過,如果調(diào)用函數(shù)f則i的值變?yōu)?,否則為1答案:A139.在面向?qū)ο蠓椒ㄖ?實現(xiàn)信息隱藏的是依靠()A、對象的繼承B、對象的多態(tài)C、對象的封裝D、對象的分類答案:C140.C語言中的標(biāo)識符只能由字母,數(shù)字和下劃線三種字符組成,且第一個字符()A、必須為字母B、必須為下劃線C、必須為字母或下劃線D、可以是字母,數(shù)字和下劃線中任一字符答案:C141.能正確表示邏輯關(guān)系:“0≤a≤10”的C++語言表達式是________。A、a<=10anda>=0B、0<=a<=10C、a<=10&&a>=0D、a<=10||a>=0答案:C142.若一棵二叉樹的前序遍歷序列和后序遍歷序列分別為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答案:C143.一個類的靜態(tài)數(shù)據(jù)成員所表示屬性()。A、是類的或?qū)ο蟮膶傩訠、只是對象的屬性C、只是類的屬性D、類和友元的屬性答案:C144.能正確表示邏輯關(guān)系:“0≤a≤10”的C++語言表達式是________。A、a<=10anda>=0B、0<=a<=10C、a<=10&&a>=0D、a<=10‖a>=0答案:C145.若有定義“intx=17;”,則語句“coutA、11B、0x11C、21D、20答案:C146.設(shè)存在函數(shù)intmax(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,下列表達式不正確的是()A、intm=max(22,max(59,70));B、intm=max(max(22,59),70);C、intm=max(22,59,70);D、intm=max(59,max(22,70));答案:C解析:max中參數(shù)為兩個,當(dāng)實參數(shù)量多于形參數(shù)量時,多于的參數(shù)會被忽略。故本題中不能比較出三者中的最大值147.vector隨機讀的時間復(fù)雜度是?A、O(1)B、O(n)C、O(logN)D、O(n2)答案:A148.執(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答案:A149.關(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ù)。答案:C150.當(dāng)執(zhí)行以下程序段時________。y=-1;do{y--;}while(--y);coutA、循環(huán)體將執(zhí)行一次B、循環(huán)體將執(zhí)行兩次C、循環(huán)體將執(zhí)行無限次D、系統(tǒng)將提示有語法錯誤答案:C151.[賦值兼容規(guī)則]下列程序的輸出是:#include<iostream>Usingnamespacestd;ClassA{Public:voidshow(){cout<<"A";}};ClassB:publicA{Public:voidshow(){cout<<"B";}};Intmain(){Bb1;b1.show();Aa1=b1;a1.show();Return0;}A、AAB、BBC、ABD、BA答案:D152.下面關(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)有的類“派生”而來,從而達到代碼擴充和代碼復(fù)用的目的。繼承支持層次概念。并不是任何對象都必須具有繼承性。因此A錯誤。153.以下正確的說法是()A、結(jié)構(gòu)體類型變量不能初始化。B、結(jié)構(gòu)體類型變量為外部變量或靜態(tài)變量時能初始化。C、結(jié)構(gòu)體數(shù)組不能初始化D、可以用賦值語句將一組常量賦給一個結(jié)構(gòu)體變量答案:B154.下列對于指針的描述錯誤的是________。A、地址就是指針B、指針不能用除0以外的常量賦值C、兩個指針變量的加法無意義D、指向不同基類型的指針變量占用內(nèi)存空間大小不同答案:D155.為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇()。A、內(nèi)聯(lián)函數(shù)B、重載函數(shù)C、遞歸函數(shù)D、函數(shù)模板答案:A156.有如下定義語句: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答案:C157.C++源程序的實現(xiàn)一般要經(jīng)過三個步驟,其中不包括()。A、編輯B、維護C、編譯D、運行答案:B158.對使用關(guān)鍵字new所開辟的動態(tài)存儲空間,釋放時必須使用()。A、freeB、createC、deleteD、realse答案:C159.假設(shè)已經(jīng)有定義”constchar*constname="chen";“,下面的語句中正確的是:A、name[3]='a';B、name="lin";C、name=newchar[5];D、cout<<name[3];答案:D160.下列訪問成員的方式哪個是正確的()A、對象名.對象成員名B、對象指針名.對象成員名C、對象名->對象成員名D、類名->對象成員名答案:A解析:定義了類和對象后,就可以訪問對象的成員。通過對象訪問成員變量的一般格式如下:對象名.成員變量名故本題選A。還可以使用指針或引用的方式來訪問類成員。如果是通過指針訪問成員變量,則點運算符.換為箭頭運算符->,即使用“指針->成員名”的方式來訪問對象的成員。故BCD錯誤。161.關(guān)系表達式的求值結(jié)果為()。A、1或-1B、1或0C、任意正整數(shù)或0D、任意負(fù)整數(shù)或0答案:B162.請問對一個排好序的數(shù)組進行查找,用平均時間復(fù)雜度最小的算法,時間復(fù)雜度為()A、O(n)B、O(logn)C、O(nlogn)D、O(1)答案:B163.以下關(guān)于this指針的描述正確的是()。A、this指針指向的是1個類B、this指針指向的是1個類對象C、this指針必須在類中顯式的實現(xiàn)后才能使用D、可以通過類的對象名來調(diào)用this指針答案:B164.比較C語言與C++語言,最明顯的差異在于()。A、輸入輸出流B、數(shù)據(jù)結(jié)構(gòu)C、流程控制D、類答案:D165.下面對析構(gòu)函數(shù)的正確描述是()。A、系統(tǒng)不提供默認(rèn)的析構(gòu)函數(shù)B、析構(gòu)函數(shù)必須由用戶定義C、析構(gòu)函數(shù)沒有參數(shù),也沒有返回值D、析構(gòu)函數(shù)可以設(shè)置默認(rèn)參數(shù)答案:C166.在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問原基類的()。A、公有成員和私有成員B、私有成員和保護成員C、公有成員和保護成員D、私有成員、保護成員和公有成員答案:C167.程序中主函數(shù)的名字為()。A、mainB、MAINC、MainD、任意標(biāo)識符答案:A168.分布式環(huán)境下是否可以通過套接字(Socket)實現(xiàn)兩個進程(位于不同主機)的通訊?A、是B、不是答案:A169.循環(huán)while(inti=0)i--;執(zhí)行次數(shù)是(A)。A、0B、1C、5D、無限答案:A170.己知一個順序存儲的線性表,設(shè)每個結(jié)點需占m個存儲單元,若第一個結(jié)點的地址al,則第i個結(jié)點的地址為A、al+(i-1)*mB、al+i*mC、al-i*mD、al+(i+1)*m答案:A171.for(intx=0,y=0;!x&&y<=10;y++);語句執(zhí)行循環(huán)的次數(shù)是________。A、0B、10C、11D、無限答案:C172.以下敘述正確的是()。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ù)答案:C173.下面程序的輸出結(jié)果是()。#include<iostream>Usingnamespacestd;Intfun(char*);Intmain(){Cout<<fun("hello");Return0;}Intfun(char*s){Char*t=s;While(*t!='\0')t++;Return(t-s);}(題)A、5B、6C、0D、語法錯誤答案:A174.已知結(jié)構(gòu)類型:Structstudent{Intnum;Charname;Floatscore;Charsex;}Stu;則sizeof(Stu)的值為()。A、4B、16C、12D、10答案:B175.下列各組類型聲明符中,含義相同的一組是()。(題)A、signedshortint和shortB、unsignedlongint和longC、unsignedshort和shortD、shortint和int答案:A176.下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為()。For(inti(0),j(10);i=j=4;i++,j--)A、0;B、1;C、4;D、無限;答案:D177.if(a>b)max=a;elsemax=b;將該語句寫成三目運算表達式語句是()。A、max=(a>b)?;B、(max=a>b)?a:b;C、c=(a>b)?a:b;D、max=(a>b)?a:b;答案:D178.下列程序的輸出結(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);cout<A、8,17B、8,16C、8,20D、8,8答案:A179.C++程序中的簡單語句必須以()結(jié)束。(題)A、空格B、冒號C、分號D、花括號答案:C180.有關(guān)運算符重載正確的描述是:A、C++語言允許中重載運算符時改變運算符的操作數(shù)個數(shù)B、C++語言運行在重載運算符時改變運算符的優(yōu)先級C、C++語言運行在重載運算符時改變運算符的結(jié)合性D、C++語言運行在重載運算符時改變運算符原來的功能答案:D181.假設(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答案:A182.派生類的對象對它的基類成員中()是可以訪問的。A、公有繼承的公有成員;B、公有繼承的私有成員;C、公有繼承的保護成員;D、私有繼承的公有成員。答案:A183.寫數(shù)據(jù)抽象為從流中()數(shù)據(jù)A、插入B、替換C、提取D、刪除答案:A184.已知print()函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中正確的是A、voidprint()const;B、constvoidprint();C、voidconstprint();D、voidprint(const);答案:A185.一棵樹深度為K的完全二叉樹至少有多少個結(jié)點A、2^k-1B、2^(k-1)-1C、2^(k-1)D、2^k答案:C186.設(shè)已定義浮點型變量data,以二進制方式把data的值寫入輸出文件流對象outfile中去,正確的語句是()。A、outfile.write((double*)&data,sizeof(double));B、outfile.write((double*)&data,data);C、outfile.write((char*)&data,sizeof(double));D、outfile.write((char*)&data,data);答案:C187.以下正確的二維數(shù)組定義是________。A、inta[][]={1,2,3,4,5,6};B、inta[2][]={1,2,3,4,5,6};C、inta[][3]={1,2,3,4,5,6};D、inta[2,3]={1,2,3,4,5,6};答案:C188.對于"int*pa[5];"的描述中正確的是A、pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素B、pa是一個指向某數(shù)組中第5個元素的指針,該元素是int型變量C、pa[5]表示某個元素的第5個元素的值D、pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針答案:D189.下列說法正確的是________。A、字符型數(shù)組與整型數(shù)組可通用B、字符型數(shù)組與字符串其實沒什么區(qū)別C、字符串的輸出可以用存儲它的數(shù)組來輸出,也可以字符串的形式整體輸出,結(jié)果沒區(qū)別D、當(dāng)字符串放在字符數(shù)組中,這時要求字符數(shù)組長度比字符串長1個單元,因為要放字符串終結(jié)符'\0’答案:D190.在一個單鏈表head中,若要在指針p所指結(jié)點后插入一個q指針?biāo)附Y(jié)點,則執(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;?答案:D191.關(guān)于類和對象不正確的說法是()A、類是一種類型,它封裝了數(shù)據(jù)和操作B、對象是類的實例C、一個類的對象只有一個D、一個對象必屬于某個類答案:C解析:對象就是一類物體的實例,將一組對象的共同特征抽象出來,從而形成“類”的概念。一個類的對象可以有很多,因此C項錯誤。192.下列關(guān)于實參和形參說法錯誤的是()。A、實參可以是變量、常量、或表達式。B、實參與形參的類型必須一致,否則會發(fā)生“類型不匹配”的錯誤。C、實參對形參的數(shù)據(jù)傳遞是單向傳遞,調(diào)用結(jié)束后,實參單元被釋放。D、形參必須是變量。答案:D193.已知以下代碼:ClassA{}ClassB:publicA{}Aa;Bb;則以下說法正確的是()。A、賦值方式a=b是允許的B、賦值方式b=a是允許的C、a可以訪問類B的所有成員D、a可以訪問b的所有public成員答案:A194.設(shè)intx=2,y=4,z=7;則執(zhí)行x=y--<=x||x+y!=z后x,y的值分別為________。A、0,3B、1,3C、2,3D、2,4答案:B195.能用友元函數(shù)重載的運算符是:A、+B、[]C、->答案:A196.fstreamiofile說法正確的是A、只輸入用B、既輸入又輸出用C、只輸出用D、它是從ifstream類派生的。答案:B197.有以下程序中:#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答案:A198.設(shè)A、B、C三個字符按先后順序依次進棧且出棧順序隨意;下面哪個序列為不可能的出棧序列()。A、ABCB、ACBC、BACD、CAB答案:D199.函數(shù)intsum(inta=1,intb=1,intc=3)可與下列哪個函數(shù)同時聲明()A、doublesum(int);B、charsum(int,int);C、intsum(double);D、intsum(int,int,int);答案:C解析:函數(shù)重載,區(qū)別是參數(shù)類型不同,參數(shù)個數(shù)不同。Sum(inta=1,intb=1,intc=3)包含了sum(int,int,int),sum(int,int),sum(int),sum()這四種情況,而根據(jù)一個函數(shù)的返回值是無法得知要調(diào)用哪個函數(shù)的,只能根據(jù)參數(shù)來決定,所以這道題跟返回值沒關(guān)系。故ABD都錯,選C。200.inta=0;intb=a++;b的值是多少?A、0B、1C、2D、4答案:A201.對于下面代碼,描述正確的是templateclassA{public:enumE{N=A::E::N*M};};templateclassA{public:enumE{N=1};};intmain(){inta[A::N];return0;}A、編譯錯誤,定義數(shù)組時下標(biāo)必須為常量B、能正確編譯,數(shù)組a大小為24C、能正確編譯,數(shù)組a大小為4D、能正確編譯,數(shù)組a大小為10答案:B202.在C++語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。A、整型常量B、整型表達式C、整型常量或整型表達式D、任何類型的表達式答案:C203.下列對繼承的描述中,錯誤的是()。A、派生類對象不能訪問基類的保護成員B、派生類對基類成員的訪問權(quán)限隨著繼承方式而改變C、派生類成員可以訪問基類的私有成員D、派生類繼承了基類的所有成員答案:C204.有關(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ù)類型答案:B205.重新定義標(biāo)識符的作用域規(guī)定是外層變量被隱藏,()變量是可見的。A、外層B、內(nèi)層C、外層和內(nèi)層D、內(nèi)部答案:B206.在一棵二叉樹中有30個葉子結(jié)點,僅有一個孩子的結(jié)點有20個,則該二叉樹共有()個結(jié)點A、79B、76C、56D、81答案:A207.有如下類說明: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對象,則下列表達式中正確的是________。A、x.value+x.getAmount()B、x.getData()-x.getAmount()C、x.getData()-x.amountD、x.value+x.amount答案:B208.友元的作用是()。A、提高程序的運用效率;B、加強類的封裝性;C、實現(xiàn)數(shù)據(jù)的隱藏性;D、增加成員函數(shù)的種類;答案:A209.通過下面哪種方式存儲待排序元素,可以更容易實現(xiàn)快速排序A、順序存儲B、鏈?zhǔn)酱鎯、堆D、棧答案:A210.下列不是函數(shù)重載所要求的條件是()A、函數(shù)名相同B、參數(shù)個數(shù)不同C、參數(shù)類型不同D、函數(shù)返回值類型不同答案:D解析:函數(shù)重載:是指在程序的同一范圍內(nèi)聲明幾個功能類似的同名函數(shù)。即前提是函數(shù)名相同,故A正確。實現(xiàn)函數(shù)的重載必須滿足下列條件之一:1)參數(shù)表中對應(yīng)的參數(shù)類型不同。2)參數(shù)表中參數(shù)個數(shù)不同。故BC正確。要注意的是,返回值類型不能用來區(qū)分函數(shù),也就是說,如果僅僅是返回值類型不同,則這兩個函數(shù)不是重載的,編譯器認(rèn)為它們是重復(fù)定義,編譯時會報錯。故本題選D。211.下面()數(shù)據(jù)結(jié)構(gòu)常用于函數(shù)調(diào)用。A、隊列B、棧C、鏈表D、數(shù)組答案:B212.下列關(guān)于C++流的敘述中,正確的是________。A、與鍵盤、屏幕、打印機和通信端口的交互都可以通過流類來實現(xiàn)B、cin是一個預(yù)定義的輸入流類C、輸出流有一個名為open的成員函數(shù),其作用是生成一個新的流對象D、從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作答案:A213.類中定義的成員默認(rèn)為()訪問屬性。A、publicB、privateC、protectedD、Friend答案:B214.下列關(guān)于單目運算符++、--的敘述中正確的是________。A、它們的運算對象可以是任何變量和常量B、它們的運算對象可以是char型變量和int型變量,但不能是float型變量C、它們的運算對象可以是int型變量,但不能是double型變量和float型變量D、它們的運算對象可以是char型變量、int型變量和float型變量答案:B215.執(zhí)行語句boolx=5;inta=x==5;變量a的值為()。A、0B、1C、5D、false答案:A解析:x=5,x的值為真,x==5結(jié)果為假,所以a為0.216.有如下程序:#includeusingnamespacestd;classBase{protected:Base(){coutA、BB、BAC、ABD、BB答案:C217.有如下程序#include<iostream>Usingnamespacestd;Voidmain(){Inty=3,x=3,z=1;Cout<<(++x,y++)<<""<<z+2<<endl;}運行該程序的輸出結(jié)果是_____。(題)A、34B、42C、43D、33答案:D218.設(shè)x為整型變量,不.能.正確表達數(shù)學(xué)關(guān)系1<x<5的C++邏輯表達式是()。A、1<x<5B、x==2||x==3||x==4C、1<x&&x<5D、!(x<=1)&&!(x>=5)答案:A219.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是()A、classderived::studentprivate{//,,,,.}B、classderived::studentpublic{//,,,,.}C、classderived::publicstudent{//,,,,.}D、classderived::privatestudent{//,,,,.}答案:D220.已知有如下函數(shù)模板定義:Template<classT>Tmax(TA,Tb){If(a>b)returna;Elsereturnb;}則下列函數(shù)調(diào)用有錯誤的是()。A、max(1,2)B、max(’a’,’b’)C、max(1.0,2)D、max(3.1,4.5)答案:C221.已知inta=3;,則執(zhí)行完表達式a+=a-=a*a后,a的值是________。A、-3B、9C、-12D、6答案:C222.C++中是否允許在類結(jié)構(gòu)中定義函數(shù)()A、不允許B、允許C、僅允許定義構(gòu)造函數(shù)D、只不允許定義構(gòu)造函數(shù)答案:B解析:類中定義的數(shù)據(jù)和函數(shù)稱為這個類的成員。故允許在類結(jié)構(gòu)中定義函數(shù)。223.以下代碼執(zhí)行后,a、b、c的值分別為()。inta=8,b=10,c=3;if(a>b)c=a,a=b,b=c;A、10108B、1088C、1033D、8103答案:B224
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微藻基柔性電極-洞察與解讀
- 動態(tài)雕塑交互設(shè)計-第1篇-洞察與解讀
- 我國海洋生態(tài)保護紅線法律制度的構(gòu)建與完善:基于生態(tài)安全與可持續(xù)發(fā)展的視角
- 傾斜觀測專項施工方案
- 人行道無障礙改造專項施工方案
- 五防系統(tǒng)專項施工方案
- (2025年)植物生理學(xué)專業(yè)知識考試題庫附答案
- 酒店員工個性化客戶服務(wù)提升方案
- 《琥珀》教學(xué)反思范文及改進建議
- 小學(xué)數(shù)學(xué)三年級基礎(chǔ)數(shù)據(jù)測試卷
- 危險化學(xué)品安全法解讀
- 廣東省佛山市南海區(qū)2025-2026學(xué)年上學(xué)期期末八年級數(shù)學(xué)試卷(含答案)
- GB/T 7714-2025信息與文獻參考文獻著錄規(guī)則
- 110kV旗潘線π接入社旗陌陂110kV輸電線路施工方案(OPGW光纜)解析
- 第5章 PowerPoint 2016演示文稿制作軟件
- 基坑支護降水施工組織設(shè)計
- 預(yù)拌商品混凝土(砂漿)企業(yè)安全生產(chǎn)檢查表
- 焊接結(jié)構(gòu)焊接應(yīng)力與變形及其控制
- 中石油管道局燃?xì)夤艿朗┕そM織設(shè)計
- YY/T 1872-2022負(fù)壓引流海綿
- GB/T 17766-1999固體礦產(chǎn)資源/儲量分類
評論
0/150
提交評論