二級C++分類模擬272_第1頁
二級C++分類模擬272_第2頁
二級C++分類模擬272_第3頁
二級C++分類模擬272_第4頁
二級C++分類模擬272_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、二級C+分類模擬272(總分:72.00 ,做題時間:90分鐘)一、選擇題(總題數(shù):40,分數(shù):72.00)1.關(guān)于純虛函數(shù),下列表述中正確的是。(分數(shù):2.50)A.純虛函數(shù)是沒有給出實現(xiàn)版本(即無函數(shù)體定義)的虛函數(shù)B.純虛函數(shù)的聲明總是以“ 二0;”結(jié)束VC.派生類必須實現(xiàn)基類的純虛函數(shù)D.含有純虛函數(shù)的類不可能是派生類解析:2.下列敘述中正確的是(分數(shù):1.00)A.軟件交付使用后還需要進行維護VB.軟件一旦交付使用就不需要再進行維護C,軟件交付使用后其生命周期就結(jié)束D,軟件維護是指修復程序中被破壞的指令解析:解析軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。維護是軟件生

2、命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段。3 .有如下類定義:Class MyClasspublic: private:int data;)若要為MyClass類重載流輸入運算符,使得程序中可以“ cin obj;形式輸入MyClass 類的對象obj,則橫線處的聲明語句應為。(分數(shù):2.50)A. friend istream& operator (istream& is, MyClas& a);B. friend istream& operator (istream& is, MyClas a) ; VC. istream& operator (istream& is

3、, MyClas& a);D. istream& operator (istream& is, MyClas& a);解析:解析在C+中,C+流輸入運算符“”和輸出運算符“VV”只能重載為非類成 員函數(shù),一般重載為友元函數(shù)。重載C+流輸入運算符“”和輸出運算符“VV”的格式 為:friend istream& operator (istream&, V類名 &);friend ostream& operator (ostream&, V類名);4 .數(shù)據(jù)庫設(shè)計中反映用戶對數(shù)據(jù)要求的模式是。(分數(shù):1.00)A.內(nèi)模式B.概念模式C.外模式VD.設(shè)計模式解析:解析數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、

4、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中 全局數(shù)據(jù)邏 輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用 戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述,所以選擇Co內(nèi)模式又稱物理模式,它給出 了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。5 .C+語言本身沒有定義I/O操作,但I/O操作包含在 C+實現(xiàn)中。C+標準庫iostream提供了基本的I/O類。I/O操作分別由兩個類istream和 提 供。(分數(shù):2.50)A. fstreamB. iostreamC. ostream VD. cin解析:解析本題考查的是C+標準庫iostream提供的基本I/O類。istream提供了向流

5、中插入 數(shù)據(jù)的有關(guān)操作;ostream提供了從流中提取數(shù)據(jù)的有關(guān)操作。6 .有如下程序:#include using namespace std;class Pairint m,n;public;Pair(int j,int k):m(j),n(k)int get()return m;int get() constreturn m+n; );int main() Paira(3,5);corist Pair b(3,5);cout a.get() b.get();return 0; ) 運行時的輸出結(jié)果是。(分數(shù):1.00)A. 33B. 38 VC. 83D. 88解析:解析const函數(shù)只

6、能被const對象調(diào)用,a.get()函數(shù)調(diào)用的返回值是3,而b. get()調(diào) 用的返回值是8o7. 己知類X是類Y的友元,類Y是類Z的友 元,貝IJ O(分數(shù):2.00)A.類X一定是類Z的友元B.類Z一定是類X的友元C.類Z的成員函數(shù)可以訪問類丫的對象的任何成員D.類K的成員函數(shù)可以訪問類Y的對象的任何成員V解析:8.對圖書進行編目時,圖書有如下屬性:ISBN書號,書名,作者,出版社,出版日期。能作為 關(guān)鍵字的是 (分數(shù):2.50)A. ISBN 書號 VB.書名C.作者,出版社D.出版社,出版日期解析:解析在有些應用系統(tǒng)中,常常采用增加如“序號”這類數(shù)據(jù)作為關(guān)鍵字以區(qū)分各條記錄 9.下

