23春學(xué)期(高起本:1709-2103、專升本/高起專:1903-2103)《程序設(shè)計(jì)基礎(chǔ)(下)》在線作業(yè)-00002
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.下列關(guān)于對(duì)象數(shù)組的描述中,錯(cuò)誤的是( )。
A.對(duì)象數(shù)組的下標(biāo)是從0開始的
B.對(duì)象數(shù)組的數(shù)組名是一個(gè)常量指針
C.對(duì)象數(shù)組的每個(gè)元素是同一個(gè)類的對(duì)象
D.對(duì)象數(shù)組只能賦初值,而不能在定義后賦值
2.對(duì)于公有派生,它的“繼承方式“是( )。
A.private
B.public
C.protected
D.inaccessible
3.有關(guān)析構(gòu)函數(shù)的說法正確的是( )。
A.析構(gòu)函數(shù)可以有多個(gè)
B.析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參
C.析構(gòu)函數(shù)的功能是用來釋放一個(gè)對(duì)象
D.析構(gòu)函數(shù)的函數(shù)類型為void
4.下列關(guān)于隊(duì)列的敘述中正確的是( )。
A.在隊(duì)列中只能插入數(shù)據(jù)
B.在隊(duì)列中只能刪除數(shù)據(jù)
C.隊(duì)列是先進(jìn)先出的線性表
D.隊(duì)列是先進(jìn)后出的線性表
5.下列對(duì)派生類的描述中,()是錯(cuò)誤的。
A.一個(gè)派生類可以作另一個(gè)派生類的基類
B.派生類至少有一個(gè)基類
C.派生類的成員除了它自己的成員外,包含了它的基類的成員
D.派生類中繼承的基類成員的訪問權(quán)限到派生類保持不變
6.包含類fstream定義的頭文件是( )。
A.fstream
B.ofstream
C.ifstream
D.iostream
7.用于類中虛成員函數(shù)說明的關(guān)鍵字( )。
A.virtual
B.public
C.protected
D.private
8.基類和派生類可以分別叫做( )。
A.“大類”和“小類”
B.“父類”和“子類”
C.“小類”和“大類”
D.“子類”和“父類”
9.友元訪問類對(duì)象的成員時(shí)使用( )。
A.類的成員名
B.“this->成員名”的形式
C.“類名::成員名”的形式
D.“對(duì)象名.成員名”的形式
10.類A是類B的友元,類B是類C的友元,則( )是正確的。
A.類B是類A的友元
B.類C是類A的友元
C.類A是類C的友元
D.以上都不對(duì)
11.關(guān)于類模板,描述錯(cuò)誤的是( )。
A.一個(gè)普通基類不能派生類模板
B.類模板從普通類派生,也可以從類模板派生
C.根據(jù)建立對(duì)象時(shí)的實(shí)際數(shù)據(jù)類型,編譯器把類模板實(shí)例化為模板類
D.函數(shù)的類模板參數(shù)須通過構(gòu)造函數(shù)實(shí)例化
12.友元運(yùn)算符obj1>obj2被C++編譯器解釋為()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
13.假定MyClass為一個(gè)類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為( )。
A.MyClass(MyClass x)
B.MyClass&(MyClass x)
C.MyClass(MyClass &x)
D.MyClass(MyClass *x)
14.下面函數(shù)原型聲明中,( )聲明了fun為純虛函數(shù)。
A.void fun()=0;
B.virtual void fun()=0;
C.virtual void fun();
D.virtual void fun(){};
15.樹中所有結(jié)點(diǎn)的度之和等于所有結(jié)點(diǎn)數(shù)加( )。
A.1
B.0
C.-1
D.2
16.設(shè)無向圖G中的邊集E={(a,b),(a,c),(c,d),(c,e) },則從頂點(diǎn)b出發(fā)可以得到一種廣度優(yōu)先遍歷的頂點(diǎn)序列為( )。
A.baedc
B.bcade
C.decab
D.bacde
17.( )是析構(gòu)函數(shù)的特征。
A.析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)
B.析構(gòu)函數(shù)定義只能在類體內(nèi)
C.析構(gòu)函數(shù)名與類名不同
D.一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)
18.下列虛基類的聲明中正確的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
19.在C++中,能被派生類繼承的函數(shù)是( )。
A.成員函數(shù)
B.構(gòu)造函數(shù)
C.析構(gòu)函數(shù)
D.拷貝構(gòu)造函數(shù)
20.已知X類.則當(dāng)程序執(zhí)行到語句X *array=new X[2];時(shí),調(diào)用了( )次構(gòu)造函數(shù)。
A.0
B.1
C.2
D.3
二、多選題 (共 15 道試題,共 30 分)
21.關(guān)于this指針的說法正確的是( )。
A.this指針必須顯示說明
B.成員函數(shù)不擁有this指針
C.成員函數(shù)擁有this指針
D.靜態(tài)成員函數(shù)不擁有this指針
22.下面關(guān)于自定義類的運(yùn)算符重載的說法中,正確的是( )。
A.可以根據(jù)需要重新定義重載的運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
B.重載運(yùn)算符的操作數(shù)個(gè)數(shù)不能改變
C.運(yùn)算符重載要求至少有一個(gè)運(yùn)算數(shù)是自定義類型
D.運(yùn)算符重載有成員重載和友元重載兩種形式
23.下列關(guān)于類模板的描述中,正確的是( )。
A.類模板中可以有靜態(tài)數(shù)據(jù)成員
B.類模板的靜態(tài)數(shù)據(jù)成員由所有該類模板實(shí)例化的模板類共享
C.類模板的靜態(tài)數(shù)據(jù)成員需要在類體外進(jìn)行定義和初始化
D.類模板中可以用類型形參聲明靜態(tài)數(shù)據(jù)成員
24.下面對(duì)構(gòu)造函數(shù)的錯(cuò)誤描述是( )。
A.系統(tǒng)可以提供默認(rèn)的構(gòu)造函數(shù)
B.構(gòu)造函數(shù)可以有參數(shù),所以可以有返回值
C.構(gòu)造函數(shù)不可以重載
D.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)
25.下面描述中,正確的是( )。
A.可以定義ios類的對(duì)象
B.istream對(duì)象用來實(shí)現(xiàn)輸入操作
C.ios是fstream的直接基類
D.istream是ifstream的直接基類
26.已知Circle類定義如下所示,則下列說法正確的是( )。 class Circle { public: double m_x,m_y; double m_radius; void setCenter(double x,double y) { m_x=x; m_y=y; } void setRadius(double radius) { m_radius=radius; } double getArea( ) { return 3.14 * m_radius * m_radius; } };
A.m_x、m_y和m_radius都是Circle類的成員變量
B.setCenter、setRadius和getArea都是Circle類的成員函數(shù)
C.類定義體后面的分號(hào)可以省略
D.將double m_radius;改為double m_radius=1;,則表示m_radius成員變量的初值為1
27.下面對(duì)對(duì)象成員的正確描述是( )。
A.在一個(gè)類中可以聲明本類的對(duì)象成員
B.對(duì)象成員的聲明方法與普通數(shù)據(jù)成員的聲明方法相同
C.在一個(gè)類中可以聲明本類的指針數(shù)據(jù)成員
D.如果對(duì)象成員的構(gòu)造函數(shù)有參數(shù),則必須在聲明該對(duì)象成員的同時(shí)給其構(gòu)造函數(shù)傳遞參數(shù)值
28.下面哪些結(jié)構(gòu)屬于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
A.線性結(jié)構(gòu)
B.鏈?zhǔn)浇Y(jié)構(gòu)
C.存儲(chǔ)結(jié)構(gòu)
D.索引結(jié)構(gòu)
29.已知Cirle是一個(gè)類,其中有一個(gè)成員函數(shù)public:void setRadius(int r),且有如下變量定義語句Circle c, pC=&c;則下列語句正確的是( )。
A.c::setRadius(3)
B.pC->setRadius(3)
C.pC.setRadius(3)
D.setRadius(3)
30.下列選項(xiàng)中,屬于類型兼容特點(diǎn)的選項(xiàng)包括( )。
A.可以用派生類對(duì)象給基類對(duì)象賦值
B.可以用派生類對(duì)象地址給基類指針賦值
C.可以用基類對(duì)象給派生類對(duì)象賦值
D.可以用基類對(duì)象初始化派生類引用
31.已知Derived是Base的公有派生類,且已定義兩個(gè)對(duì)象Derived d;和Base b;,則下列語句中正確的是( )。
A.d=b;
B.b=d
C.Derived *d=&b;
D.Base &b=d;
32.下列關(guān)于拷貝構(gòu)造函數(shù)的說法中,正確的是( )。
A.拷貝構(gòu)造函數(shù)是一個(gè)特殊的構(gòu)造函數(shù)
B.一個(gè)類中只能有一個(gè)拷貝構(gòu)造函數(shù)
C.如果定義一個(gè)類時(shí)沒有定義拷貝構(gòu)造函數(shù),則系統(tǒng)會(huì)提供一個(gè)默認(rèn)的不包含任何操作的拷貝構(gòu)造函數(shù)
D.當(dāng)一個(gè)類中有指針類型的成員變量時(shí),則需要為這個(gè)類定義拷貝構(gòu)造函數(shù)
33.輸出流類對(duì)象包括( )。
A.cin
B.cerr
C.clog
D.cout
34.下列說法正確的是( )。
A.面向?qū)ο蠓椒ǖ幕居^點(diǎn)是一切系統(tǒng)都是由對(duì)象構(gòu)成的
B.面向?qū)ο蠓椒ǖ幕居^點(diǎn)是一切系統(tǒng)都是由模塊構(gòu)成的
C.面向?qū)ο蠓椒ㄖ型ㄟ^“消息”來觸發(fā)行為
D.面向?qū)ο蠓椒ㄖ杏妙惡蛯?duì)象來表示現(xiàn)實(shí)世界
35.不論派生類以何種方法繼承基類,都可以使用基類的( )。
A.public成員
B.private成員
C.protected成員
D.所有成員
三、判斷題 (共 15 道試題,共 30 分)
36.在保護(hù)派生中,基類權(quán)限為private的成員在派生類中權(quán)限也為private。
37.通過指針或引用可以調(diào)用不同對(duì)象相同名稱的函數(shù),但可導(dǎo)致完全不同的行為的現(xiàn)象稱為二義性。
38.當(dāng)類的繼承方式為公有繼承時(shí),基類的私有成員在派生類中不可訪問。
39.定義模板的關(guān)鍵字是template。
40.樹的根結(jié)點(diǎn)所在的層為第1層,其余結(jié)點(diǎn)的層等于其前驅(qū)結(jié)點(diǎn)的層加1;樹中各結(jié)點(diǎn)的層的最大值稱為樹的深度。
41.線性表中的結(jié)點(diǎn)可以沒有前驅(qū),如果有,最多只能有一個(gè)前驅(qū)。
42.線性表中的每一個(gè)元素都有且僅有一個(gè)前驅(qū)和一個(gè)后繼。
43.線性表只能采用順序存儲(chǔ)結(jié)構(gòu)
44.在線性表的順序存儲(chǔ)結(jié)構(gòu)中,插入和刪除操作時(shí),元素移動(dòng)次數(shù)與插入和刪除元素的位置有關(guān)。
45.類的常量數(shù)據(jù)成員只能在常量成員函數(shù)中使用。
46.廣度優(yōu)先遍歷類似于樹的逐層遍歷。
47.對(duì)象數(shù)組的元素可以是不同類的對(duì)象。
48.二叉樹的逐層遍歷,是指從第1層開始依次對(duì)每層中的結(jié)點(diǎn)按照從左至右的順序進(jìn)行訪問。
49.假定AB為一個(gè)類,有類AB的兩個(gè)對(duì)象a1,a2;則執(zhí)行語句AB *a[10]={&a1,&a2};時(shí)系統(tǒng)自動(dòng)調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為2。
50.由于順序表示非完全二叉樹時(shí)空間利用率較低,因此,二叉樹的順序表示在實(shí)際中應(yīng)用不多。
奧鵬,國(guó)開,廣開,電大在線,各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請(qǐng)咨詢QQ : 3230981406或微信:aopopenfd777

