c++期末考試判斷題+填空題_第1頁
c++期末考試判斷題+填空題_第2頁
c++期末考試判斷題+填空題_第3頁
c++期末考試判斷題+填空題_第4頁
c++期末考試判斷題+填空題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第 頁共17頁在C+程序中使用基本輸入與輸出流時需要包含的頭文件名是(iostream)。在C+語言中,惟一的一個三目運算運算符是(?:)。C+中當一個函數(shù)無返回值時,則函數(shù)的類型是(void)。一個類中可以有(多)個構(gòu)造函數(shù),只能有(一)個析構(gòu)函數(shù)。一般情況下,按照面向?qū)ο蟮囊?把類中的數(shù)據(jù)成員(屬性)定義為(私有)權(quán)限,而把成員函數(shù)(方法)定義為(公有)權(quán)限.7在定義類的對象時,C+程序?qū)⒆詣诱{(diào)用該對象的(構(gòu)造)函數(shù)初始化對象自身在撤銷類的對象時,C+程序?qū)⒆詣诱{(diào)用該對象的(折構(gòu))函數(shù).類繼承中,缺省的繼承方式是(私有繼承).在C+語言中,用轉(zhuǎn)義字符序列(n)或操縱符(endl)表示輸

2、出一個換行符。表達式a=a+1表示成增量表達式為(+a)11當不需要函數(shù)返回任何值時,則應把該函數(shù)類型定義為(void)。12、用于輸出表達式值的標準輸出流對象是(cout)。,用于從鍵盤上為變量輸人值的標準輸人流對象是(cin),13、變量分為全局和局部兩種,(全局變量默認初始化為0),變量沒有賦初值時,其值是不確定的,14、假定類AB中有一個公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名訪問該成員bb的寫法為(AB::bb),15、類的成員分為數(shù)據(jù)成員和成員函數(shù)_。16、一個類和對象的關(guān)系,正如基本數(shù)據(jù)類型與該類型的變量一樣,如intx;。17、對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)

3、中的賦值實現(xiàn),也可以通過構(gòu)造函數(shù)中的初始化列表實現(xiàn)。18、類有兩種用法:一種是定義對象即生成類的對象;另一種是通過派生派生出新的類。19、C+語言提供的多態(tài)機制允許一個派生類繼承多個基類,即使這些基類是相互無關(guān)的。20、聲明虛函數(shù)的方法是在基類中的成員函數(shù)原型前加上關(guān)鍵字virtual_。21、如果一個類中有一個或多個純虛函數(shù),則這個類稱為虛基類_。22、靜態(tài)數(shù)據(jù)成員在定義或說明時,前面要加上關(guān)鍵字static。23、如果成員函數(shù)不需要訪問類的非靜態(tài)成員,則可以把它聲明為靜態(tài)成員函數(shù)。24、友元可以是全局函數(shù)也可以是其他類的成員函數(shù)_。25、若需要把一個函數(shù)“voidfun();”定義為一個類

4、A的友元函數(shù),則應在類A的定義中加入一條語句:_friendvoidfun();_。26、運算符函數(shù)中的關(guān)鍵字是_operator,它和運算符_一起組成該運算符函數(shù)的函數(shù)名。27、類中運算符重載一般采用兩種形式:成員函數(shù)和友元函數(shù)_。28、面向?qū)ο蟪绦蛟O計的3大機制為:封裝性_、繼承性和多態(tài)性2、類的訪問權(quán)限有public_、_private_和_protected_三種。29、構(gòu)造函數(shù)是對象被創(chuàng)建時自動執(zhí)行,對象消失時自動執(zhí)行的成員函數(shù)稱為析構(gòu)函數(shù)_。30、如果類A繼承了類B,則類A稱為基類,類B稱為派生類_。31、如果一個特定的類型S當且僅當它提供了類型T的行為時,則稱類型S是類型T的子類

5、型_。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、設a和b是兩個整型變量,我們用a+b的形式求這兩個變量的和;設c和d為浮點型變量,我們用c+d的形式求這兩個變量的和。顯然運算符“+”具有不同的用途,這是運算符重載的例子。37、對于雙目運算符,若重載為類的成員函數(shù),有1個參數(shù);若重載為友元函數(shù),則有_2個參數(shù)。38、當建立_一個新的對象_,程序自動