7、列結(jié)構(gòu)體類型說明和變量定義中正確的是。(分數(shù):2.50)A. typedef struct;int n;char c;REC;REC t1 ,t2; VB. struct REC;int n;char c;REC t1 ,t2;C. typedef struct REC;int n=0;char c=A;t1 ,t2D. structint n;char c;REC;REC t1 ,t2解析:解析定義結(jié)構(gòu)體類型的一般形式“ struct結(jié)構(gòu)體名成員列表)”,struct結(jié)構(gòu)體名不能 加“;”號。10.若有定義語句“ int i=2J=3;,則表達式i/j的結(jié)果是o (分數(shù):1.00)A. 0

8、VB. 0.7C. 0.66667D. 0.66666667解析:解析整數(shù)相除為整數(shù),所以結(jié)果為0o11 .若已經(jīng)聲明 了 函數(shù)原型 “bool fun(bool a,int b=0); , 則下列重載函數(shù)聲明中正確的是。(分數(shù):1.00)A. bool fun(bool a=true,int b=0);B. int fun(bool a,int B );C. void fun(double a,int B ); VD. void fun(bool a,int b=0);解析:解析本題考查函數(shù)重載相關(guān)知識,重載函數(shù)是函數(shù)的一種特殊情況,為方便使用, C+允許在同 一范圍中聲明幾個功能類似的同名

9、函數(shù),但是這些同名函數(shù)的形式參數(shù)(指參數(shù)的個數(shù)、類型或 者順序)必須不同,也就是說用同一個運算符完成不同的運算功能。A、B、 D選項的部分形參都與原函數(shù)相同,所以不能作為重載函數(shù),選項C正確。12 .下面關(guān)于C+流的敘述中,正確的是(分數(shù):2.00)A. cin是一個輸入流對象VB.可以用計stream定義一個輸出流對象C.執(zhí)行語句序列char *y=PQMN; cout y;將輸出字符串“PQMN”的地址D.執(zhí)行語句序列 char x80;cin.getline(x,80);時,若鍵入Happy new year貝lj x中的字符串是“Happy”解析:解析本題考核C+流的概念和 I/。的格

10、式化。cin是istream類的對象,即輸入流對象。ifstream是輸入文件流類不能定義個輸 出流對象。C選項中執(zhí)行語句序列char *y=PQMN ; cout y;后將輸出 字符串PQMN% getline函數(shù)功能是允許從輸入流中讀取多個字符,并且允許指定輸入終止字符(默認是換行字 符),在讀取完成后,從讀取的內(nèi)容中刪除該終止字符,所以D選項中的語句序列后x中字符 串應該是“Happy new year”。13.下列關(guān)于保護成員的說法中,正確的是(分數(shù):2.00)A.保護的成員只能被類本身的成員函數(shù)及友元類的成員函數(shù)訪問VB.保護成員可以被程序中的任何代碼訪問C.保護的成員與私有成員是完

11、全一樣的D.保護成員訪問權(quán)限和公有成員是一樣的解析:14 .下列模板聲明中,有語法錯誤的是。(分數(shù):1.00)A. template T fun(T x)return x;B. template T fun(T xjnt n)return x*n;C. template T fun(T *p)return *p;D. template T ctassAT n; V解析:解析第四個選項是定義類模板的,但是class前面的T是多余的。對于第二個選項,同 一個類的對象相乘還是同一個類的對象,但是可能要考慮溢出的問題。15 .有如下程序:#include using namespace std;voi

