




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、單選題1.C++源程序文獻的缺省擴展名為()。A.cppB.exeC.objD.lik2.由C++源程序文獻編譯而成的目的文獻的缺省擴展名為()。A.cppB.exeC.objD.lik3.由C++目的文獻連接而成的可執行文獻的缺省擴展名為()。A.cppB.exeC.objD.lik4.編寫C++程序一般需通過的幾個環節依次是( )。A.編譯、編輯、連接、調試B.編輯、編譯、連接、調試C.編譯、調試、編輯、連接D.編輯、調試、編輯、連接5.以下標記符中不全是保存字的是()。A.caseforintB.defaultthenwhileC.boolclasslongD.gotoreturnchar6.能作為C++程序的基本單位是()。A.字符B.語句C.函數D.源程序文獻7.程序中主函數的名字為()。A.mainB.MAINC.MainD.任意標記符8.C++程序的基本模塊為()。A.表達式B.標記符C.語句D.函數9.可用作C++語言用戶標記符的一組標記符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.存儲以下數據,占用存儲字節最多的是()。A.0B.‘0’C.“0”D.0.011.程序運營中需要從鍵盤上輸入多于一個數據時,各數據之間應使用()符號作為分隔符。A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車12.設”inta=12;”,則執行完語句”a+=a*a;”后,a的值是()。A.12B.144C.156D.28813.假設在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能對的表達代數式的表達式是()。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c14.設”inta=15,b=26;”,則”cout<<(a,b);”的輸出結果是()。A.15B.26,15C.15,26D.2615.設x是一個bool型的邏輯量,y的值為10,則表達式x&&y的值為()。A.1B.0C.與x值相同D.與x值相反16.x>0&&x<=10的相反表達式為()。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>1017.x>0||y==5的相反表達式為()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==518.設x和y均為bool量,則x&&y為真的條件是()。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假19.設x和y均為bool量,則x||y為假的條件是()。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假20.字符串”a+b=12\n”的長度為()。A.6B.7C.8D.921.假定下列x和y均為int型變量,則不對的的賦值為()。A.x+=y++B.x++=y++C.x=++yD.++x=++y22.下列的符號常量定義中,錯誤的定義是()。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;23.循環語句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循環體執行的次數為()。A.1B.n-1C.nD.n+124.在下面循環語句中循環體執行的次數為()。for(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-125.在下面循環語句中內層循環體S語句的執行總次數為(D)。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/226.在下面循環語句中循環體執行的次數為()。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.727.在下面循環語句中循環體執行的次數為(A)。inti=0;doi++;while(i*i<10);A.4B.3C.5D.228.當解決特定問題時的循環次數已知時,通常采用()來解決。A.for循環B.while循環C.do循環D.switch語句29.循環體至少被執行一次的語句為()。A.for循環B.while循環C.do循環D.任一種循環30.switch語句可以改寫為()語句。A.forB.ifC.doD.while31.do語句可以改寫為()語句。A.復合B.ifC.switchD.while32.在下面的一維數組定義中,哪一個有語法錯誤。()A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];33.在下面的字符數組定義中,哪一個有語法錯誤。()。A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;C.chara[15];D.chara[10]=’5’;34.在下面的二維數組定義中,對的的是()。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);35.假定一個二維數組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。A.2B.4C.6D.836.假定一個二維數組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。A.0B.4C.8D.637.若定義了函數double*function(),則函數function的返回值為()。A.實數型B.實數的地址C.指向函數的指針D.函數的地址38.以下說法中對的的是()。A.C++程序總是從第一個定義的函數開始執行B.C++程序總是從main函數開始執行C.C++函數必須有返回值,否則不能使用函數D.C++程序中有調用關系的所有函數必須放在同一個程序文獻中39.以下敘述中不對的的是()。A.在一個函數中,可以有多條return語句B.函數的定義不能嵌套,但函數的調用可以嵌套C.函數必須有返回值D.不同的函數中可以使用相同名字的變量40.函數重載是指()。A.兩個或兩個以上的函數取相同的函數名,但形參的個數或類型不同B.兩個以上的函數取相同的名字和具有相同的參數個數,但形參的類型可以不同C.兩個以上的函數名字不同,但形參的個數或類型相同D.兩個以上的函數取相同的函數名,并且函數的返回類型相同41.以下關于函數模板敘述對的的是()。A.函數模板也是一個具體類型的函數B.函數模板的類型參數與函數的參數是同一個概念C.通過使用不同的類型參數,函數模板可以生成不同類型的函數D.用函數模板定義的函數沒有類型42.下列()的調用方式是引用調用。A.形參和實參都是變量B.形參是指針,實參是地址值C.形參是引用,實參是變量D.形參是變量,實參是地址值43.為了提高程序的運營速度,可將不太復雜的功能用函數實現,此函數應選擇()。A.內聯函數B.重載函數C.遞歸函數D.函數模板44.函數原型語句對的的是()。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);45.C++中函數返回值的類型是由()決定的。A.return語句中表達式的類型B.該函數定義時的類型C.調用函數時的調用語句D.系統根據結果46.以下函數的返回結果是()。intfunction(char*x){char*p=x;while(*p++);return(p-x-1);}A.求字符串的長度B.將字符串x連接到字符串p后面C.將字符串x復制到字符串p中D.將字符串x反向存放47.函數調用func((exp1,exp2),(exp3,exp4,exp5))中所含實參的個數為()個。A.1B.2C.4D.548.設有如下函數定義intf(char*s){char*p=s;while(*p!=’\0’)p++;return(p-s);}在主函數中用cout<<f(“good”)調用上述函數,則輸出結果為()。A.3B.4C.5D.649.以下對的的函數原型語句是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);50.以下對的的說法是()。A.用戶調用標準庫函數前,必須重新定義B.用戶可以重新定義標準庫函數,若如此,該函數將失去原有含義C.系統不允許用戶重新定義標準庫函數D.用戶調用標準庫函數前,不必使用預編譯命令將該函數所在文獻涉及到用戶源文獻中51.函數調用不可以()。A.出現在一個表達式中B.出現在執行語句中C.作為一個函數的實參D.作為一個函數的形參52.以下對的的描述是()。A.函數的定義可以嵌套,函數的調用不可以嵌套B.函數的定義不可以嵌套,函數的調用可以嵌套C.函數的定義和函數的調用均可以嵌套D.函數的定義和函數的調用均不可以嵌套53.若用數組名作為函數調用的實參,傳遞給形參的是()。A.數組的首地址B.數組中第一個元素的值C.數組所有元素的值D.數組元素的個數54.以下錯誤的描述是()。A.被調用函數中可以不用return語句B.被調用函數中可以用多個return語句C.被調用函數中,假如有返回值,就一定要有return語句D.被調用函數中,一個return語句可返回多個值給調用函數55.以下對的的描述是()。A.不允許設立參數的默認值B.設立參數的默認值只能在定義函數時設立C.設立參數的默認值時,應當設立右邊的參數D.設立參數的默認值時,應當所有參數都設立56.采用重載函數的目的是()。A.實現共享B.減少空間C.提高速度D.使用方便,提高可讀性57.將兩個字符串連接起來組成一個字符串時,選用()函數。A.strlen()B.strcap()C.strcat()D.strcmp()58.以下敘述中對的的是()。A.使用#define可認為常量定義一個名字,該名字在程序中可以再賦此外的值B.使用const定義的常量名有類型之分,其值在程序運營時是不可改變的C.在程序中使用內聯函數使程序的可讀性變差D.在定義函數時可以在形參表的任何位置給出缺省形參值59.下面的標記符中,()是文獻級作用域。A.函數形參B.語句標號C.外部靜態類標記符D.自動類標記符60.以下敘述不對的的是()。A.宏替換不占用運營時間B.宏名無類型C.宏替換只是字符替換D.宏名必須用大寫字母表達61.C++語言的編譯系統對宏命令的解決是()。A.在程序運營時進行B.在程序連接時進行C.和C++程序的其它語句同時進行編譯D.在對源程序中其它成分正式編譯之前進行62.當#include后面的文獻名用雙引號括起來時,尋找被包含文獻的方式是()。A.直接按系統設定的標準方式搜索目錄B.先在源程序所在目錄搜索,再按系統設定的標準方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當前邏輯盤上的所有目錄63.當#include后面的文獻名用尖括號括起來時,尋找被包含文獻的方式是()。A.直接按系統設定的標準方式搜索目錄B.先在源程序所在目錄搜索,再按系統設定的標準方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當前邏輯盤上的所有目錄64.在下面存儲類中,()對象的可見性與生存期不一致。A.外部類B.自動類C.內部靜態類D.寄存器類65.在下面存儲類中,()的對象不是局部變量。A.外部靜態類B.自動類C.函數形參D.寄存器類66.關于局部變量,下面說法對的的是()。A.定義該變量的程序文獻中的函數都可以訪問B.定義該變量的函數中的定義處以下的任何語句都可以訪問C.定義該變量的復合語句中的定義處以下的任何語句都可以訪問D.定義該變量的函數中的定義處以上的任何語句都可以訪問67.文獻包含命令中被包含的文獻的擴展名()。A.必須是.hB.不能是.hC.可以是.h或.cppD.必須是.cpp68.預解決命令在程序中都是以()符號開頭的。A.*B.#C.&D.@69.設array為一個數組,則表達式sizeof(array)/sizeof(array[0])的結果為()。A.array數組首地址B.array數組中元素個數C.array數組中每個元素所占的字節數D.array數組占的總字節數70.用new運算符創建一個含10個元素的一維整型數組的對的語句是()。A.int*p=newa[10];B.int*p=newfloat[10];C.int*p=newint[10];D.int*p=newint[10]={1,2,3,4,5}71.下列給字符數組賦初值時,對的的是()。A.chars1[]=”abcdef”;B.chars2[4]=”abcd”;C.chars3[2][3]={“abc”,”xyz”};D.chars4[4][]={‘a’,’x’,’s’,’t’};72.設有定義“staticintdata[5][6];”,設該數組在靜態存儲區中的起始地址為十進制的100,若每個int型數占4個字節,則數組元素data[2][3]的地址為()。A.115B.124C.130D.16073.假定變量m定義為“intm=7;”,則定義變量p的對的語句為()。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;74.假定k是一個double類型的變量,則關于變量p的對的定義語句為()。A.doublep=&k;B.int*p=&k;C.double&p=*k;D.char*p=”Thankyou!”;75.變量s的定義為“char*s=”Helloworld!”;”,要使變量p指向s所指向的同一個字符串,則應選取()。A.char*p=s;B.char*p=&s;C.char*p;p=*s;D.char*p;p=&s;76.關于void指針,下列說法對的的是()。A.void指針就是未指向任何數據的指針B.void指針就是已定義而未初始化的指針C.指向任何類型數據的指針可直接賦值給一個void指針D.void指針值可直接賦給一個非void指針77.假定一條定義語句為“inta[10],x,*pa=a;”,若要把數組a中下標為3的元素值賦給x,則不對的的語句為()。A.x=pa[3];B.x=*(a+3);C.x=a[3];D.x=*pa+3;78.假定有定義“intb[10];int*pb;”,則不對的的賦值語句為()。A.pb=b;B.pb=&b[0];C.*pb=newint;D.pb=b[5];79.假定p是具有double類型的指針變量,則表達式++p使p的值(以字節為單位)增長()。A.1B.4C.sizeof(double)D.sizeof(p)80.假定p指向的字符串為”string”,則cout<<p+3的輸出結果為()。A.stringB.ringC.ingD.i81.假定p指向的字符串為”string”,若要輸出這個字符串的地址值,則使用()。A.cout<<*s;B.cout<<s;C.cout<<&s;D.cout<<(void*)s;82.定義p并使p指向動態空間中的包含30個整數的數組所使用的定義語句為()。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];83.假定p是具有int**類型的指針變量,則給p賦值的對的語句為()。A.p=newint;B.p=newint*;C.p=newint**;D.p=newint[10];84.要使語句“p=newint[10][20];”可以正常執行,p應被事先定義為()。A.int*p;B.int**p;C.int*p[20];D.int(*p)[20];85.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,則對的的語句為()。A.strcpy(book->title,”WangTao”);B.strcpy(book.title,”WangTao”);C.strcpy(*book.title,”WangTao”);D.strcpy((*book)->title,”WangTao”);86.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book;”,則不對的的語句為()。A.BOOK*x=newbook;B.BOOKx={"C++Programming",27.0};C.BOOK*x=newBOOK;D.BOOK*x=book;87.假定有“structBOOK{chartitle[40];floatprice;}book;”,則對的的語句為()。A.BOOK&x=&book;B.BOOK&x=book;C.BOOK&x=newBOOK;D.BOOK&x=BOOK;88.下列對引用的陳述中不對的的是()。A.每一個引用都是其所引用對象的別名,因此必須初始化B.形式上針對引用的操作事實上作用于它所引用的對象C.一旦定義了引用,一切針對其所引用對象的操作只能通過該引用間接進行D.不需要單獨為引用分派存儲空間89.假定變量a和pa定義為“doublea[10],*pa=a;”,要將12.35賦值給a中的下標為5的元素,不對的的語句是()。A.pa[5]=12.35;B.a[5]=12.35;C.*(pa+5)=12.35;D.*(a[0]+5)=12.35;90.假定變量b和pb定義為“intb[10],*pb=b;”,要將24賦值給b[1]元素中,不對的的語句是()。A.*(pb+1)=24;B.*(b+1)=24;C.*++b=24;D.*++pb=24;91.假定指針變量p定義為“int*p=newint(100);”,要釋放p所指向的動態內存,應使用語句()。A.deletep;B.delete*p;C.delete&p;D.delete[]p;92.假定指針變量p定義為“int*p=newint[30];”,要釋放p所指向的動態內存,應使用語句()。A.deletep;B.delete*p;C.delete&p;D.delete[]p;93.假定變量x定義為“intx=5;”,要使rx成為x的引用(別名),rx應定義為()。A.intrx=x;B.intrx=&x;C.int*rx=&x;D.int&rx=x;94.關于消息,下列說法中不對的的是()。A.發送消息的對象請求服務,接受消息的對象提供服務B.消息的發送者必須了解消息的接受者如何相應消息C.在C++中,消息的發送具體體現為對接受消息的對象的某個函數的調用D.每個對象只能接受某些特定格式的消息95.關于封裝,下列說法中不對的的是()。A.通過封裝,對象的所有屬性和操作結合在一起,形成一個整體B.通過封裝,一個對象的實現細節被盡也許地隱藏起來(不可見)C.通過封裝,每個對象都成為相對獨立的實體D.通過封裝,對象的屬性都是不可見的96.面向對象方法的多態性是指()。A.一個類可以派生出多個特殊類B.一個對象在不同的運營環境中可以有不同的變體C.針對一消息,不同的對象可以以適合自身的方式加以響應D.一個對象可以是由多個其他對象組合而成的97.軟件產品在需求發生變化、運營環境發生變化或發現軟件產品自身的錯誤或局限性時進行相應的軟件更新的難易限度叫做軟件的()。A.可維護性B.可復用性C.兼容性D.對的性98.軟件產品可被所有或部分地再用于新的應用的能力叫做軟件的()。A.可維護性B.可復用性C.兼容性D.對的性99.軟件產品與其他軟件產品組合成一個整體的難易限度叫做軟件的()。A.可維護性B.可復用性C.兼容性D.對的性100.軟件產品準確執行軟件需求規格說明書中所規定的任務的能力叫做軟件的()。A.可維護性B.可復用性C.兼容性D.對的性101.面向對象軟件開發中使用的OOA表達()。A.面向對象分析B.面向對象設計C.面向對象語言D.面向對象方法102.面向對象軟件開發中使用的OOD表達()。A.面向對象分析B.面向對象設計C.面向對象語言D.面向對象方法103.關于面向對象系統分析,下列說法中不對的的是()。A.術語“面向對象分析”可以用縮寫OOA表達B.面向對象分析階段對問題域的描述比實現階段更具體C.面向對象分析涉及問題域分析和應用分析兩個環節D.面向對象分析需要辨認對象的內部和外部特性104.在一個類的定義中,包具有()成員的定義。A.數據B.函數C.數據和函數D.數據或函數105.在類作用域中可以通過直接使用該類的()成員名進行訪問。A.私有B.公用C.保護D.任何106.在關鍵字public后面定義的成員為類的()成員。A.私有B.公用C.保護D.任何107.在關鍵字private后面定義的成員為類的()成員。A.私有B.公用C.保護D.任何108.假定AA為一個類,a為該類公有的數據成員,x為該類的一個對象,則訪問x對象中數據成員a的格式為()。A.x(a)B.x[a]C.x->aD.x.a109.假定AA為一個類,a()為該類公有的函數成員,x為該類的一個對象,則訪問x對象中函數成員a()的格式為()。A.x.aB.x.a()C.x->aD.x->a()110.假定AA為一個類,a為該類公有的數據成員,px為指向該類對象的一個指針,則訪問px所指對象中數據成員a的格式為()。A.px(a)B.px[a]C.px->aD.px.a111.假定AA為一個類,a為該類私有的數據成員,GetValue()為該類公有函數成員,它返回a的值,x為該類的一個對象,則訪問x對象中數據成員a的格式為()。A.x.aB.x.a()C.x->GetValue()D.x.GetValue()112.假定AA為一個類,inta()為該類的一個成員函數,若該成員函數在類定義體外定義,則函數頭為()。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()113.假定AA為一個類,a為該類公有的數據成員,若要在該類的一個成員函數中訪問它,則書寫格式為()。A.aB.AA::aC.a()D.AA::a()114.若需要把一個類外定義的成員函數指明為內聯函數,則必須把關鍵字()放在函數原型或函數頭的前面。A.inB.inlineC.inLineD.InLiner115.在多文獻結構的程序中,通常把類的定義單獨存放于()中。A.主文獻B.實現文獻C.庫文獻D.頭文獻116.在多文獻結構的程序中,通常把類中所有非內聯函數的定義單獨存放于()中。A.主文獻B.實現文獻C.庫文獻D.頭文獻117.在多文獻結構的程序中,通常把具有main()函數的文獻稱為()。A.主文獻B.實現文獻C.程序文獻D.頭文獻118.一個C++程序文獻的擴展名為()。A..hB..cC..cppD..cp119.在C++程序中使用的cin標記符是系統類庫中定義的()類中的一個對象。A.istreamB.ostreamC.iostreamD.fstream120.在C++程序中使用的cout標記符是系統類庫中定義的()類中的一個對象。A.istreamB.ostreamC.iostreamD.fstream121.假定AA是一個類,abc是該類的一個成員函數,則參數表中隱含的第一個參數的類型為()。A.intB.charC.AAD.AA*122.假定AA是一個類,abc是該類的一個成員函數,則參數表中隱含的第一個參數為()。A.abcB.*thisC.thisD.this&123.假定AA是一個類,“AA&abc();”是該類中一個成員函數的原型,若該函數存在對*this賦值的語句,當用x.abc()調用該成員函數后,x的值()。A.已經被改變B.也許被改變C.不變D.不受函數調用的影響124.假定AA是一個類,“AA*abc()const;”是該類中一個成員函數的原型,若該函數返回this值,當用x.abc()調用該成員函數后,x的值()。A.已經被改變B.也許被改變C.不變D.受到函數調用的影響125.類中定義的成員默認為()訪問屬性。A.publicB.privateC.protectedD.friend126.結構中定義的成員默認為()訪問屬性。A.publicB.privateC.protectedD.friend127.當類中一個字符指針成員指向具有n個字節的存儲空間時,它所能存儲字符串的最大長度為()。A.nB.n+1C.n-1D.n-2128.在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊尾(即最后一個)元素的位置為()。A.length+1B.first+lengthC.(first+length-1)%MSD.(first+length)%MS129.在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊尾的后一個位置為()。A.length+1B.first+lengthC.(first+length-1)%MSD.(first+length)%MS130.在一個用數組實現的隊列類中,假定數組長度為MS,隊首元素位置為first,隊列長度為length,則隊首的后一個位置為()。A.first+1B.(first+1)%MSC.(first-1)%MSD.(first+length)%MS131.在一個用鏈表實現的隊列類中,假定每個結點包含的值域用elem表達,包含的指針域用next表達,鏈隊的隊首指針用elemHead表達,隊尾指針用elemTail表達,若鏈隊非空,則進行插入時必須把新結點的地址賦給()。A.elemHeadB.elemTailC.elemHead->next和elemHeadD.elemTail->next和elemTail132.在一個用鏈表實現的隊列類中,假定每個結點包含的值域用elem表達,包含的指針域用next表達,鏈隊的隊首指針用elemHead表達,隊尾指針用elemTail表達,若鏈隊為空,則進行插入時必須把新結點的地址賦給()。A.elemHeadB.elemTailC.elemHead和elemTailD.elemHead或elemTail133.隊列具有()的操作特性。A.先進先出B.先進后出C.進出無序D.進出任意134.棧具有()的操作特性。A.先進先出B.先進后出C.進出無序D.進出任意135.對于一個類的構造函數,其函數名與類名()。A.完全相同B.基本相同C.不相同D.無關系136.對于一個類的析構函數,其函數名與類名()。A.完全相同B.完全不同C.只相差一個字符D.無關系137.類的構造函數是在定義該類的一個()時被自動調用執行的。A.成員函數B.數據成員C.對象D.友元函數138.類的析構函數是一個對象被()時自動調用的。A.建立B.撤消C.賦值D.引用139.一個類的構造函數通常被定義為該類的()成員。A.公用B.保護C.私有D.友元140.一個類的析構函數通常被定義為該類的()成員。A.私有B.保護C.公用D.友元141.假定AB為一個類,則執行“ABx;”語句時將自動調用該類的()。A.帶參構造函數B.無參構造函數C.拷貝構造函數D.賦值重載函數142.假定AB為一個類,則執行“ABx(a,5);”語句時將自動調用該類的()。A.帶參構造函數B.無參構造函數C.拷貝構造函數D.賦值重載函數143.假定AB為一個類,則執行“AB*s=newAB(a,5);”語句時得到的一個動態對象為_______。A.sB.s->aC.s.aD.*s144.假定AB為一個類,則執行“ABr1=r2;”語句時將自動調用該類的()。A.無參構造函數B.帶參構造函數C.賦值重載函數D.拷貝構造函數145.若需要使類中的一個指針成員指向一塊動態存儲空間,則通常在()函數中完畢。A.析構B.構造C.任一成員D.友元146.當類中的一個整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時,它最多可以存儲()個整數。A.nB.n+1C.n-1D.1147.假定一個類的構造函數為“A(intaa,intbb){a=aa;b=aa*bb;}”,則執行“Ax(4,5);”語句后,x.a和x.b的值分別為()。A.4和5B.5和4C.4和20D.20和5148.假定一個類的構造函數為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執行“Ax(4);”語句后,x.a和x.b的值分別為()。A.1和0B.1和4C.4和1D.4和0149.假定AB為一個類,則()為該類的拷貝構造函數的原型說明。A.AB(ABx);B.AB(AB&x);C.voidAB(AB&x);D.AB(intx);150.假定一個類的構造函數為“B(intax,intbx):a(ax),b(bx){}”,執行“Bx(1,2),y(3,4);x=y;”語句序列后x.a的值為()。A.1B.2C.3D.4151.假定一個類AB只具有一個整型數據成員a,當用戶不定義任何構造函數時,系統為該類定義的無參構造函數為()。A.AB(){a=0;}B.AB(intaa=0):a(aa){}C.AB(intaa):a(aa){}D.AB(){}152.假定一個類AB只具有一個整型數據成員a,用戶為該類定義的帶參構造函數可認為()。A.AB(){}B.AB():a(0){}C.AB(intaa=0){a=aa;}D.AB(intaa){}153.對于任一個類,用戶所能定義的構造函數的個數至多為()。A.0B.1C.2D.任意個154.對于任一個類,用戶所能定義的析構函數的個數至多為()。A.0B.1C.2D.任意個155.假定AB為一個類,則執行“AB*px=newAB[n];”語句時將()。A.動態分派一個數組B.動態分派一個對象C.靜態分派一個數組D.靜態分派一個對象156.設px是指向一個類對象的指針變量,則執行“deletepx;”語句時,將自動調用該類的()。A.無參構造函數B.帶參構造函數C.析構函數D.拷貝構造函數157.當一個類對象離開它的作用域時,系統自動調用該類的()。A.無參構造函數B.帶參構造函數C.拷貝構造函數D.析構函數158.假定一個類對象數組為A[n],當離開它定義的作用域時,系統自動調用該類析構函數的次數為()。A.0B.1C.nD.n-1159.假定AB為一個類,則執行“ABa[10];”語句時調用該類無參構造函數的次數為()。A.0B.1C.9D.10160.假定AB為一個類,則執行“AB*px=newAB[n];”語句時調用該類無參構造函數的次數為()。A.nB.n-1C.1D.0161.假定AB為一個類,則執行“ABa,b(3),*p;”語句時共調用該類構造函數的次數為()。A.2B.3C.4D.5162.假定AB為一個類,則執行“ABa(2),b[3],*p[4];”語句時共調用該類構造函數的次數為()。A.3B.4C.5D.9163.假定AB為一個類,則執行“ABa,b(2),c[3],*p=&a;”語句時共調用該類無參構造函數的次數為()。A.5B.6C.3D.4164.假定AB為一個類,則執行“AB*p=newAB(1,2);”語句時共調用該類構造函數的次數為()。A.0B.1C.2D.3165.假定AB為一個類,px為指向該類的一個具有n個對象的動態數組的指針,則執行“delete[]px;”語句時共調用該類析構函數的次數為()。A.0B.1C.nD.n+1166.對類對象成員的初始化是通過構造函數中給出的()實現的。A.函數體B.初始化表C.參數表D.初始化表或函數體167.對類中常量成員的初始化是通過構造函數中給出的()實現的。A.函數體B.參數表C.初始化表D.初始化表或函數體168.對類中引用成員的初始化是通過構造函數中給出的()實現的。A.函數體B.參數表C.初始化表D.初始化表或函數體169.類的構造函數可以帶有()個參數。A.0B.1C.2D.任意170.類的析構函數可以帶有()個參數。A.0B.1C.2D.任意171.一個類的靜態數據成員所表達屬性()。A.是類的或對象的屬性B.只是對象的屬性C.只是類的屬性D.類和友元的屬性172.類的靜態成員的訪問控制()。A.只允許被定義為privateB.只允許被定義為private或protectedC.只允許被定義為publicD.可允許被定義為private、protected或public173.靜態成員函數對類的數據成員訪問()。A.是不允許的B.只允許是靜態數據成員C.只允許是非靜態數據成員D.可允許是靜態數據成員或非靜態數據成員174.被非靜態成員函數訪問的類的數據成員()。A.可以是非靜態數據成員或靜態數據成員B.不也許是類的靜態數據成員C.只能是類的非靜態數據成員D.只能是類的靜態數據成員175.靜態數據成員的初始化是在()中進行的。A.構造函數B.任何成員函數C.所屬類D.全局區176.當將一個類A或函數f()說明為另一個類B的友元后,類A或函數f()可以直接訪問類B的()。A.只能是公有成員B.只能是保護成員C.只能是除私有成員之外的任何成員D.具有任何權限的成員177.引入友元的重要目的是為了()。A.增強數據安全性B.提高程序的可靠性C.提高程序的效率和靈活性D.保證類的封裝性178.一個類的成員函數也可以成為另一個類的友元函數,這時的友元說明()。A.需加上類域的限定B.不需加上類域的限定C.類域的限定可加可不加D.不需要任何限定179.一個類的友元不是該類的成員,與該類的關系密切,所以它()。A.有this指針,有默認操作的對象B.沒有this指針,可以有默認操作的對象C.有this指針,不能執行默認操作D.沒有this指針,也就沒有默認操作的對象180.在重載一個運算符時,其參數表中沒有任何參數,這表白該運算符是()。A.作為友元函數重載的1元運算符B.作為成員函數重載的1元運算符C.作為友元函數重載的2元運算符D.作為成員函數重載的2元運算符181.在成員函數中進行雙目運算符重載時,其參數表中應帶有()個參數。A.0B.1C.2D.3182.雙目運算符重載為普通函數時,其參數表中應帶有()個參數。A.0B.1C.2D.3183.假如表達式a+b中的“+”是作為成員函數重載的運算符,若采用運算符函數調用格式,則可表達為()。A.a.operator+(b)B.b.operator+(a)C.operator+(a,b)D.operator(a+b)184.假如表達式a==b中的“==”是作為普通函數重載的運算符,若采用運算符函數調用格式,則可表達為()。A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)185.假如表達式a++中的“++”是作為普通函數重載的運算符,若采用運算符函數調用格式,則可表達為()。A.a.operator++()B.operator++(a)C.operator++(a,1)D.operator++(1,a)186.假如表達式++a中的“++”是作為成員函數重載的運算符,若采用運算符函數調用格式,則可表達為()。A.a.operator++(1)B.operator++(a)C.operator++(a,1)D.a.operator++()187.關于運算符重載,下列說法對的的是()。A.重載時,運算符的優先級可以改變。B.重載時,運算符的結合性可以改變。C.重載時,運算符的功能可以改變。D.重載時,運算符的操作數個數可以改變。188.關于運算符重載,下列說法對的的是()。A.所有的運算符都可以重載。B.通過重載,可以使運算符應用于自定義的數據類型。C.通過重載,可以發明本來沒有的運算符。D.通過重載,可以改變運算符的優先級。189.一個程序中數組a和變量k定義為“inta[5][10],k;”,且程序中包具有語句“a(2,5)=++k*3;”,則此語句中肯定屬于重載操作符的是()。A.()B.=C.++D.*190.假定K是一個類名,并有定義“Kk;intj;”,已知K中重載了操作符(),且語句“j=k(3);”和“k(5)=99;”都能順利執行,說明該操作符函數的原形只也許是()。A.Koperator()(int);B.intoperator()(int&);C.int&operator()(int);D.K&operator()(int);191.假定M是一個類名,且M中重載了操作符=,可以實現M對象間的連續賦值,如“m1=m2=m3;”。重載操作符=的函數原型最佳是()。A.intoperaotor=(M);B.intoperator=(M&);C.Moperator=(M&);D.M&operator=(M);192.下面是重載雙目運算符+的普通函數原形,其中最符合+本來含義的是()。A.Valueoperator+(Value,Value);B.Valueoperator+(Value,int);C.Value&operator+(Value,Value);D.Value&operator+(Value&,Value&);193.下面是重載雙目運算符-的成員函數原形,其中最符合-本來含義的是()。A.ValueValue::operator-(Value);B.ValueValue::operator-(int);C.Value&Value::operator-(Value);D.Value&Value::operator-(Value&);194.在重載一運算符時,若運算符函數的形參表中沒有參數,則不也許的情況是()。A.該運算符是一個單目運算符。B.該運算符函數有一個隱含的參數this。C.該運算符函數是類的成員函數。D.該運算符函數是類的友元函數。195.關于插入運算符<<的重載,下列說法不對的的是()。A.運算符函數的返回值類型是ostream&。B.重載的運算符必須定義為類的成員函數。C.運算符函數的第一個參數的類型是ostream&。D.運算符函數有兩個參數。196.從一個基類派生出的各個類的對象之間()。A.共享所有數據成員,每個對象還包含基類的所有屬性B.共享部分數據成員,每個對象還包含基類的所有屬性C.不共享任何數據成員,但每個對象還包含基類的所有屬性D.共享部分數據成員和函數成員197.假如是類B在類A的基礎上構造,那么,就稱()。A.類A為基類或父類,類B為超類或子類B.類A為基類、父類或超類,類B為派生類或子類C.類A為派生類,類B為基類D.類A為派生類或子類,類B為基類、父類或超類198.C++的繼承性允許派生類繼承基類的()。A.部分特性,并允許增長新的特性或重定義基類的特性B.部分特性,但不允許增長新的特性或重定義基類的特性C.所有特性,并允許增長新的特性或重定義基類的特性D.所有特性,但不允許增長新的特性或重定義基類的特性199.派生類的成員函數可以直接訪問基類的()成員。A.所有B.公有和保護C.保護和私有D.私有200.對于公有繼承,基類的公有和保護成員在派生類中將()成員。A.所有變成公有B.所有變成保護C.所有變成私有D.仍然相應保持為公有和保護201.對于公有繼承,基類中的私有成員在派生類中將()。A.可以直接使用成員名訪問B.可以通過成員運算符訪問C.仍然是基類的私有成員D.變為派生類的私有成員202.當保護繼承時,基類的()在派生類中成為保護成員,在類作用域外不可以通過派生類的對象來直接訪問該成員。A.任何成員B.公有成員和保護成員C.保護成員和私有成員D.私有成員203.在定義一個派生類時,若不使用保存字顯式地規定采用何種繼承方式,則默認為()方式。A.私有繼承B.非私有繼承C.保護繼承D.公有繼承204.建立包具有類對象成員的派生類對象時,自動調用構造函數的執行順序依次為()的構造函數。A.自己所屬類、對象成員所屬類、基類B.對象成員所屬類、基類、自己所屬類C.基類、對象成員所屬類、自己所屬類D.基類、自己所屬類、對象成員所屬類205.當派生類中有和基類同樣名字的成員時,一般來說,()。A.將產生二義性B.派生類的同名成員將覆蓋基類的成員C.是不能允許的D.基類的同名成員將覆蓋派生類的成員206.C++中的虛基類機制可以保證:()。A.限定基類只通過一條途徑派生出派生類B.允許基類通過多條途徑派生出派生類,派生類也就能多次繼承該基類C.當一個類多次間接從基類派生以后,派生類對象能保存多份間接基類的成員D.當一個類多次間接從基類派生以后,其基類只被一次繼承207.下列對派生類的描述中錯誤的說法是:()。A.派生類至少有一個基類B.派
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 魚塘股份合同協議書
- 食堂搭伙合同協議書
- 兄弟倆出資買房協議書
- 酒店優惠預訂協議書
- 分手后房產歸屬協議書
- 鋼筋清包合同協議書
- 餐廳臨時員工協議書
- 集體拆遷補償協議書
- 餐飲員工就餐協議書
- 出租車退車合同協議書
- 浙江省寧波市鎮海中學2025屆高三下學期5月模擬語文試題(含答案)
- 2025年廣東省汕尾市九年級數學中考二模試卷(含部分答案)
- 【滬科版】七年級數學下冊第六章單元測試卷(一)含答案與解析
- 2025年(第一季度)電網工程設備材料信息參考價(加密)
- 廣東省廣州市2025屆高三二模數學試卷(原卷版)
- 濟南幼兒師范高等專科學校招聘筆試真題2024
- 2025全國保密教育線上培訓考試試題庫及答案
- 戒毒醫療常識考試試題及答案
- 院感感染培訓試題及答案
- 生產經營單位事故隱患內部報告獎勵制度
- 2025-2030年中國科技館產業發展模式分析及投資規劃研究報告
評論
0/150
提交評論