6、調(diào)用該類的構(gòu)造函數(shù)。39、在C+中有二種參數(shù)傳遞方式:傳值和引用。40、模板對處理數(shù)據(jù)的類型的要求不同可以分為兩種類型:_函數(shù)模板_和_類模板_。41、異常是通過檢查(try)_、拋出(throw)_和_捕捉(catch)_來實現(xiàn)的。42、虛函數(shù)實現(xiàn)了C+的多態(tài)機制,類實現(xiàn)了C+的封裝機制。43、面向?qū)ο蟪绦蛟O計的_繼承_機制提供了重復利用程序資源的一種途徑。44、C+語言程序設計的三種基本結(jié)構(gòu)是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。45、為了避免嵌套的條件語句if-else的二義性,C+語言規(guī)定else與_if_配對使用。46、定義函數(shù)時,在函數(shù)的類型前加上修飾詞_inline_,指明將該函數(shù)定義

7、為內(nèi)聯(lián)函數(shù)。47、有說明語句:*p;則*p+運算首先訪問*p,然后使p的值加1。TOC o 1-5 h z48、執(zhí)行int*p=newint操作,可以得到一個動態(tài)分配整型對象的_指針。49、有說明語句:int*p;則(*卩)+運算首先訪問*p,然后使*p的值加1。50、C+目標程序經(jīng)編譯鏈接后生成擴展名為exe的可執(zhí)行程序文件。5116位計算機中整型占_2個字節(jié)存儲空間。要在屏幕上顯示Hello,world!應執(zhí)行語句coutHello,world!;。表達式8&3的結(jié)果是_0。作為語句的函數(shù)調(diào)用是通過函數(shù)的副作用來體現(xiàn)的。執(zhí)行if(x=0|x=0)coutabcd;elsecoutwxyz;

8、屏幕上顯示的是abcd。設一維整型數(shù)組data已進行了初始化,則其元素個數(shù)可由操作符sizeof通過表達式sizeof(data)/sizeof(int)_計算出來。若一全局變量只允許本程序文件中的函數(shù)使用,則定義它時應加上修飾符_static。設有intw34;pw是與數(shù)組名w等價的數(shù)組指針,則pw應初始化為int*4pw=w;。要使引用pr代表變量char*p;,則pr應初始化為char*&pr=p;。在C+中封裝性、繼承性和多態(tài)性假設inta=1,b=2;則表達式a+-b的值為2。下面的程序?qū)崿F(xiàn)輸出x,y,z三個數(shù)中的最大值,請?zhí)钊胝_的內(nèi)容。#includeiostream.hvoid

9、main()intx=5,y=8,z=9,u,v;if_(xu)_u=x;elseu=y;if_(uv)_v=u;elsev=z;cout”v=”vendl;C+語言的參數(shù)傳遞機制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應該采取_傳地址_方式。在C+語言中,訪問一個對象的成員所用的運算符是,訪問一個指針所指向的對象的成員所用的運算符是_-_。C+語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和運行時的多態(tài)性。設有如下程序結(jié)構(gòu):classBox;voidmain()BoxA,B,C;該程序運行時調(diào)用_3_次構(gòu)造函數(shù);調(diào)用_3_次析構(gòu)函數(shù)。67目前,有兩種重要的程序設計方法,分

10、別是:_面向過程_和_面向?qū)ο骭。68.C+語言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、分支和循環(huán)結(jié)構(gòu)。69函數(shù)的調(diào)用主要分為傳值調(diào)用和_引用調(diào)用調(diào)用。前者的特點是_不能改變傳入變量的值_。函數(shù)重載時要求同名函數(shù)的_參數(shù)個數(shù)_或_參數(shù)類型_不同,否則無法確定是哪個函數(shù)。靜態(tài)數(shù)據(jù)成員是類的所有對象中的共享_成員,而非靜態(tài)數(shù)據(jù)成員是屬于_一個具體_對象的。設A為test類的對象且賦有初值,則語句testB(A);表示將對象A復制給對象B_。面向?qū)ο蟪绦蛟O計方法中的每個對象都具有_屬性_和_方法_兩方面的特征?!邦悺敝傅氖菍ο蟮念愋停砹四骋慌鷮ο蟮墓残院吞卣?。構(gòu)造數(shù)據(jù)類型,包括數(shù)組、_指針