12、d f1 (int& x,int& y)int z=x;x=y;y=z;void f2(int xjnt y)int z=x;x=y;y=z; int main() int x=10,y=26;fi(x,y);f2(x,y);cout V y V endl;return 0; )運行時的輸出結(jié)果是。 (分數(shù):2.50)A. 10 VB. 16C. 26D. 36解析:解析函數(shù)f1的參數(shù)傳遞方式采用傳引用方式,調(diào)用函數(shù)f1后,實參變量x、y的值被交 換。此時,x=26, y=10o函數(shù)f2的參數(shù)傳遞方式采用傳值方式,調(diào)用函數(shù)f2后,不會改變實參 變量x、y的值。故程序輸出y的值為10。16 .對

13、于語句“cout setfill(*) setw(10) 1 setfill(*) setw VV 2;” 的輸出結(jié)果是 一。 (分數(shù):2.50)A * *2 JB. *12 Q *2D 2*解析:解析C+語言中setfill的意思是在空格的地方填上setfill函數(shù)中的參數(shù)字符,setw的意 思是設(shè)置整個輸出字符串的字符個數(shù),本題中用*來代替空格。17.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于。 (分數(shù):1.00)A.需求分析階段B.概念設(shè)計階段C.邏輯設(shè)計階段VD.物理設(shè)計階段解析:解析E-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計出 表,所以屬于邏

14、輯設(shè)計階段。18.Sample是一個類,執(zhí)行下面語句后,調(diào)用Sample類的構(gòu)造函數(shù)的次數(shù)是Sample a2.*p=new Sample; (分數(shù):2.50)A. 0B. 1C. 2D. 3 V解析:19.當需要將一個函數(shù)bool isnumber(charc)聲明為內(nèi)聯(lián)函數(shù)時,此內(nèi)聯(lián)函數(shù)的函數(shù)原型為 (分數(shù):1.00)A. enum bool isnumber(char c):B. define bool isnumbcr(char c):C.inline bool isnumber(char c): VD. extern bool isnumber( char c):解析:解析本題考查內(nèi)

15、聯(lián)函數(shù)的相關(guān)知識點。函數(shù)原型應指出函數(shù)名、返回值類型以及在調(diào)用 函數(shù)時提供的參數(shù)的個數(shù)和類型,因為要聲明為內(nèi)聯(lián)函數(shù),故應加inline關(guān)鍵字。20 .下列關(guān)于類模板的描述中,錯誤的是。(分數(shù):2.00)A.B.C.D.類模板的成員函數(shù)都是模板函數(shù)可以為類模板參數(shù)設(shè)置默認值 類模板描述了一組類類模板中只允許有一個類型參數(shù)V 解析:解析類模板是一系列相關(guān)類的模板,類成員組成相同,成員函數(shù)的源代碼形式相同, 所不同的是所針對的類型。類模板的成員函數(shù)都是模板函數(shù),在用類模板定義對象時,由于沒 有像函數(shù)實參表這樣的額外信息渠道,因此無法按函數(shù)模板的方式省略模板實參。但可以為類 模板的參數(shù)設(shè)置默認值。由此

16、可知 應選Do21 .下列關(guān)于C+函數(shù)的敘述中,正確的是。(分數(shù):2.00)A.B.C.D.函數(shù)不能自己調(diào)用自己每個函數(shù)都必須返回一個值每個函數(shù)至少要有一個參數(shù)函數(shù)在被調(diào)用之前必須先進行聲明或定義V 解析:22 .有以下程序:include using namespace std;class Rpublic:R(int r1,int r2)R1=r1;R2=r2;void print();void print()corist;private:int R1,R2;void R:print()void R:print()coiistint main()R a(5,4);const R b(20,5

17、2);b.print();return 0;執(zhí)行后的輸出結(jié)果是。(分數(shù):1.00)A. 5,4B. 20,52 VC. 0,0D. 4,5解析:解析使用const關(guān)鍵字修飾的對象稱為常對象,題中對象b被聲明為類R的常對象。使用const關(guān)鍵字說明的成員函數(shù)稱為常成員函數(shù),類R中用const重載了函數(shù)print() o在使用常對象和常 成員函數(shù)時應注意的是:const是函數(shù)類型的一個組成部分,因此在常成員函數(shù)部分也要帶 const關(guān)鍵字;常成員函數(shù)不能更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中沒有用const修飾的成 員函數(shù);如果將一個對象說明為常對象,則通過該常對象只能調(diào)用它的常成員函數(shù),不能調(diào)用

