




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2014年大學(xué)C++期末考試題庫一、單選題:.能作為C++程序的基本單位是(C)。A.字符B.語句C.函數(shù)D.源程序文件.程序中主函數(shù)的名字為(A)。A.mainB.MAINC.MainD.任意標(biāo)識(shí)符.關(guān)于C++與C語言的關(guān)系的描述中,(D)是錯(cuò)誤的。A.C語言是C++的一個(gè)子集; B.C語言與C++是兼容的;C.C++對(duì)C語言進(jìn)行了一些改進(jìn);D.C++和C語言都是面向?qū)ο蟮?可用作C++語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是(B)。A.voiddefine+W0RD B.a3_b3 _123YNC.for-abcCase D.2aDOsizeof.存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是(D)。A.0B.'O'C.“0"D.0.0.設(shè)inta=12;則執(zhí)行完語句a+=a*a;后,a的值是(C)。A.12B.144C.156D.288.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式 的表達(dá)式是(D)。abcA.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c.以下說法中正確的是(B)。C++程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行C++程序總是從main函數(shù)開始執(zhí)行C++函數(shù)必須有返回值,否則不能使用函數(shù)C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中9.下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是(B)?A.構(gòu)造函數(shù)可以帶有返回值B.構(gòu)造函數(shù)的名字與類名完全相同C.構(gòu)造函數(shù)必須帶有參數(shù) D.構(gòu)造函數(shù)必須定義,不能缺省10.10.在聲明類時(shí),下面的說法正確的是().A.可以在類的聲明中給數(shù)據(jù)成員賦初值B.數(shù)據(jù)成員的數(shù)據(jù)類型可以是registerC.private,public,protected可以按任意順序出現(xiàn)D.沒有用private,public,protected定義的數(shù)據(jù)成員是公有成員11.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是(A)?A.一個(gè)類可以有多個(gè)析構(gòu)函數(shù)A.一個(gè)類可以有多個(gè)析構(gòu)函數(shù)C.析構(gòu)函數(shù)不能指定返回類型12.構(gòu)造函數(shù)是在(B)時(shí)被執(zhí)行的。A.程序編譯 B.創(chuàng)建對(duì)象B.析構(gòu)函數(shù)與類名完全相同D.析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)C.創(chuàng)建類D.程序裝入內(nèi)存13.下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是(B)A.在靜態(tài)成員函數(shù)中可以使用this指針B.在建立對(duì)象前,就可以為靜態(tài)數(shù)據(jù)成員賦值C.靜態(tài)成員函數(shù)在類外定義是,要用static前綴
D.靜態(tài)成員函數(shù)只能在類外定義14.下面有關(guān)友員函數(shù)的描述中,真確的說法是(A)A.友員函數(shù)是獨(dú)立于當(dāng)前類的外部函數(shù)B.一個(gè)友員函數(shù)不可以同時(shí)定義為兩個(gè)類的友員函數(shù)C.友員函數(shù)必須在類的外部進(jìn)行定義D.在類的外部定義友員函數(shù)時(shí)必須加上friend關(guān)鍵字.友員的作用之一是(A.友員的作用之一是(A)A.提高程序的運(yùn)行效率C.實(shí)現(xiàn)數(shù)據(jù)的隱蔽性.使用派生類的主要原因是(AA.提高代碼的可重用性C.加強(qiáng)類的封裝性.在C++中繼承方式有幾中(CA.1B.2B.加強(qiáng)類的封裝D.增加成員函數(shù)的種類)B.提高程序的運(yùn)行效率D.實(shí)現(xiàn)數(shù)據(jù)的隱藏)C.3D.4.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是(D)TOC\o"1-5"\h\zclass derived :: student private! // }class derived :: student public{ // }class derived :: publicstudent{ // }class derived :: private student{ // }.派生類的對(duì)象對(duì)它的基類成員中(C)是可以訪問的。A.公有繼承的公有成員; B.公有繼承的私有成員;C.公有繼承的保護(hù)成員; D.私有繼承的公有成員。.類中定義的成員默認(rèn)為(A)訪問屬性。A.publicB.private C.protectedD.friend.下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用(A)合適。A.內(nèi)聯(lián)函數(shù); B.重載函數(shù);C.遞歸調(diào)用;D.嵌套調(diào)用。.C++對(duì)C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A.增加了一些新的運(yùn)算符; B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C.規(guī)定函數(shù)說明必須用原型;D.引進(jìn)了類和對(duì)象的概念;.按照標(biāo)識(shí)符的要求,(A)符號(hào)不能組成標(biāo)識(shí)符。A.連接符 B.下劃線 C.大小寫字母 D.數(shù)字字符.下列變量名中,(A)是合法的。ACHINABbyte-sizeCdoubleDA+a.下列各種函數(shù)中,(C)不是類的成員函數(shù)。A構(gòu)造函數(shù) B析構(gòu)函數(shù) C友元函數(shù) D拷貝構(gòu)造函數(shù).下列(A)是正確的語句。A;Ba=17Cx+yDcout?"\n".不能作為函數(shù)重載判斷的依據(jù)的是(B)A.返回類型B.constC.參數(shù)個(gè)數(shù) D.參數(shù)類型.通常,拷貝構(gòu)造函數(shù)的參數(shù)是(C)A.某個(gè)對(duì)象名 B.某個(gè)對(duì)象的成員名C.某個(gè)對(duì)象的引用名 D.某個(gè)對(duì)象的指針名.下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是(C)A類的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值B類的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員C靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象共享的數(shù)據(jù)D靜態(tài)數(shù)據(jù)成員不能通過類的對(duì)象調(diào)用.假定AB為一個(gè)類,則執(zhí)行ABx;語句時(shí)將自動(dòng)調(diào)用該類的(B)A.有參構(gòu)造函數(shù) B.無參構(gòu)造函數(shù) C.拷貝構(gòu)造函數(shù) D.賦值構(gòu)造函數(shù).C++程序從上機(jī)到得到結(jié)果的幾個(gè)操作步驟依次是(B)oA.編譯、編輯、連接、運(yùn)行B.編輯、編譯、連接、運(yùn)行C.編譯、運(yùn)行、編輯、連接D.編輯、運(yùn)行、編輯、連接32.假定一條定義語句為“inta[10],x,*p=a;",若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的語句為(A)oA.x=p[3];B.x=*(a+3);C.x=a[3];D.x=*p+3;.關(guān)于封裝,下列說法中不正確的是(D).A.通過封裝,對(duì)象的全部屬性和操作結(jié)合在一起,形成一個(gè)整體B.通過封裝,一個(gè)對(duì)象的實(shí)現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)C.通過封裝,每個(gè)對(duì)象都成為相對(duì)?獨(dú)立的實(shí)體D.通過封裝,對(duì)象的屬性都是不可見的.預(yù)處理命令在程序中都是以(B)符號(hào)開頭的。A.*B.#C.&D.?.存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最少的是(B)oA.0B.'O'C."0"D.0.0.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用(D)符號(hào)作為分隔符。A.空格或逗號(hào) B.逗號(hào)或回車 C.逗號(hào)或分號(hào) D.空格或回車.假定變量m定義為“intm=7;",則定義變量p的正確語句為(B)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;38.下面的哪個(gè)保留字不能作為函數(shù)的返回類型?C .A.void B.int C.new D.long.采用重載函數(shù)的目的是(B)?A.實(shí)現(xiàn)共享 B.減少空間 C.提高速度 D.使用方便,提高可讀性.假定AB為一個(gè)類,則(C)為該類的拷貝構(gòu)造函數(shù)的原型說明。A.AB(ABx);B.AB(intx);C.AB(AB&x);D.voidAB(AB&x):41、C++對(duì)C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A、增加了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說明必須用原型:D、引進(jìn)了類和對(duì)象的概念;42、所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個(gè)實(shí)體,這實(shí)體也就是(A)。A.類B.對(duì)象C.函數(shù)體D.數(shù)據(jù)塊43、關(guān)于new運(yùn)算符的下列描述中,(C)是錯(cuò)誤的。A、它可以用來動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組;B、使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除;c、使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù);D、使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值;(D)不是構(gòu)造函數(shù)的特征。A、構(gòu)造函數(shù)的函數(shù)名與類名相同; B、構(gòu)造函數(shù)可以重載;C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類型說明。45、假定一個(gè)類的構(gòu)造函數(shù)為B(intx,inty){a=x—;b=a*y-;},則執(zhí)行Bx(3,5);語句后,x.a和x.b的值分別為(C)A、3和5B、5和3C、3和15D、20和546、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯(cuò)誤的。A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù):B、成員函數(shù)可以重載;C、成員函數(shù)可以設(shè)置缺省參數(shù)值; D、成員函數(shù)可以是靜態(tài)的;47、在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限(B).A、受限制B,保持不變C、受保護(hù)D、不受保護(hù)48、友元的作用是(A)oA、提高程序的運(yùn)用效率; B、加強(qiáng)類的封裝性;C、實(shí)現(xiàn)數(shù)據(jù)的隱藏性; D、增加成員函數(shù)的種類;49、在C++中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中,(B)是正確的。A、不允許設(shè)置缺省參數(shù)值:B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù);C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;D、設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置;50、關(guān)于delete運(yùn)算符的下列描述中,(C)是錯(cuò)誤的。A、它必須用于new返回的指針;B、使用它刪除對(duì)象時(shí)要調(diào)用析構(gòu)函數(shù);C、對(duì)一個(gè)指針可以使用多次該運(yùn)算符;D、指針名前只有一對(duì)方括號(hào)符號(hào),不管所刪除數(shù)組的維數(shù)。51、constint*p說明不能修改(C)?A、p指針; B、p指針指向的變量;C、p指針指向的數(shù)據(jù)類型;D、上述A、B、C三者;52、當(dāng)需要打開A盤上的以xxk.dat文件用于輸入時(shí),則定義文件流對(duì)象的語句為(B)?A、fstrearnfin("A:xxk.dat”,1)B、ifstreamfin("A:xxk.dat",ios::nocreate)C、ofstreamfin("A:xxk.dat") D、ifstreamfin("A:xxk.dat",ios::app)53、派生類的對(duì)象對(duì)它的基類成員中(A)是可以訪問的。A、公有繼承的公有成員; B、公有繼承的私有成員;C、公有繼承的保護(hù)成員; D、私有繼承的公有成員;54、假定一個(gè)字符串的長(zhǎng)度為n,則定義存儲(chǔ)該字符串的字符數(shù)組的長(zhǎng)度至少為(C)oA、n-lB、nC、n+1D、n+255、在inta=3;*p=&a;中,*p的值是(D)。A、變量a的地址值 B、無意義C、變量p的地址值 D、356、下列常量中,(D)不是字符常量。A、'\005' B、'\n'C、'c'D、"a”57、在inta=3,*p=&a;中,*p的值是(D)。A)變量a的地址值 B)無意義 C)變量p的地址值 D)358、以下4個(gè)選項(xiàng)中,不能看作一條語句的是(B)?
A)if(b==O)m=l;n=2;B)a=0,b=0,c=0; C)if(a>0): D){;}59、(D)不是構(gòu)造函數(shù)的特征。A)構(gòu)造函數(shù)的函數(shù)名與類名相同 B)構(gòu)造函數(shù)可以重載C)構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)D)構(gòu)造函數(shù)必須指定類型說明60、以下程序段中與語句k=a>b?1:0;功能等價(jià)的是(DA)if(a>b)k=l; B)if(a>b)k=0C)if(a>b)k=l; D)if(a<b)k=0:elsek=0;elsek=l;61、下列常量中,(D)不是字符常量。A)'\005' B)''n' C)'c' D)"a"62、表示“x大于1而小于10”的邏輯表達(dá)式是(B)?A)Kx<10B)x>l&&x<1063、關(guān)于成員函數(shù)特征的卜列描述中,A)成員函數(shù)一定是內(nèi)聯(lián)函數(shù)C)成員函數(shù)可以設(shè)置缺省參數(shù)值A(chǔ))Kx<10B)x>l&&x<1063、關(guān)于成員函數(shù)特征的卜列描述中,A)成員函數(shù)一定是內(nèi)聯(lián)函數(shù)C)成員函數(shù)可以設(shè)置缺省參數(shù)值64、有以下程序#include<iostream.h>voidmain(){inti,s=0;for(i=l;i<10;i+=2)s+=i;cout?s;}程序執(zhí)行后的輸出結(jié)果是(C)oC)!(x<=l||x>=10)(A)是錯(cuò)誤的。B)成員函數(shù)可以重載D)成員函數(shù)可以是靜態(tài)的D)x>l||x<10A)C)65、自然數(shù)1?9的累加和自然數(shù)1?9中的奇數(shù)之和B)自然數(shù)1?10的累加和D)自然數(shù)1?10中的偶數(shù)之和設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是(D)oA)p=l;B)*q=2; C)q=p; D)*p=5;66、(A)能正確輸出結(jié)果:C++。chars[]=*C++*;cout<<s<<endl;chars[3]="C++”;cout<<s<〈endl;chars[3]={'C'\0'};cout?s?endl;chars[3]={'C';cout?s?endl;67、有以下程序段inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a,b;b=p[5];b中的值是(B)oC)8D)9A)5 B)6C)8D)968、有以下程序#include<iostream.h>voidmain(){char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};cout?p[3]?endl;)執(zhí)行后輸出結(jié)果是BA)dcdbeB)abbdC)abc D)abb69、下列靜態(tài)數(shù)據(jù)成員的特性中,(C)是錯(cuò)誤的。A)說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符staticB)靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化C)靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的D)引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加〈類名〉和作用域運(yùn)算符70、有以下語句structS{intg;charh;}T;則下面敘述中不正確的是(C)。A)S是結(jié)構(gòu)體名 B)該結(jié)構(gòu)體包含2個(gè)成員C)S是struct類型的變量 D)T是structS類型的變量71、派生類的對(duì)象對(duì)它的基類成員中(A)是可以訪問的。A)公有繼承的公有成員B)公有繼承的私有成員C)公有繼承的保護(hù)成員D)私有繼承的公有成員72、實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性用。DA、重載函數(shù)B、構(gòu)造函數(shù)C、析構(gòu)函數(shù)D、虛函數(shù).下列變量名中,(A)是合法的。A.CHINA B.byte-size C.double D.A+a.在intb[][3]={{l},{3,2},{4,5,6},{0}};b[2][2]的值是(D).A.0 B.2 C.5 D.6.下列各運(yùn)算符中,(B)優(yōu)先級(jí)最高。A.+(雙目)B,*(單目)C.<=D.*=.下列for循環(huán)的次數(shù)為(B).for(inti(0),x=0;!x&&i<=5;i++)A.5 B.6C.1 D.無限.下述關(guān)于break語句的描述中,(C)是正確的。break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán)。break語句可用于開關(guān)語句中,它將退出開關(guān)語句。break語句可用于if體內(nèi),它將退出if語句。break語句在一個(gè)循環(huán)體內(nèi)可以出現(xiàn)多次。.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,(D)是錯(cuò)誤的。A.被調(diào)用函數(shù)中可以不用return語句。B.被調(diào)用函數(shù)中可以使用多個(gè)return語句。C.被調(diào)用函數(shù)中,如果有返回值,就一定要有retum語句。D.被調(diào)用函數(shù)中,一個(gè)return語句可返回多個(gè)值給調(diào)用函數(shù)。.在C++中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,(C)是正確的。A.不允許設(shè)置參數(shù)的默認(rèn)值。B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置。C.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的。D.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置。.下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用(A)合適。A.內(nèi)聯(lián)函數(shù)B.A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸調(diào)用D.嵌套調(diào)用.下列的各類函數(shù)中,(C)不是類的成員函數(shù)。A.構(gòu)造函數(shù)A.構(gòu)造函數(shù) B.析構(gòu)函數(shù)C.友元函數(shù) D.拷貝初始化構(gòu)造函數(shù)82.A.C.82.A.C.(D)不是構(gòu)造函數(shù)的特征構(gòu)造函數(shù)的函數(shù)名與類名相同構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)B. 構(gòu)造函數(shù)可以重載D. 構(gòu)造函數(shù)必須指定類型說明.fl(int)是類A的公有成員函數(shù),p是指向成員函數(shù)門()的指針,采用(C)是正確的。A.p=f1 B.p=A::flC.p=A::fl()D.p=f1().下列定義中,(A)是定義指向數(shù)組的指針p。A.int*p[5]B.int(*p)[5]C.(int*)p[5]D.int*p[].循環(huán)while(inti=0)i—;執(zhí)行次數(shù)是(A).A.0 B.1 C.5D.無限.設(shè)intx;,則經(jīng)過(C)后,語句*px=O;可將x值置為0。A. int*px; B. intconst*px=&x;C. int*constpxNx;D. constint*px=&x;.設(shè)voidfl(int*m,long&n);inta;longb;則以下調(diào)用合法的是(B)。A. fl(a,b); B. fl(&a,b);C. fl(a,&b); D. fl(&a,&b).關(guān)于對(duì)象概念的描述中,(A)是錯(cuò)誤的。A.對(duì)象就是C語言中的結(jié)構(gòu)變量;B.對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體;C.對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體;D.對(duì)象之間的信息傳遞是通過消息進(jìn)行的;.在下列double型常量表示中,(A)是錯(cuò)誤的。A.E15;B..35;C.3E5;D.3E-5.下列給字符數(shù)組進(jìn)行初始化中,(A)是正確的。A.charsi[]="12345abcd”; B.chars2[3]="xyz";C.chars3[][3]={,a','x','y'}; D.chars4[2[3]={"xyz","mnp"};.對(duì)于int*pa[5];的描述,(D)是正確的。pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素;pa是一個(gè)指向某個(gè)數(shù)組中第5個(gè)元素的指針,該元素是int型變量;pa[5]表示某個(gè)數(shù)組的第5個(gè)元素的值;pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針;.下列各運(yùn)算符中,(A)優(yōu)先級(jí)最低。A.?:B.|C.|| D.!=.下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為(D)。for(inti(0),j(10);i=j=4;i++,j )A.0; B.1;C.4; D.無限;.下述關(guān)于開關(guān)語句的描述中,(A)是正確的。A.開關(guān)語句中default子句可以沒有,也可以有一個(gè);B.開關(guān)語句中每個(gè)語句序列中必須有break語句;C.開關(guān)語句中default子句只能放在最后;D.開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式。.下列存儲(chǔ)類標(biāo)識(shí)符中,(C)的可見性與存在性不一值。A.外部類;B.自動(dòng)類; C.內(nèi)部靜態(tài)類;D.寄存器類。.下述靜態(tài)數(shù)據(jù)成員的特征中,(D)是錯(cuò)誤的。A.說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static;B.靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;C.引用靜態(tài)數(shù)據(jù)成員時(shí),要在靜態(tài)數(shù)據(jù)成員名前加〈類名〉和作用域運(yùn)算符;D.靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的。.(A)是析構(gòu)函數(shù)的特征。A.一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù); B.析構(gòu)函數(shù)與類名不同;C.析構(gòu)函數(shù)的定義只能在類體內(nèi); D.析構(gòu)函數(shù)可以有各個(gè)或多個(gè)參數(shù)。;98.已知:p是一個(gè)指向類A數(shù)據(jù)成員m的指針,A1是類A的一個(gè)對(duì)象。如果要給m賦值為5,(C)是正確的。A.Al.p=5; B.Al->p=5;C.A.*p=5; D.*Al.p=5;99.關(guān)于new運(yùn)算符的下列描述中,(D)是錯(cuò)的。A.它可以用來動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組;B.使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除;C.使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù);D.使用它創(chuàng)建對(duì)?象數(shù)組時(shí)必須指定初始值。派生類的構(gòu)造函數(shù)的成員初始化列中,不能包含(C).A.基類的構(gòu)造函數(shù);B.派生類中子對(duì)象的初始化;C.基類的子對(duì)象初始化;D.派生類中一般數(shù)據(jù)成員的初始化派生類的對(duì)象對(duì)它的基類成員中(A)是可以訪問的。A.公有繼承的公有成員;B.公有繼承的私有成員;C.公有繼承的保護(hù)成員;D.私有繼承的公有成員。C++類體系中,不能被派生類繼承的有(A)?A.構(gòu)造函數(shù)B.虛函數(shù)C.靜態(tài)成員函數(shù) D.賦值操作函數(shù)下面標(biāo)識(shí)符中正確的是(A),A._abcB.3abC.intD.+ab104,下列哪項(xiàng)(D)不是面向?qū)ο蟪绦蛟O(shè)計(jì)的主要特征?a.封裝b.繼承c.多態(tài) d.結(jié)構(gòu).已知i=5,j=0,下列各式中運(yùn)算結(jié)果為j=6的表達(dá)式是(A)oA.j=i+(++j)B.j=j+i++C.j=++i+jD.j=j+++i.若整型變量a,b、c、d中的值依次為:1、4、3、2.則條件表達(dá)式a<b?a:c<d?c:d的值A(chǔ)A.1 B.2 C.3 D.4.以下不正確的是(C)?A.語句for(i=0;;i++)表示無限循環(huán) B.for(;;)表示無限循環(huán)C.for()也表示無限循環(huán) D.while(1)表示無限循環(huán)108.有如下程序:intx=3;do{X-=2;cout?x;}whiled(—x));執(zhí)行這個(gè)程序的輸出結(jié)果是(C)。A.1B.30C.1-2 D.死循環(huán)109.若有以下定義,則說法錯(cuò)誤的是(D)。inta=100,*p=&a;A.聲明變量p,其中*表示p是一個(gè)指針變量B.變量p經(jīng)初始化,獲得變量a的地址C.變量p只可以指向一個(gè)整形變量D.變量p的值為100110.下面關(guān)于數(shù)組的初始化正確的是(A)ocharstr[]={'a\','b\',\'c'}charstr[2]={\"a\*?\'b\',\'c,}charstr[2][3]={{\'a\'b'},{'e',\'d'},{'e','f\'}}charstr口={\'a\',\'b\',\'c'}111.若已定義:inta[]={0,1,2,3,4,5,6,718,9},*P=a,i;其中0<iW9,則對(duì)a數(shù)組元素不正確的引用是(D)?A.a[p-a] B.*(&a[i]) C.p[i] D.a[10].存在定義inta[10],x,*pa;,若pa=&a[0],下列的哪個(gè)選項(xiàng)和其他3個(gè)選項(xiàng)不是等價(jià)的?(A)oA.x=*pa; B.x=*(a+l); C.x=*(pa+l);D.x=a[l];.對(duì)數(shù)組名作函數(shù)的參數(shù),下面描述正確的是(B)oA.數(shù)組名作函數(shù)的參數(shù),調(diào)用時(shí)將實(shí)參數(shù)組復(fù)制給形參數(shù)組。B.數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲(chǔ)單元。C.數(shù)組名作參數(shù)時(shí),形參定義的數(shù)組長(zhǎng)度不能省略。D.數(shù)組名作參數(shù),不能改變主調(diào)函數(shù)中的數(shù)據(jù)。114.關(guān)于靜態(tài)成員的描述中,(B)是錯(cuò)誤的。A. 靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。靜態(tài)數(shù)據(jù)成員定義后必須在類體內(nèi)進(jìn)行初始化。靜態(tài)數(shù)據(jù)成員初始化不使用其構(gòu)造函數(shù)。靜態(tài)數(shù)據(jù)成員函數(shù)中不能直接引用非靜態(tài)成員。.下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是(D).A.構(gòu)造函數(shù)可以設(shè)置默認(rèn)的參數(shù) B.構(gòu)造函數(shù)在定義類對(duì)象的自動(dòng)執(zhí)行C.構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù) D.構(gòu)造函數(shù)不可以重載.假設(shè)OneClass為一個(gè)類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明語句為(C)。A.OneClass(OneClassp); B.OneClassfe(OneClassp);C.OneClass(OneClass&p); D.OneClass(OneClass*p);117.如果類A被說明成類B的友元,則(D)oA.類A的成員即類B的成員。B.類B的成員即類A的成員。C.類A的成員函數(shù)不得訪問類B的成員。D.類B不一定是類A的友元。118、關(guān)于對(duì)象和類的關(guān)系,說法正確的是(CA)同屬于一類的對(duì)象,具有相同的數(shù)據(jù)成員和成員函數(shù)。B)對(duì)象是具體,是類的對(duì)象,同其他變量一樣,先定義后使用。0同一類的不同對(duì)象,其具有的操作可不同,具體的操作也不同。D)不同類的對(duì)■象,可有相同的操作。119、雙精度浮點(diǎn)型的字節(jié)數(shù)是(D).A)4B)1C)0D)8120、下列關(guān)于C++函數(shù)的說明中正確的是(DA)內(nèi)聯(lián)函數(shù)就是定義在另一函數(shù)體內(nèi)部的函數(shù)。B)函數(shù)體的最后一條語句必須是RETURN語句。0標(biāo)準(zhǔn)C++要求在調(diào)用一個(gè)函數(shù)之前,必須先聲明其原型。D)編譯器會(huì)根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式。121、下列關(guān)于虛函數(shù)的說明中,正確的是(BA)從虛基類繼承的函數(shù)都是虛函數(shù)。B)虛函數(shù)不得是靜態(tài)成員函數(shù)。0只能通過指針和引用調(diào)用虛函數(shù)。D)抽象類中的成員函數(shù)都是虛函數(shù)。122、下列符號(hào)中可以用作C++標(biāo)識(shí)符的是(A)。_radiusB)foo?bar C)elseD)3room123、結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是(C)。A)輸入、處理、輸出 B)樹形、網(wǎng)形、環(huán)形。順序、選擇、循環(huán) D)主程序、子程序、函數(shù)124、下列語句中錯(cuò)誤的是(B)?constintbuffer=256; B)constintinttemp;constdouble*point; D)constdouble*rt=newdouble(5.5)125、下列關(guān)于實(shí)參和形參說法錯(cuò)誤的是(D)?A)實(shí)參可以是變量、常量、或表達(dá)式。B)實(shí)參與形參的類型必須一致,否則會(huì)發(fā)生“類型不匹配”的錯(cuò)誤。C)實(shí)參對(duì)形參的數(shù)據(jù)傳遞是單向傳遞,調(diào)用結(jié)束后,實(shí)參單元被釋放。D)形參必須是變量。126、關(guān)于內(nèi)聯(lián)函數(shù)說法錯(cuò)誤的是(C)oA)不是任何一個(gè)函數(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ù)。127、關(guān)于保護(hù)繼承的說法正確的是(D)?A)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)不變。B)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)改變?yōu)楸Wo(hù)成員。C)基類的公有成員、私有成員可被子類繼承下來,而且性質(zhì)均改變?yōu)樗接谐蓡T。D)基類的公有成員、私有成員可被子類繼承下來,性質(zhì)不變,私有成員不被繼承。128、關(guān)于函數(shù)的返回值說法正確的是(A)?A)由return語句返回時(shí),只帶回一值,其類型在函數(shù)定義時(shí)確定。B)其類型由調(diào)用表達(dá)式?jīng)Q定。C)函數(shù)可以沒有返回值,這時(shí)在函數(shù)定義,函數(shù)的類型說明就沒必要了。D)函數(shù)調(diào)用就要有返回值,否則調(diào)用就沒意義了。129、下列合法的標(biāo)識(shí)符是(DA)abde+B)#KSJFC)67KDJD)DK3-130、關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)方法說法錯(cuò)誤的是(D)。A)在數(shù)據(jù)處理過程中,采用的是自頂向下、分而治之的方法。B)將整個(gè)程序按功能劃分為幾個(gè)可獨(dú)立編程的子過程模塊。C)以“對(duì)象”或“數(shù)據(jù)”為中心。D)數(shù)據(jù)和處理數(shù)據(jù)的過程代碼是分離的、相互獨(dú)立的實(shí)體。131、運(yùn)算符重載是對(duì)已有的運(yùn)算符賦予多重含義,因此(C)oA)可以對(duì)基本類型(如int類型)的數(shù)據(jù),重新定義“+”運(yùn)算符的含義。B)可以改變一個(gè)已有運(yùn)算符的優(yōu)先級(jí)和操作數(shù)個(gè)數(shù)。C)只能重載C++中已經(jīng)有的運(yùn)算符,不能定義新運(yùn)算符。C++中已經(jīng)有的所有運(yùn)算符都可以重載。132、關(guān)于C++程序說法不正確的是(DC++程序由函數(shù)構(gòu)成,但只有一個(gè)main。函數(shù)。C++程序中main。函數(shù)可以在程序的任何位置。0C++程序由main。函數(shù)開始執(zhí)行,由main。結(jié)束執(zhí)行。D)main。都是沒有參數(shù)的。133、已知a=4,b=6,c=8,d=9,貝I]”(a++,b>a++&&c>d)?++d:a<b''的值為(D)?A)9 B)6 C)8D)0134、下面有關(guān)重載函數(shù)的說法中正確的是(C)。A)市:載函數(shù)必須具有不同的返回值類型。B)重載函數(shù)形參個(gè)數(shù)必須不同。0市載函數(shù)必須有不同的形參列表。D)重載函數(shù)名可以不同。135、C++語言的跳轉(zhuǎn)語句中,對(duì)于break和continue說法正確的是(B)?A)break語句只應(yīng)用于循環(huán)體中。B)continue語句只應(yīng)用于循環(huán)體中。C)break是無條件跳轉(zhuǎn)語句,continue不是。D)break和continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問題。136、long[int]的字節(jié)數(shù)是(D).A)4B)1C)0D)8137、下列非法的字符常量是(C)。A) B)'\'C)a'D)'A'二、填空:.C++語言的頭文件與源程序文件擴(kuò)展名分別是(.h )和(.cpp)。.在C++程序中使用基本輸入與輸出流時(shí)需要包含的頭文件名是(iostream)..在C++語言中,惟一的一個(gè)三目運(yùn)算運(yùn)算符是(?:)o.C++中當(dāng)一個(gè)函數(shù)無返回值時(shí),則函數(shù)的類型是(void)..一個(gè)類中可以有(多)個(gè)構(gòu)造函數(shù),只能有(一)個(gè)析構(gòu)函數(shù)。.一般情況下,按照面向?qū)ο蟮囊?把類中的數(shù)據(jù)成員(屬性)定義為(私有)權(quán)限,而把成員函數(shù)(方法)定義為(公有)權(quán)限..在定義類的對(duì)象時(shí),C++程序?qū)⒆詣?dòng)調(diào)用該對(duì)象的(構(gòu)造)函數(shù)初始化對(duì)象自身.在撤銷類的對(duì)象時(shí),C++程序?qū)⒆詣?dòng)調(diào)用該對(duì)象的( 折構(gòu))函數(shù)..類繼承中,缺省的繼承方式是(私有繼承 )..在C++語言中,用轉(zhuǎn)義字符序列('\n')或操縱符(endl)表示輸出一個(gè)換行符。.表達(dá)式a=a+l表示成增量表達(dá)式為(++a )..當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)把該函數(shù)類型定義為(void.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對(duì)象是(cout)。,用于從鍵盤上為變量輸人值的標(biāo)準(zhǔn)輸人流對(duì)象是(cin)。13、變量分為全局和局部?jī)煞N,(全局變量默認(rèn)初始化為0)。變量沒有賦初值時(shí),其值是不確定的。14、假定類AB中有一個(gè)公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對(duì)象名訪問該成員bb的寫法為(AB::bb).15、類的成員分為_數(shù)據(jù)成員_和_成員函數(shù)16、一個(gè)_類_和—對(duì)象—的關(guān)系,正如基本數(shù)據(jù)類型與該類型的變量一樣,如intx;。17、對(duì)一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的—賦值_實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的—初始化列表_實(shí)現(xiàn)。18、類有兩種用法:--種是_定義對(duì)象即生成類的對(duì)象;另一種是通過—派生派生出新的類。19、C++語言提供的—多態(tài)—機(jī)制允許一個(gè)派生類繼承多個(gè)基類,即使這些基類是相互無關(guān)的。20、聲明虛函數(shù)的方法是在基類中的成員函數(shù)原型前加上關(guān)鍵字_virtual_。21、如果一個(gè)類中有一個(gè)或多個(gè)純虛函數(shù),則這個(gè)類稱為_虛基類22、靜態(tài)數(shù)據(jù)成員在定義或說明時(shí),前面要加上關(guān)鍵字_static_。23、如果成員函數(shù)不需要訪問類的—非靜態(tài)—成員,則可以把它聲明為靜態(tài)成員函數(shù)。24、友元可以是—全局函數(shù)也可以是—其他類的成員函數(shù)25、若需要把一個(gè)函數(shù)“voidfun();"定義為一個(gè)類A的友元函數(shù),則應(yīng)在類A的定義中加入一條語句:—friendvoidfun();_。26、運(yùn)算符函數(shù)中的關(guān)鍵字是_operator_,它和—運(yùn)算符——起組成該運(yùn)算符函數(shù)的函數(shù)名。27、類中運(yùn)算符重載一般采用兩種形式:_成員函數(shù)_和_友元函數(shù)_。28、面向?qū)ο蟪绦蛟O(shè)計(jì)的3大機(jī)制為:_封裝性_、_繼承性_和_多態(tài)性2、類的訪問權(quán)限有_pub1ic_、_private_和_protected_三種。29、構(gòu)造函數(shù)是一對(duì)象—被創(chuàng)建時(shí)自動(dòng)執(zhí)行,對(duì)象消失時(shí)自動(dòng)執(zhí)行的成員函數(shù)稱為—析構(gòu)函數(shù)30、如果類A繼承了類B,則類A稱為_基類類B稱為—派生類31、如果一個(gè)特定的類型S當(dāng)且僅當(dāng)它提供了類型T的行為時(shí),則稱類型S是類型T的一子類型32、在類定義中,將_=0—置于虛函數(shù)的函數(shù)原型的末尾可以聲明該函數(shù)為純虛函數(shù)。33、類的靜態(tài)成員分為—靜態(tài)數(shù)據(jù)成員_和_靜態(tài)成員函數(shù)34、友元函數(shù)的聲明可以放在類的—私有一部分,也可以放在類的—共有一部分,它們是沒有區(qū)別的。35、如果說類B是類A的友元類,則類B的所有成員函數(shù)都是類A的一成員函數(shù)36、設(shè)a和b是兩個(gè)整型變量,我們用a+b的形式求這兩個(gè)變量的和;設(shè)c和d為浮點(diǎn)型變量,我們用c+d的形式求這兩個(gè)變量的和。顯然運(yùn)算符“+”具有不同的用途,這是—運(yùn)算符重載—的例子。37、對(duì)于雙目運(yùn)算符,若重載為類的成員函數(shù),有1_個(gè)參數(shù);若重載為友元函數(shù),則有_2個(gè)參數(shù)。38、當(dāng)建立_一個(gè)新的對(duì)象程序自動(dòng)調(diào)用該類的構(gòu)造函數(shù)。39、在C++中有二種參數(shù)傳遞方式:_傳值—和—引用_。40、模板對(duì)處理數(shù)據(jù)的類型的要求不同可以分為兩種類型:一函數(shù)模板—和_類模板41、異常是通過—檢查(try)_、.拋出(throw)_和—捕捉(catch)_來實(shí)現(xiàn)的。42、虛函數(shù)實(shí)現(xiàn)了C++的—多態(tài)—機(jī)制,類實(shí)現(xiàn)了C++的—封裝—機(jī)制。43、面向?qū)ο蟪绦蛟O(shè)計(jì)的—繼承—機(jī)制提供了重復(fù)利用程序資源的一種途徑。44、C++語言程序設(shè)計(jì)的三種基本結(jié)構(gòu)是:一順序結(jié)構(gòu)一、_選擇結(jié)構(gòu).、一循環(huán)結(jié)構(gòu)。45、為了避免嵌套的條件語句if-else的二義性,C++語言規(guī)定else與_if—配對(duì)使用。46、定義函數(shù)時(shí),在函數(shù)的類型前加上修飾詞_inline—,指明將該函數(shù)定義為內(nèi)聯(lián)函數(shù)。47、有說明語句:*p;則*p++運(yùn)算首先訪問*p,然后使_p 的值加1.48、執(zhí)行int*p=newint操作,可以得到一個(gè)動(dòng)態(tài)分配整型對(duì)象的_指針 .49、有說明語句:int*p;則(*p)++運(yùn)算首先訪問*p,然后使_*p的值加1。.C++目標(biāo)程序經(jīng)―編譯鏈接—后生成擴(kuò)展名為exe的可執(zhí)行程序文件。.16位計(jì)算機(jī)中整型占一2個(gè)字節(jié)存儲(chǔ)空間。.要在屏幕上顯示"Hello,world!”應(yīng)執(zhí)行語句cout?"Hello,world!。.表達(dá)式8&3的結(jié)果是—0。.作為語句的函數(shù)調(diào)用是通過—函數(shù)的副作用—來體現(xiàn)的。.執(zhí)行if(x>=0||x<=0)cout<<"abcd";elsecout?"wxyz";屏幕上顯示的是abedo.設(shè)一維整型數(shù)組data已進(jìn)行了初始化,則其元素個(gè)數(shù)可由操作符sizeof通過表達(dá)式sizeof(data)/sizeof(int)計(jì)算出來。.若一全局變量只允許本程序文件中的函數(shù)使用,則定義它時(shí)應(yīng)加上修飾符—static.設(shè)有intw[3][4];,pw是與數(shù)組名w等價(jià)的數(shù)組指針,則pw應(yīng)初始化為int*[4]pw=w;,.要使引用pr代表變量char*p;,則pr應(yīng)初始化為char*&pr=p;。.在C++中封裝性、繼承性和多態(tài)性.假設(shè)inta=l,b=2;則表達(dá)式a+++—b的值為_2 ..下面的程序?qū)崿F(xiàn)輸出x,y,z三個(gè)數(shù)中的最大值,請(qǐng)?zhí)钊胝_的內(nèi)容。ttinclude<iostream.h>voidmain(){intx=5,y=8,z=9,u,v;if_(x)u)_u=x;elseu=y;if_(u)v)_v=u;elsev=z;cout?Mv="<<v?endl;.C++語言的參數(shù)傳遞機(jī)制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時(shí),需要改變實(shí)參或者返回多個(gè)值,應(yīng)該采取_傳地址一方式。.在C++語言中,訪問一個(gè)對(duì)象的成員所用的運(yùn)算符是——,訪問一個(gè)指針?biāo)赶虻膶?duì)象的成員所用的運(yùn)算符是_->_o.C++語言支持的兩種多態(tài)性分別是編譯時(shí)的多態(tài)性和_運(yùn)行時(shí)—的多態(tài)性。.設(shè)有如下程序結(jié)構(gòu):classBox{—};voidmain(){BoxA,B,C;}該程序運(yùn)行時(shí)調(diào)用—3_次構(gòu)造函數(shù):調(diào)用_3—次析構(gòu)函數(shù)。.目前,有兩種重要的程序設(shè)計(jì)方法,分別是:一面向過程和面向?qū)ο骭。.C++語言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、_分支—和循環(huán)結(jié)構(gòu)。.函數(shù)的調(diào)用主要分為傳值調(diào)用和—引用調(diào)用—調(diào)用。前者的特點(diǎn)是不能改變傳入變量的值.函數(shù)重載時(shí)要求同名函數(shù)的參數(shù)個(gè)數(shù)—或參數(shù)類型—不同,否則無法確定是哪個(gè)函數(shù)。.靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象中的—共享—成員,而非靜態(tài)數(shù)據(jù)成員是屬于——個(gè)具體—對(duì)象的。.設(shè)A為test類的對(duì)象且賦有初值,則語句testB(A);表示—將對(duì)象A復(fù)制給對(duì)象B—。.面向?qū)ο蟪绦蛟O(shè)計(jì)方法中的每個(gè)對(duì)象都具有一屬性和一方法一兩方面的特征。.“類”指的是—對(duì)象的類型,代表了某一批對(duì)象的共性和特征 o.構(gòu)造數(shù)據(jù)類型,包括數(shù)組、一指針_、_結(jié)構(gòu)體和共用體、_枚舉一和類等。.C++中數(shù)據(jù)類型標(biāo)識(shí)符SignedChar,其字節(jié)數(shù)為_1_,范圍是_-128至I」127—。.在函數(shù)體內(nèi)部定義的變量稱為局部變量。在所有函數(shù)體外部定義的變量稱為—全局變量.有一數(shù)學(xué)表達(dá)式為2/3(f-32),要寫成對(duì)應(yīng)的C++的表達(dá)式時(shí),正確地寫法應(yīng)寫_2.0/3.0*(f-32).類的靜態(tài)成員是一的所有對(duì)象中共享一的成員,不是一某個(gè)對(duì)象—的成員,靜態(tài)成員在一類的聲明中—進(jìn)行引用性說明,在一其文件作用域的其他地方一進(jìn)行定義性說明。.使用傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)程序的步驟是一自頂向下_、_逐步細(xì)化、模塊化設(shè)計(jì)_。.“封裝”指的是一將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個(gè)對(duì)象中,形成一個(gè)基本單位,各個(gè)對(duì)象之間相互獨(dú)立,互不干擾,且將對(duì)象中某些部分對(duì)外隱藏.可以讓新類繼承已定義的類的.數(shù)據(jù)成員_和_成員函數(shù)一,這個(gè)新類稱為—繼承一,原來的類稱為—基類新類可以從一個(gè)類中派生,這叫_單繼承也可以從多個(gè)類中派生,稱為—多重繼承.指針類型變量用于存儲(chǔ)—另一變量的地址在內(nèi)存中它占有——個(gè)—存儲(chǔ)單元。.類有三種繼承方式,分別是:_公有繼承一、_保護(hù)繼承_、—私有繼承一三、判斷下列描述的正確性:、 C++中標(biāo)識(shí)符內(nèi)的大小寫字母是沒有區(qū)別的。(F), C++是一種以編譯方式實(shí)現(xiàn)的高級(jí)語言。(T)3、在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的。(F)4、在私有繼承中,基類中所有成員對(duì)派生類都是不可見的。(F)5、返回值類型、參數(shù)個(gè)數(shù)和類型都相同的函數(shù)也可以重載。(F)6、使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是私有(private)的。 (T)7、類的私有成員只能被類中的成員函數(shù)訪問,任何類以外的函數(shù)對(duì)它們的訪問都是非法的。(F))8、C++中使用了新的注釋符(〃),C語言中注釋符(/*…*/)不能在C++中使用。 (F)9、While循環(huán)語句的循環(huán)體至少執(zhí)行一次。(F)10、引用就是某個(gè)變量的別名,對(duì)引用的操作,實(shí)質(zhì)上就是對(duì)被引用的變量的操作。(T)TOC\o"1-5"\h\zII、類封裝了數(shù)據(jù)和操作。 (T)12、在類的定義中,必須包含private,public,protected三種存取方式對(duì)應(yīng)的部分。(F)13、類中的數(shù)據(jù)成員不能為指針類型。 (F )14、析構(gòu)函數(shù)可以有形參。 (T )15、派生類至少有一個(gè)基類。 (T )16、在公有和保護(hù)繼承方式下,派生類的時(shí)象可以對(duì)基類的保護(hù)成員進(jìn)行訪問。(T)17、全局函數(shù)和靜態(tài)成員函數(shù)也能聲明為虛函數(shù)。 (F)18、在一個(gè)類的對(duì)象空間里不包含靜態(tài)成員的空間。 (T)19、友元本身就是類的成員。 (T)20、運(yùn)算符重載后,原運(yùn)算符的優(yōu)先級(jí)和結(jié)合特性會(huì)改變。 (F)21、一個(gè)類只能有一個(gè)對(duì)象。 (F)22、在類中不能對(duì)所定義的數(shù)據(jù)成員進(jìn)行初始化。 (T)23、類的公有成員函數(shù)是類與外界的接口。 (T)24、構(gòu)造函數(shù)沒有函數(shù)類型。 (T)25、在派生類的構(gòu)造函數(shù)的初始化表中不能對(duì)包含基類的子對(duì)象初始化。(T)26、在公有和保護(hù)繼承方式下,派生類的成員可以對(duì)基類的保護(hù)成員進(jìn)行訪問。(F)27、只有類的成員函數(shù)才能聲明為虛函數(shù)。 (T)28、在一個(gè)類的對(duì)象空間里已經(jīng)包含了靜態(tài)成員的空間。 (F)29、C++不允許將構(gòu)造函數(shù)、析構(gòu)函數(shù)和虛函數(shù)聲明為友元函數(shù)。(T)30、運(yùn)算符重載后,原運(yùn)算符的優(yōu)先級(jí)和結(jié)合特性不會(huì)改變。(T).C++中使用了新的注釋符(〃),C語言中注釋符(/*…*/)不能在C++中使用。(F).數(shù)組賦初值時(shí),初始值表中的數(shù)據(jù)項(xiàng)的數(shù)目可以大于或等于數(shù)組元素的個(gè)數(shù)。(F)TOC\o"1-5"\h\z.隱含的類型轉(zhuǎn)換都是保值映射,顯式的類型轉(zhuǎn)換都是非保值映射。 (F).宏定義命令是以分號(hào)結(jié)束的。 (F).While循環(huán)語句的循環(huán)體至少執(zhí)行一次。 (F).返回值類型、參數(shù)個(gè)數(shù)和類型都相同的函數(shù)也可以重載。 (F).函數(shù)形參的作用域是該函數(shù)的函數(shù)體。 (T).靜態(tài)類標(biāo)識(shí)符在它的作用域之外是不存在的。 (F).對(duì)象成員的表示與結(jié)構(gòu)變量成員表示相同,使用運(yùn)算符.或->。 (T).某類中的友元類的所有成員函數(shù)可以存取或修改該類中的私有成員。 (T).對(duì)象數(shù)組的元素可以是不同類的對(duì)象。 (T).constchar*p說明了p是指向字符串的常量指針。 (F)43、引用就是某個(gè)變量的別名,對(duì)引用的操作,實(shí)質(zhì)上就是對(duì)被引用的變量的操作。(F)44、無論是私有繼承還是保護(hù)繼承中,基類中所有成員對(duì)派生類對(duì)象都是不可見的。(T)45、當(dāng)break語句用在雙重循環(huán)的內(nèi)循環(huán)中時(shí),它只能退出內(nèi)循環(huán)到外循環(huán)中去,而不能直出整個(gè)雙重循環(huán)。 (T)For循環(huán)是只有可以確定的循環(huán)次數(shù)時(shí)才可使用,否則不能用for循環(huán)。(F)TOC\o"1-5"\h\z47、返回值類型、參數(shù)個(gè)數(shù)和參數(shù)類型都相同的函數(shù)也可以重載。 (F)48、通常的拷貝初始化函數(shù)的參數(shù)是某個(gè)對(duì)象的成員名或?qū)ο蟮囊妹?(T)49、友元函數(shù)是類的成員函數(shù),所以可以存取或修改該類中的私有成員。 (F)50、已知:類A中一個(gè)成員函數(shù)說明如下:voidSet(A&a);其中A&a的含意是將a的地給變量Set。 (F)51、在語句constchar*ptr中,ptr是指向字符串的常量指針。 (F)52、多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生類時(shí)所指定的各基類的順序,而與派生類構(gòu)造函數(shù)中所定義的成員初始化列表的各項(xiàng)順序無關(guān)。(T)53、在說明語句inta(15),&b=a,*p』a;中,b的值的*P的是不相等的。(F)54、已知:inta(5),b(10);表達(dá)式++a+b++有二義性。(F)55、在不同類型操作數(shù)組成的表達(dá)式中,其表達(dá)式的類型一定是最高類型double型。(F )56>break語句也可以用于if體內(nèi),它可退出if語句。(F)57、在一個(gè)被調(diào)用函數(shù)中,一個(gè)return語句可返回多個(gè)值給調(diào)用函數(shù)。(F)58、在傳值調(diào)用中,要求實(shí)參和形參的類型完全一致并且個(gè)數(shù)相等。(F)59、for循環(huán)中,循環(huán)變量的作用域是該循環(huán)的循環(huán)體內(nèi)。(F)60、所謂私有成員是指只有類中所提供的成員函數(shù)才能直接訪問它們,任何類以外的函數(shù)對(duì)它們的訪問都是非法的。(F)61、constchar*p說明了p是指向字符串的常量指針。(F)62、私有繼承中,基類中所有成員對(duì)派生類的對(duì)象都是不可見的。(F)四、指出函數(shù)或程序的功能。template<classType>voidAC(Type&x,Type&y){,Typea=x;x=y;y=a;.交換x和y;intAB(int*a,intn)intx=a[O];for(inti=l;i<n;i++)if(a[i]<x)x=a[i];returnx;)返回?cái)?shù)組a[n]中元素的最小值intAB(int*a,intn){intx=a[0];for(inti=l;i<n;i++)if(a[i]<x)x=a[i];returnx;)3.返回?cái)?shù)組a[n]中元素的最小值floatfact(intn){floatt=l;for(inti=l;i<=n;i++)t*=i;returnt;)#include<iostream.h>voidmain(){floatt;intn=10;cout<<fact(n)?endl;}4,輸出10的階乘五、寫出程序運(yùn)行結(jié)果(每小題3分,共15分)1、#include<iostream.h>inta[]={2,4,6,8,10};int&index(inti){returna[i];}voidmain(){inti;index(3)=12;for(i=0;i<=4;i++)cout?a[i]?*}結(jié)果24612102、ttinclude<iostream.h>voidf(int*m,intn)inttemp;temp=*m;*m=n;n=temp;}voidmain()(inta=5,b=10;f(&a,b);cout?a?""<<b<〈endl;}10103、#include<iostream.h>inti=15;voidmain()(inti;i=100;::i=i+l;cout<<::i?endl;}1014、#include<iostream.h>classtoy(public:toy(intq,intp)(quan=q;price=p;}intget_quan(){returnquan;)intget_price()|returnprice;)private:intquan,price;);main()toyop[3][2]={toy(10,20),toy(30,48),toy(50,68),toy(70,80),toy(90,16),toy(ll,120),);inti;for(i=0;i<3;i++){cout?op[i][0].get_quan()<<",”;cout?op[i][0].get_price()?*\n*;cout?op[i][1].get_quan()?*,*;cout?op[i][1].get_price()<<"\n";}cout?*\n*;return0;)2030,4850,6870,8090,161205、^include<iostream.h>classexample(public:example(intn)(i=n;cout<<>/Constructing\n}'example()(cout<<"Destructing\n”;)intget_i()(returni;}private:inti;intsqr_it(exampleo)(returno.get_i()*o.geti();)main(){examplex(10);cout<<x.geti()<<endl;cout?sqrit(x)?endl;return0;)Constructing10Destructing10010Destructing6、^include<iostream.h>classTest(private:intx;public:Test()(cout<<“構(gòu)造函數(shù)被執(zhí)行"<<endl;x=0;}'Test。{cout<<“析構(gòu)函數(shù)被執(zhí)行”<<endl;voidprint(){cout<<ax=w<<x<<endl;}};voidmain(){Testobjl,obj2;objl.print();obj2.print();)構(gòu)造函數(shù)被執(zhí)行構(gòu)造函數(shù)被執(zhí)行x=0x=0析構(gòu)函數(shù)被執(zhí)行析構(gòu)函數(shù)被執(zhí)行7、#include<iostream.h>classA(public:A(int*s){cout?s<<endl;}};classB:publicA{public:B(char*sl,char*s2):A(sl)(cout?s2?endl;)};classC:publicA(public:C(char*sl,char*s2):A(sl)(cout<<s2<<endl;)};class1):publicB,C(public:D(char*sl,char*s2,char*s3,char*s4):B(sl,s2),C(s3,s4)(cout<<s4<<endl;});voidmain()(Dd("classA”JclassB","classC","classD");}classAclassBclassCclassDclassD8、^include<iostream.h>classBasepublic:virtualvoiddispO{cout?Mbaseclass”<<endl;});classDerivel:publicBase{public:voiddispO{cout<<wderivelclass”<<endl;});classDerive2:publicBase(public:voiddispO{cout<<wderive2class”<<endl;}};voidmain(){Base*p;Baseb;Deriveldl;Derive2d2;p=&b;p->disp();p=&dl;p->disp();p=&d2;p->disp();)baseclassderivelclassderive2class9、#include<iostream.h>classSample(private:intx;staticinty;public:Sample(inta);voidprint();};Sample::Sample(inta)(x=a;y++;}voidSample::print(){cout?wx=w?x?w,y=w?y?endl;)intSample::y=25;voidmain(){Samplesi(5);Samples2(10);print();print();)x=5,y=27x=10,y=2710、^include<iostream.h>classSample{private:intx;public:Sample(){}Sample(inta){x=a;}voiddisp(){cout<<wx=w<<x<<endl;}friendSampleoperator+(Sample&sl,Sample&s2);};Sampleoperator+(Sample&sl,Sample&s2){returnSample(si.x+s2.x);}voidmain()(Sampleobjl(10);Sampleobj2(20);Sampleobj3;obj3=objl+obj2;obj3.disp();}x=3011、^include<iostream.h>classTest{private:intx;public:Test(){cout<<“構(gòu)造函數(shù)被執(zhí)行"?endl;x=0;}voidprint(){cout?"x="?x<<endl;}};voidmain(){Testobjl,obj2;objl.print();obj2.print();)構(gòu)造函數(shù)被執(zhí)行構(gòu)造函數(shù)被執(zhí)行x=0x=012>#include<iostream.h>classA(protected:intx;public:A(intx)(A::x=x;cout?wclassA”<<endl;}};classB{private:Aal;public:B(intx):al(x)cout<<wclassB"?endl;
classC:publicBprivate:Aa2;public:C(intx):B(x),a2(x)cout?MclassC"?endl;};classD:publicCpublic:D(intx):C(x)cout?wclassD"?endl;};voidmain()dobj(10);ABACDABACD13、^include<iostream.h>classPointprivate:intx;inty;public:Point(inta,intb)x=a;y=b;}virtualintarea(){return0;));classRectangle:publicPointprivate:intlength;intwidth;public:Rectangle(inta,intb,int1,intw):Point(a,b)(length=l;width=w;)virtualintarea(){returnlength*width;});voiddisp(Point&p){cout<<“面積是:"<<p.area()〈〈endl;)voidmain()(Rectanglerect(3,5,7,9);Disp(rect);)面積是:6314、^include<iostream.h>classSample(private:intx;staticinty;public:Sample(inta);voidprint(););Sample::Sample(inta){x=a;y=x++;)voidSample::print(){cout<<"x="<<x<<",y="<<y<<endl;}intSample::y=25;voidmain(){Samplesi(5);Samples2(10);print();print();)x=6,y=10x=ll,y=1015、^include<iostream.h>classSample{private:intx;public:Sample(){}Sample(inta)(x=a;)voiddispO{cout<<wx="?x<<endl;}Sampleoperator+(Sample&s););SampleSample::operator+(Sample&s)(returnSample(x+s.x);)voidmain()(Sampleobjl(20);Sampleobj2(20);Sampleobj3;obj3=objl+obj2;obj3.dispO;}x=4016、#include<iostream.h>classA{inta,b;public:A(){a=b=0;}A(intaa,intbb):a(aa),b(bb){cout<<"a="<<a<<","<<"b=w<<b<<endl;)、A(){cout<<"Destructor!w?endl;});voidmain(){Ax,y(2,3);)a=2,b=3Destructor!Destructor!#include<iostream.h>intAD(inta[],intn){intx=l;for(inti=0;i<n;i++)x*=a[i];returnx;)voidmain(){inta[]={2,8,6,5};cout?AD(a,4)?endl;}48018、^include<iostream.h>classR(public:R(intrl,intr2){Rl=rl;R2=r2;}voidprint();voidprint()const;private:intR1,R2;};voidR::print()(cout?Rl?*:*?R2?endl;)voidR::print()const(cout?RKC/?R2?endl;)voidmain()(Ra(5,4);print();constRb(20,52);print();5:420:5219^^include<iostream.h>classA(public:virtualvoidactl();voidact2(){actl();}};voidA::actl()(cout?*A::actl()called.*?endl;}classB:publicA{public:voidactl(););voidB::actl(){cout?*B::actl()called.*?endl;}voidmain()(Bb;b.act2();}#include<iostream.h>voidfun(int,int,int*);voidmain()(intx,y,z;fun(2,3,&x);fun(4,x,&y);fun(x,y,&z);cout?x<<‘,'<<y<<','<<z?endl;}voidfun(inta,intb,int*c){b*=a;*c=b-a;}B::act1()called.20、^include<iostream.h>voidmain()intx=3,y=3;switch(x%2){case1:switch(y){caseO:cout〈<"first\t";case1:cout<<z<second\t,z;break;default:cout?z,hello\t*;}case2:cout<<*third\n,z;})hellothird21、^include<iostream.h>inta[8]={l,2,3,4,5,6,7};voidfun(intb[],intn);voidmain(){intm=8;fun(a,m);cout<<a[7]?endl;}voidfun(intb[],intn){for(int1=0;Kn-l;I++)b[7]+=b[I]:)2822>^include<iostream.h>classAA{public:AA(inti,intj){A=i;B=j;cout<<"Constructor\n〃;}AA(AA&obj){A=obj.A+l;B=obj.B+2;cout<<*Copy_Constructor\n/z;}?AAO{cout<<"Destructor\n”;}voidprint(){cout?〃A="<<A?",B=*?B?endl;}private:intA,B;};voidtnainO{AAal(2,3);AAa2(al);a2.print();AA*pa=newAA(5,6);pa->print();deletepa;)ConstructorCopy_ConstructorA=3,B=5ConstructorA=5,B=6DestructorDestructorDestructor23、#include<iostream.h>voidmain()(inti(0);while(++i)(if(i==10)break;if(i%3!=l)continue;cout<<i?endl;)}14724、#include<iostream.h>inta[8]={1.2,3,4,5,6,7);voidfun(int*pa,intn);voidmain(){intm=8;fun(a,m);cout<<a[7]?endl;}voidfun(int*pa,intn){for(int1=0;I<n-1;I++)*(pa+7)+=*(pa+I);25、#include<iostream.h>voidff(intx),ff(doublex);voidmain(){floata(88.18);ff(a);charb('a');ff(b);)voidff(intx){cout<<*ff(int):*?x<<endl;}voidff(doublex){cout<<*ff(double):*<<x?endl;}ff(double):88.18ff(int):9726、^include<iostream.h>classAA{public:AA(inti,intj){A=i;B=j;cout?zrConstructor\n/z;}AA(AA&obj){A=obj.A+l;B=obj.B+2;cout?^Copy_Constructor\n*;}“AA(){cout?*Destructor\n*;}voidprint(){cout<<"A=B=*?B?endl;}private:intA,B;};voidmain(){AAal(2,3);AAa2(al);a2.print();AA*pa=newAA⑸6);pa->print();deletepa;)ConstructorCopy_ConstructorA=3,B=5ConstructorA=5,B=6DestructorDestructorDestructor27>^include<iostream.h>voidmain(){inta,b,c,d(5);c=2,c+=10;a=b=10;a*=2;b/=2;c%=2;cout?a<<",”<<b<<",”<<c<<endl;)20,5,028、^include<iostream.h>voidmain()(charflag='c;switch(flag){case'a':cout?,zrz<<endl;case'b':cout〈〈“2"〈<endl;break;case'c:cout<<〃3"<<endl;default:cout<<"4"<<endl;break;}}3429、^include<iostream.h>voidmain(){staticintb[][3]={{1,2,3},{4},{5,6}};b[0][2]=12,b[l][2]=18;cout?**b?*\t*?**(b+l)<<"\t"<<**(b+D<〈"\t”<〈*(*(b+l)+2)<<"\n";cout?b[0][2]+b[l][2]+b[2][2]?endl;)1 4 4 183030>^include<iostream.h>voidSwap(int&a,int&b);voidmain()intx(10),y(7);cout<<"x=y=#?y<<endl;Swap(x,y);cout〈〈"x="<<x<<"y="?y<<endl;)voidSwap(int&a,int&b){inttemp;temp=a;a=b; b=temp;}x=10y=7x=7y=1031、#include<iostream.h>classA(public:A();A(inti,intj);"A(){cout?A,Donstructor,\n/z;}voidprint();private:inta,b:);A::A(){a=b=10;cout?,/Defaultconstructor.Xn^;}A::A(inti,intj){a=i,b=j;cout<</"Constructor.\n”;}voidA::print(){cout<<"a=b="<<b?endl;}voidmain()(Am,n(15,18);m.print();n.print();)Defaultconstructor.Constructor.a=10,b=10a=15,b=18Donstructor.Donstructor32、//program1_2.cpp#include<iostream.h>voidmain()inta,b,sum;a=43;〃b=37;sum=a+b;cout?*Thes
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 278-2024 軌道交通.用銑磨機(jī)器人
- 2025年度高新技術(shù)企業(yè)員工離職競(jìng)業(yè)限制補(bǔ)償金合同
- 二零二五年度教育行業(yè)人才招聘定金協(xié)議
- 二零二五年度金融機(jī)構(gòu)間反洗錢合作協(xié)議
- 2025年度金融項(xiàng)目評(píng)審合同風(fēng)險(xiǎn)控制
- 二零二五商場(chǎng)合同管理操作手冊(cè)附小時(shí)計(jì)費(fèi)服務(wù)條款
- 2025年度環(huán)保產(chǎn)業(yè)合作開發(fā)合伙協(xié)議書
- 二零二五年度供用熱力合同糾紛司法解釋及執(zhí)行難點(diǎn)解析
- 二零二五年度超市促銷活動(dòng)商品陳列策劃合同
- 2025沈陽公司總經(jīng)理聘用合同全面規(guī)范管理細(xì)則
- 新時(shí)代核心英語教程寫作1教學(xué)課件(U3)
- 國(guó)際投資法完整版教學(xué)ppt課件全套教程
- 報(bào)價(jià)單報(bào)價(jià)表
- DBJ 15-82-2011 蒸壓加氣混凝土砌塊自承重墻體技術(shù)規(guī)程
- 《民航旅客運(yùn)輸》項(xiàng)目二課件
- 應(yīng)聘人員面試登記表
- 兩擋AMT換擋執(zhí)行機(jī)構(gòu)設(shè)計(jì)及仿真
- (精心整理)事故后果模擬分析
- MBR系統(tǒng)運(yùn)行技術(shù)手冊(cè)
- 中國(guó)河流湖泊
- 學(xué)校中層干部民主測(cè)評(píng)表(一)
評(píng)論
0/150
提交評(píng)論