11、_、_結(jié)構(gòu)體和共用體_、_枚舉_和類等。C+中數(shù)據(jù)類型標識符SignedChar,其字節(jié)數(shù)為1,范圍是T28到127。在函數(shù)體內(nèi)部定義的變量稱為_局部變量_。在所有函數(shù)體外部定義的變量稱為_全局變量_。78有一數(shù)學表達式為2/3(f-32),要寫成對應的C+的表達式時,正確地寫法應寫2.0/3.0*(f-32)類的靜態(tài)成員是_的所有對象中共享_的成員,不是_某個對象_的成員,靜態(tài)成員在_類的聲明中_進行引用性說明,在_其文件作用域的其他地方_進行定義性說明。使用傳統(tǒng)的結(jié)構(gòu)化程序設計方法設計程序的步驟是_自頂向下_、_逐步細化_、_模塊化設計_?!胺庋b”指的是_將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個對

12、象中,形成一個基本單位,各個對象之間相互獨立,互不干擾,且將對象中某些部分對外隱藏可以讓新類繼承已定義的類的_數(shù)據(jù)成員_和_成員函數(shù)_,這個新類稱為_繼承_,原來的類稱為基類_。新類可以從一個類中派生,這叫_單繼承_,也可以從多個類中派生,稱為_多重繼承_。指針類型變量用于存儲_另一變量的地址_,在內(nèi)存中它占有一個_存儲單元。類有三種繼承方式,分別是:_公有繼承_、_保護繼承_、_私有繼承_。C+的流庫預定義了4個流,它們是cin、cout、clog和。答案:(P193)cerr解析cin、cout、clog和cerr分別用于標準輸入、輸出、標準錯誤流(緩沖)和標準錯誤流(非緩沖)。每個對象都

13、是所屬類的一個_。答案:實例解析類是對象的抽象,對象是類的一個實例。在已經(jīng)定義了整型指針ip后,為了得到一個包括10個整數(shù)的數(shù)組并由ip所指向,應使用語句_。答案:int*ip=newint10;解析new用來動態(tài)開辟空間。常用來產(chǎn)生動態(tài)數(shù)組及對象構(gòu)造函數(shù)。函數(shù)模板中緊隨template之后尖括號內(nèi)的類型參數(shù)都要冠以保留字。答案:class解析類模板的使用。templateclassT,也可以引入多參數(shù)的如:templateclassT1,classT2,.,classTn定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類的_構(gòu)造函數(shù)對其進行初始化。答案:無參解析使用new創(chuàng)建對象數(shù)組,調(diào)用無參構(gòu)

14、造函數(shù)。表達式coutend1還可表示為。答案:n解析endl與字符常量n等價。在C+中,訪問一個指針所指向的對象的成員所用的指向運算符是。答案:-解析指針使用成員有兩種方法:“-”指向運算符和“.”成員訪問運算符。假如一個類的名稱為MyClass,使用這個類的一個對象初始化該類的另一個對象時,可以調(diào)用_構(gòu)造函數(shù)來完成此功能。答案:復制或拷貝復制或拷貝構(gòu)造函數(shù)就是用對象初始化新的對象。對賦值運算符進行重載時,應聲明為_函數(shù)。答案:(P183)類成員解析運算符重載的方法有友元或者成員函數(shù)兩種途徑,但是賦值運算符只能使用成員函數(shù)的方法來實現(xiàn)。如果要把A類成員函數(shù)f()且返回值為void聲明為類B的

15、友元函數(shù),則應在類B的定義中加入的語句_。答案:(P109)friendvoidA:f();解析成員函數(shù)作為另一個類的友元函數(shù),格式為:friend返回類型類名:函數(shù)(形參)。下列程序段的輸出結(jié)果是_。for(i=0,j=10,k=0;i=j;i+,j-=3,k=i+j);coutk;答案:4解析for循環(huán)結(jié)構(gòu),三個表達式的作用,初始化、循環(huán)判斷條件和循環(huán)變量變化。循環(huán)執(zhí)行了三次,k的作用是計算i、j的和。String類的_方法返回查找到的字符串在主串的位置。答案:(P40)find解析string類對象方法的find,查不到字符串,則返回T。intn=0;while(n=1)n+;while

16、循環(huán)執(zhí)行次數(shù)是。答案:無限次解析=是賦值運算符,不是關(guān)系運算符,且不等0,所以死循環(huán)??刂聘袷捷斎胼敵龅牟僮髦校瘮?shù)_是用來設置填充字符。要求給出函數(shù)名和參數(shù)類型答案:setfill(char)解析格式控制方法的使用,如setw,setfill等等。C+語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和的多態(tài)性。答案:運行時解析多態(tài)性包括靜態(tài)的(編譯時)多態(tài)性和動態(tài)的(運行時)多態(tài)性。設函數(shù)sum是由函數(shù)模板實現(xiàn)的,并且sum(3,6)和sum(4.6,8)都是正確的函數(shù)調(diào)用,則函數(shù)模板具有_個類型參數(shù)。答案:2執(zhí)行下列代碼stringstr(HelloC+);coutstr.substr(5,3);