18、其他的成員函數(shù);const關(guān)鍵字可以參與區(qū)分重載函數(shù)。23 .已知Value是一個類,Value是Value的一個對象。下列以非成員函數(shù)形式重載的運算符函數(shù) 原形中,正確的是。(分數(shù):2.00)A. Value operator+(Value vjnt i);B. Value operator+(Value v=value,int i); VC. Value operator+(Value vint i=0);D. Value operator+(Value v=valuejnt i=0);解析:解析此題考查的是重載加法運算符 +”。是二元運算符,其第一操作數(shù)是對象 本身,i為第二操作數(shù),由此

19、可知選項B正確。24 .有如下程序:#include using namespace std; class Con tchar ID;public:Con():ID(A)cout 1;Con(char ID):ID(ID)cout 2;Con(Con& c):ID(c.getlD()cout 3;char getlD()constreturn ID;);void show(Con c)cout V c.getlD(); int main()Con c1; show(c1);Con c2(B); show(c2); return 0;)執(zhí)行上面程序的輸出是_。(分數(shù):1.00)A. 13A23A

20、B. 23A13BC. 13A23B VD. 13823A解析:解析Conc1定義c1對象,調(diào)用Con的無參數(shù)構(gòu)造函數(shù),輸出1, ID值變?yōu)锳,執(zhí)行 show(c1)時會調(diào)用復制構(gòu)造函數(shù),將cl對象的值復制給show函數(shù)的形參,此時輸出3,然后在 show()中輸出cl的ID值A(chǔ), Conc2(B”)定義c2對象,調(diào)用Con(char ID)構(gòu)造函數(shù),輸出2, c2的 ID值為B, show(c2)執(zhí)行 時先調(diào)用復制構(gòu)造函數(shù)輸出3,然后輸出Bo因此程序輸出結(jié)果為“ 13A23B” o25 .下列敘述中正確的是。(分數(shù):2.50)A.全局變量的作用域一定比局部變量的作用域范圍大B.靜態(tài)類別變量的

21、生存期貫穿于整個程序的運行期間VC.函數(shù)的形參都屬于全局變量D,未在定義語句中賦初值的auto變量和static變量的初值都是隨機值解析:解析本題考 查的是變量的作用域及其生存周期。一個全局變量的生存周期從它被聲明開始.直到 程序結(jié) 束;一個局部變量的生存周期從它被聲明開始,直到包含它的最近的一個程序塊結(jié)束。靜態(tài)變量 的生存周期將延續(xù)到整個程序的終止。26 .下列關(guān)于類模板的模板參數(shù)的敘述中,錯誤的是。(分數(shù):1.00)A.模板參數(shù)可以作為數(shù)據(jù)成員的類型B.模板參數(shù)可以作為成員函數(shù)的返回類型C,模板參數(shù)可以作為成員函數(shù)的參數(shù)類型D,模板參數(shù)不能作為成員函數(shù)的局部變量的類型V解析:解析本題考查類

22、模板的概 念和定義,模板參數(shù)可以作為成員函數(shù)的局部變量的類型。27 .程序流程圖中帶有箭頭的線段表示的是。(分數(shù):2.50)A.圖兀關(guān)系B.數(shù)據(jù)流c.控制流vD.調(diào)用關(guān)系解析:解析程序流程圖是人們對解決問題的方法、思路或算法的一種描述.通常也稱為程 序框圖。其中,帶箭,頭的線段表示控制流,矩形表示加工步驟,菱形表示邏輯條件。28 .有如下程序段:int i=1 ;intj=4;int main () int j=i,i=8;Cout V V i V Vj V V endl;,運行時的輸出結(jié)果是(分數(shù):2.00)A. 14B. 81 VC. 88D.18 解析:29 .某 二叉樹共有7個結(jié)點,其

