需要答案請加QQ:3230981406 微信:aopopenfd777
可做奧鵬全部院校在線作業(yè)、離線作業(yè)、畢業(yè)論文
21秋學(xué)期(1709、1803、1809、1903、1909、2003、2009、2103、2109)《程序設(shè)計(jì)基礎(chǔ)(下)》在線作業(yè)
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.下面說法中正確的是( )。
A.一個類只能定義一個構(gòu)造函數(shù),但可以定義多個析構(gòu)函數(shù)
B.一個類只能定義一個析構(gòu)函數(shù),但可以定義多個構(gòu)造函數(shù)
C.構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個求反符號(~)
D.構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以
答案:B
2.用于類中虛成員函數(shù)說明的關(guān)鍵字( )。
A.virtual
B.public
C.protected
D.private
答案:A
3.在創(chuàng)建派生類對象時,構(gòu)造函數(shù)的執(zhí)行順序是( )。
A.對象成員構(gòu)造函數(shù)、基類構(gòu)造函數(shù)、派生類本身的構(gòu)造函數(shù)
B.派生類本身的構(gòu)造函數(shù)、基類構(gòu)造函數(shù)、對象成員構(gòu)造函數(shù)
C.基類構(gòu)造函數(shù)、派生類本身的構(gòu)造函數(shù)、對象成員構(gòu)造函數(shù)
D.基類構(gòu)造函數(shù)、對象成員構(gòu)造函數(shù)、派生類本身的構(gòu)造函數(shù)
答案:D
4.若讓元素a,b,c,d依次進(jìn)棧,則出棧次序不可能出現(xiàn)( )的情況。
A.c,b,a,d
B.b,a,d,c
C.d,c,b,a
D.a,d,b,c
答案:D
5.()是一個在基類中說明虛函數(shù),它在該基類中沒有定義,但要求任何派生類中的可訪問性的規(guī)定是相同的。
A.純虛函數(shù)
B.虛析構(gòu)函數(shù)
C.虛構(gòu)造函數(shù)
D.靜態(tài)成員函數(shù)
答案:A
6.包含類fstream定義的頭文件是( )。
A.fstream
B.ofstream
C.ifstream
D.iostream
7.對基類和派生類的描述中錯誤的是( )。
A.派生類是基類的具體化
B.基類繼承了派生類的屬性
C.派生類是基類定義的延續(xù)
D.派生類是基類的特殊化
8.一個順序表第一個元素的存儲地址是100,每個元素的長度為4個字節(jié),則第5個元素的地址是( )。
A.100
B.108
C.116
D.120
9.靜態(tài)成員遵循類的其他成員所遵循的訪問限制,除了( )。
A.靜態(tài)成員函數(shù)
B.靜態(tài)數(shù)據(jù)成員初始化
C.私有靜態(tài)數(shù)據(jù)成員
D.公有靜態(tài)成員函數(shù)
10.已知X類中的一個成員函數(shù)說明如下: void Set(X*a); 其中,X*a的含義是( )。
A.a是指向X類對象的指針,用來作為Set()的形參
B.將X*a的計(jì)算結(jié)果傳遞給Set()函數(shù)
C.a是X類對象的引用,用來做為Set()的形參
D.以上都不對
11.數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為( )。
A.數(shù)據(jù)元素之間的關(guān)系
B.數(shù)據(jù)結(jié)構(gòu)
C.數(shù)據(jù)的存儲結(jié)構(gòu)
D.數(shù)據(jù)的邏輯結(jié)構(gòu)
12.進(jìn)行文件操作時需要包含_ ()頭文件。
A.iostream
B.fstream
C.stdio
D.stdlib
13.下列關(guān)于C++類的描述中錯誤的是( )。
A.類與類之間可以通過一些手段進(jìn)行通信和聯(lián)絡(luò)
B.類用于描述事物的屬性和對事物的操作
C.類與類之間必須是平等的關(guān)系,而不能組成層次關(guān)系
D.類與類之間可以通過封裝而具有明確的獨(dú)立性
14.在下列選項(xiàng)中( )不是ostream類的對象。
A.cin
B.cerr
C.clog
D.cout
15.已知一棵二叉樹的先序遍歷序列為ABCDEFG,中序遍歷序列為CBDAFEG,則該二叉樹的后序遍歷序列是( )。
A.CDBFGEA
B.CDFGBEA
C.CDBAFGE
D.CDBFEGA
16.撤消對象時,系統(tǒng)自動調(diào)用( )函數(shù)。
A.成員函數(shù)
B.構(gòu)造函數(shù)
C.析構(gòu)函數(shù)
D.普通函數(shù)
17.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成( )。
A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)
B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)
D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
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.在一棵度為3的樹中,度為3的結(jié)點(diǎn)個數(shù)為2,度為2 的結(jié)點(diǎn)個數(shù)為1,度為1的結(jié)點(diǎn)數(shù)為0,則度為0的結(jié)點(diǎn)個數(shù)為( )。
A.4
B.5
C.6
D.7
20.一個類的友元函數(shù)能夠訪問該類的( )。
A.私有成員
B.保護(hù)成員
C.公有成員
D.所有成員
二、多選題 (共 15 道試題,共 30 分)
21.已知類Circle中有一個靜態(tài)數(shù)據(jù)成員s_nNum,且有變量定義語句Circle c, *pc;,則下列選項(xiàng)中,能給s_nNum賦值為3的語句包括( )。
A.Circle.s_nNum=3
B.Circle::s_nNum=3
C.s_nNum=3
D.pc->s_nNum=3
22.下列函數(shù)中,不可以作為虛函數(shù)的是()。
A.析構(gòu)函數(shù)
B.成員函數(shù)
C.普通函數(shù)
D.構(gòu)造函數(shù)
23.在派生類中可以直接訪問基類的()。
A.公有成員
B.保護(hù)成員
C.私有成員
D.友元成員
24.下列關(guān)于類的常量成員函數(shù)的說法中,正確的是( )。
A.只有類的成員函數(shù)可以在函數(shù)頭后面加const關(guān)鍵字
B.在常量成員函數(shù)中可以獲取成員變量的值、但不能修改
C.在常量成員函數(shù)中只能訪問常量數(shù)據(jù)成員
D.在類體外定義常量成員函數(shù)時,函數(shù)頭后面的const關(guān)鍵字可以省略
25.下列關(guān)于類的繼承描述中,( )是正確的。
A.派生類可以訪問基類的所有數(shù)據(jù)成員,也能調(diào)用基類的所有成員函數(shù)
B.派生類也是基類,但基類不一定具有派生類的全部屬性和方法
C.繼承描述類的層次關(guān)系,派生類可以具有與基類相同的屬性和方法
D.一個基類可以有多個派生類,一個派生類可以有多個基類
26.下列函數(shù)中,可以作為虛函數(shù)的是()。
A.析構(gòu)函數(shù)
B.成員函數(shù)
C.普通函數(shù)
D.構(gòu)造函數(shù)
27.下列描述中,正確的是( )。
A.創(chuàng)建派生類對象時會先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類構(gòu)造函數(shù)
B.創(chuàng)建派生類對象時會先調(diào)用派生類構(gòu)造函數(shù),再調(diào)用基類構(gòu)造函數(shù)
C.如果基類構(gòu)造函數(shù)有參數(shù),則必須在派生類構(gòu)造函數(shù)的初始化列表中寫上基類構(gòu)造函數(shù)的調(diào)用語句
D.如果派生類構(gòu)造函數(shù)的初始化列表中沒寫基類構(gòu)造函數(shù)的調(diào)用,則表示調(diào)用基類的無參構(gòu)造函數(shù)
28.下面對友元的正確描述是( )。
A.關(guān)鍵字friend用于聲明友元
B.一個類的成員函數(shù)可以是另一個類的友元
C.友元函數(shù)訪問對象的成員不受訪問特性影響
D.友元函數(shù)通過this指針訪問對象成員
29.不能使用類對象直接訪問的成員包括( )。
A.公有成員
B.保護(hù)成員
C.私有成員函數(shù)
D.私有成員變量
30.已知in是ifstream對象,則下列語句正確的是( )。
A.in.seekg(5);
B.in.seekg(5, ios::beg);
C.in.seekg(5, ios::end);
D.in.seekg(-5);
31.不論派生類以何種方法繼承基類,都可以使用基類的( )。
A.public成員
B.private成員
C.protected成員
D.所有成員
32.下列關(guān)于類型兼容的描述中,正確的是( )。
A.將派生類對象地址賦給基類指針后,使用基類指針可以直接訪問派生類中定義的公有成員
B.將派生類對象地址賦給基類指針后,使用基類指針只能訪問派生類從基類繼承的公有成員
C.公有派生才具有類型兼容的特點(diǎn)
D.無論是公有派生還是私有派生和保護(hù)派生,都具有類型兼容的特點(diǎn)
33.下列描述正確的是( )。
A.使用基類指針釋放其所指向的派生類對象時,必須將析構(gòu)函數(shù)聲明為虛函數(shù)
B.為了減少錯誤,在定義類時最好將每個類的析構(gòu)函數(shù)都聲明為虛函數(shù)
C.當(dāng)類里包含一個虛函數(shù)時,應(yīng)把析構(gòu)函數(shù)也聲明為虛函數(shù)
D.類中包含虛函數(shù)會增加對象的尺寸
34.假設(shè)A為抽象類,下列語句( )是正確的。
A.A fun(int);
B.A *p;
C.int fun(A&);
D.A Obj;
35.已知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.類定義體后面的分號可以省略
D.將double m_radius;改為double m_radius=1;,則表示m_radius成員變量的初值為1
三、判斷題 (共 15 道試題,共 30 分)
36.當(dāng)建立一個新對象時,程序不會自動調(diào)用任何函數(shù)。
37.在通信、數(shù)據(jù)壓縮等領(lǐng)域被廣泛應(yīng)用的哈夫曼樹采用的是二叉樹結(jié)構(gòu)。
38.二叉樹是特殊的樹形結(jié)構(gòu)
39.在類體中可以在聲明成員變量的同時為其賦初值。
40.使用關(guān)閉文件函數(shù)close()關(guān)閉一個文件時,但流對象仍存在。
41.在類內(nèi)部定義的public數(shù)據(jù)可以在類外進(jìn)行存取。
42.純虛函數(shù)是一種特殊的成員函數(shù),它是一種沒有具體實(shí)現(xiàn)的虛函數(shù)。
43.類的私有成員只能被它的成員函數(shù)和友元函數(shù)訪問。
44.如果某個有向圖的鄰接鏈表中第i個頂點(diǎn)的鏈表為空,則第i個頂點(diǎn)的出度為零。
45.在線性表的順序存儲結(jié)構(gòu)中,插入和刪除操作時,元素移動次數(shù)與插入和刪除元素的位置有關(guān)。
46.線性表的順序存儲結(jié)構(gòu)的特點(diǎn)是邏輯關(guān)系上相鄰的兩個元素在物理位置上也相鄰。
47.類中的靜態(tài)數(shù)據(jù)成員為該類的所有對象所共享,并且,在該類對象被銷毀時,靜態(tài)數(shù)據(jù)成員不會被同時銷毀。
48.強(qiáng)連通圖的各頂點(diǎn)間均可達(dá)。
49.在線性表的順序存儲結(jié)構(gòu)中,邏輯上相鄰的兩個元素在物理位置上并不一定緊鄰。
50.隊(duì)列是操作受限的線性表,只允許在表的一端進(jìn)行元素插入操作、在另一端進(jìn)行元素刪除操作。