17、程序的輸出結(jié)果是_。答案:C+解析substr取子字符串,第1個參數(shù)表示要截取子串在字符串中的位置,第2個表示取多少個字符。在面向?qū)ο蟮某绦蛟O計中,將一組對象的共同特性抽象出來形成_。答案:類解析類是相似特征的對象的抽象,對象是類的一個實例。定義類動態(tài)對象數(shù)組時,元素只能靠自動調(diào)用該類的_來進行初始化。答案:無參構(gòu)造函數(shù)解析使用new創(chuàng)建動態(tài)對象數(shù)組,不能有參數(shù),所以只能調(diào)用無參的構(gòu)造函數(shù),初始化對象已知有20個元素int類型向量V1,若用V1初始化為V2向量,語句是。答案:ectorintV2(V1);解析采用向量初始化另一個向量的形式:vectorname1(name);假設inta=1,

18、b=2;則表達式(+a/b)*b的值為。答案:2解析前綴+或一一表示先使變量值變化,再使用,這和后綴恰恰相反。但是編譯cout(+a/b)*b時,先+a/b值為1,后l*b,先取b=2,結(jié)果為2,再讓b=l。抽象類中至少要有一個_函數(shù)。答案:純虛解析至少有一個純虛函數(shù)的類就稱為抽象類,即不能實例化。一個抽象類的派生類可以實例化的必要條件是實現(xiàn)了所有的_。答案:純虛函數(shù)的定義解析抽象類只因有純虛函數(shù),所以不能被實例化,所以派生類要實例化必須對純虛函數(shù)進行定義。下面程序的輸出結(jié)果為_。#includevoidmain()intnum=2,i=6;doi-;num+;while(-i);coutnu

19、mnew數(shù)據(jù)類型;其中,可以是基本數(shù)據(jù)類型,也可以是由基本類型派生出來的類型;取得分配到的內(nèi)存首地址。new有3種使用形式。(1)給單個對象申請分配內(nèi)存int*ip;ip=newint;/ip指向1個未初始化的int型對象給單個對象申請分配內(nèi)存的同時初始化該對象int*ip;ip=newint(68);/ip指向1個表示為68的int型對象同時給多個對象申請分配內(nèi)存int*ip;ip=newint5;/ip指向5個未初始化的int型對象的首地址for(inti=0;i(參數(shù)表)const;常成員函數(shù)不更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中沒有用const修飾的成員函數(shù)。常對象只能調(diào)用它的常成員函

20、數(shù),而不能調(diào)用其他成員函數(shù)。const關(guān)鍵字可以用于參與重載函數(shù)的區(qū)分。在C+程序設計中,建立繼承關(guān)系倒掛的樹應使用繼承。答案:單解析一個基類可以派生多個子類,一個子類可以再派生出多個子類,這樣就形成了一個倒立的樹?;惖墓谐蓡T在派生類中的訪問權(quán)限由_決定。答案:訪問控制方式或繼承方式不同對象可以調(diào)用相同名稱的函數(shù),但執(zhí)行完全不同行為的現(xiàn)象稱為_。答案:多態(tài)性解析多態(tài)性的概念。虛函數(shù)是實現(xiàn)多態(tài)的基礎(chǔ),運行過程中的多態(tài)需要同時滿足3個條件:(1)類之間應滿足子類型關(guān)系。(2)必須要有聲明的虛函數(shù)。(3)調(diào)用虛函數(shù)操作的是指向?qū)ο蟮闹羔樆蛘邔ο笠茫换蛘呤怯沙蓡T函數(shù)調(diào)用虛函數(shù)(如果是在構(gòu)造函數(shù)或

21、析構(gòu)函數(shù)中調(diào)用虛函數(shù),則采用靜態(tài)聯(lián)編)。this指針始終指向調(diào)用成員函數(shù)的。答案:對象this指針是隱藏的指針,它指向調(diào)用函數(shù)的對象。預處理命令以_符號開頭。答案:operater解析文件包含、預處理和編譯都是以開頭。類模板用來表達具有_的模板類對象集。答案:相同處理方法解析模板特點是不同的數(shù)據(jù)具有相同的處理方法的抽象。C+程序的源文件擴展名為。答案:cpp解析源程序*.cpp,目標文件為*.obj,可執(zhí)行程序*.exe。在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是的頭文件。答案:自定義解析#include裝入文件有兩種方式和“”,一是系統(tǒng)的,一是自定義文件。vec