23、中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)(分數(shù):1.00)A. 3B. 4C. 6D. 7 V解析:解析根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為。的葉子結(jié)點總比度為2 的結(jié)點多一個,所以本題中度為2的結(jié)點為1-1=0個,所以可以知道本題目中的二叉樹的每一 個結(jié)點都有一個分支,所以共7個結(jié)點共7層,即度為7o30 .下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是。(分數(shù):1.00)A.可封裝VB.自頂向下C.模塊化D.逐步求精解析:解析結(jié)構(gòu)化程序設(shè)計的思想包括:自頂向下、逐步求精、模塊化、限制使用got。語句, 所以選擇Ao31 .下列有關(guān)繼承和派生的敘述中,正確的是。(分數(shù)

24、:3.00)A.如果一個派生類私有繼承其基類,則該派生類對象不能訪問基類的保護成員B.派生類的成員函數(shù)可以訪問基類的所有成員C.基類對象可以賦值給派生類對象D.如果派生類沒有實現(xiàn)基類的一個純虛函數(shù),則該派生類是一個抽象類V解析:解析此題考查的是繼承和派生。無論是哪種繼承方式,派生類都能夠訪問基類的公有 和保護成員,而不能訪問基類的私有成員,故選項A和B錯誤;公有繼承時,基類的對象不可 作為派生類的對象處理,即基類對象不可賦值給派生類對象,所以選項 C錯誤。32 .下列關(guān)于運算符重載的描述中,錯誤的是。(分數(shù):2.00 )A.:運算符不能重載B.類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載C.將運算符作為

25、非成員函數(shù)重載時必須定義為友元VD.重載運算符應完成“下標訪問”操作解析:解析C+把重載的運算符視為特殊的函數(shù),稱為運算符函數(shù)?!斑\算符重載”是針對C+ 中原有運算符進行的,不可能通過重載創(chuàng)造出新的運算符。33 .若MyClass為一個類,執(zhí)行“ MyClass a4p5; ”語句時會自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)是(分數(shù):2.00)A. 2B. 5C. 4 VD. 9解析:解析語句MyClass a4,*p5不僅定義了 4個MyClass對象,分別為a0,a1,a2,a3,而 且 定義了 5個指向MyClass對象的指針變量,分別為*p0,*p1,*p2/p3,*p4,所以共調(diào)用MyClass

26、的構(gòu)造函數(shù)4次。34 .下列語句中,錯誤的是(分數(shù):1.00)A. const int buffer=256;B. const double*point;C. int const buffer=256;D. double*const point; V 解析:解析const是一個C+關(guān)鍵字,用于限定不允許改變的變量。選項B是指向常量的指針,定義 時 可以不初始化;選項D是指針常量,定義時必須初始化。故答案為Do 35.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?。(分?shù):2.00)A.多態(tài)性B.繼承C.封裝性D.模塊化V解析:解析面向?qū)ο笤O(shè)計方法與面向過程設(shè)計方法有本質(zhì)的不同,其基本原理 是使用現(xiàn)實

27、世界的概念抽象地思考問題從而自然地解決問題。其特點包括分類性、多態(tài)性、 封裝性、模塊獨立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計的特點。36.為了提高函數(shù)調(diào)用的實際運行速度,可以將較簡單的函數(shù)定義為 。(分數(shù):2.50)A.內(nèi)聯(lián)函數(shù)VB.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板解析:37 .有如下程序: #include using namespace std;int main ()void function (double val);double val; function (val) ; cout V val;return 0;)void function (double val)val= 3;,編譯運行這個程序?qū)⒊霈F(xiàn)的情況是。(分數(shù):2.00)A.B.C.D.編譯出錯,無法運行輸出:3輸出:3.0輸出一個不確定的數(shù)V解析:38 .關(guān)于在調(diào)用模板函數(shù)時模板實參的使

溫馨提示

  • 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

提交評論