22、tor類中向向量尾部插入一個對象的方法是。答案:push_backC+語言中如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應該采取方式。答案:傳地址或引用解析傳地址即指針,在函數(shù)中通過指針修改它指向的變量的值時,實參也就變化了。使用引用,直接修改變量的別名即引用的值,該變量也就隨著變化。語句序列ifstreaminfile;infile.open(“data.dat”);的功能可用一個語句實現(xiàn),這個語句是_。答案:ifstreaminfile(“data.dat”);解析voidifstream:open(constchar*fname,intmode=ios:in,intaccess=file

23、buf:openprot);ifstream:ifstream(constchar*fname,intmode=ios:in,intaccess=filebuf:openprot);其中,第一個參數(shù)是用來傳遞文件名的;第二個參數(shù)mode的值決定文件將如何被打開;第三個參數(shù)access的值決定文件的訪問方式,一般取缺省值hlebuf:openprot,表示是普通文件。mode的取值如下:(1)ios:in:打開一個文件進行讀操作,而且該文件必須已經(jīng)存在;(2)ios:nocreate:不建立新的文件。當文件不存在時,導致open()失敗;(3)ios:noreplace:不修改原來已經(jīng)存在的文件

24、。若文件已經(jīng)存在,導致open()失??;(4)ios:binary:文件以二進制方式打開,缺省時為文本文件。如果要把類B的成員函數(shù)voidfun()說明為類A的友元函數(shù),則應在類A中加入語句答案:(Plll)friendvoidB:fun();解析聲明成員函數(shù)作為另外一個類的友元函數(shù)時,使用類作用域運算符:。在編譯指令中,宏定義使用_指令。答案:#define解析靜態(tài)成員是所有對象共享的特征,也就是類的特征。單目運算符作為類成員函數(shù)重載時,形參個數(shù)為_個。答案:0解析單目運算符使用成員函數(shù)重載可以不用形參,雙目運算符使用一個參數(shù)。抽象類中至少要有一個_函數(shù)。答案:純虛解析至少有一個純虛函數(shù)的類

25、就稱為抽象類,即不能實例化。設類A有成員函數(shù)voidf(void);若要定義一個指向類成員函數(shù)的指針變量pf來指向f,該指針變量的聲明語句是:_。答案:void(A:*pf)(void)=&A:f;解析void(A:*pf)(void)=&A:f;指向成員函數(shù)的指針,它相當于兩條語句:void(A:*pf)(void);和pf=&A:f;。執(zhí)行下列程序doublea=3.1415926,b=3.14;coutsetprecision(5)a,setprecision(5)bendl;程序的輸出結(jié)果是_。答案:3.1416,3.14解析題目設置精度即有效數(shù)字都是5,a四舍五入是3.1416,b是

26、3.14。vector類中用于刪除向量中的所有對象的方法是_。答案:clear()解析向量的使用。返回向量中對象的方法有:front()back()operator,在向量中刪除對象的方法pop_backeraseclear。重載的運算符保持其原有的_、優(yōu)先級和結(jié)合性不變。答案:操作數(shù)解析運算符重載時要遵循以下規(guī)則:除了類屬關(guān)系運算符“”、成員指針運算符“*”、作用域運算符“:”、sizeof運算符和三目運算符“?:”以外,C+中的所有運算符都可以重載。重載運算符限制在C+語言中已有的運算符范圍內(nèi)的允許重載的運算符之中,不能創(chuàng)建新的運算符。重載之后的運算符不能改變運算符的優(yōu)先級和結(jié)合性,也不能改變運算符操作數(shù)的個數(shù)及語法結(jié)構(gòu)。編譯時的多態(tài)性通過_函數(shù)實現(xiàn)。答案:重載解析編譯多態(tài)性,實現(xiàn)的方法主要通過函數(shù)的重載或運算符的重載?;惖墓谐蓡T在派生類中的訪問權(quán)限由_決定。答案:訪問控制方式或繼承方式假設類X的對象x是類Y的成員對象,則“YObj”語句執(zhí)行時,先調(diào)用類_的構(gòu)造函數(shù)。答案:X解析派生類中的構(gòu)造函數(shù)的執(zhí)行順序,先基類后派生類。下列程序段的輸出結(jié)果是_。c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論