22秋學期(高起本1709-1803、全層次1809-2103)《程序設計基礎(下)》在線作業(yè)-00002
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.具有n個頂點的有向圖最多有( )條邊。
A.n
B.n(n+1)
C.n(n-1)
D.n的平方
2.一棵完全二叉樹上有1001個結(jié)點,其中葉子結(jié)點的個數(shù)是( )。
A.501
B.500
C.254
D.250
3.假定MyClass為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為( )。
A.MyClass(MyClass x)
B.MyClass&(MyClass x)
C.MyClass(MyClass &x)
D.MyClass(MyClass *x)
4.一個棧的入棧序列是a,b,c,d,e,則棧的不可能的輸出序列是( )。
A.e d c b a
B.d e c b a
C.d c e a b
D.a b c d e
5.下列關(guān)于成員訪問權(quán)限的描述中,不正確的是( )。
A.公有數(shù)據(jù)成員和公有成員函數(shù)都可以通過類對象直接訪問
B.類的私有數(shù)據(jù)成員只能被公有成員函數(shù)以及該類的任何友元類或友元函數(shù)訪問
C.保護成員在派生類中可以被訪問,而私有成員不可以
D.類或派生類的成員函數(shù)可以訪問保護成員
6.在一個鏈接隊列中,假設f和r 分別是隊頭和隊尾指針,則插入一個s結(jié)點的運算時( )。
A.f->next=s; f=s;
B.r->next=s; r=s;
C.s->next=r; r=s;
D.s->next=f; f=s;
7.對虛函數(shù)的調(diào)用()。
A.一定使用動態(tài)聯(lián)編
B.一定使用靜態(tài)聯(lián)編
C.必須使用動態(tài)聯(lián)編
D.不一定使用動態(tài)聯(lián)編
8.用于類中虛成員函數(shù)說明的關(guān)鍵字( )。
A.virtual
B.public
C.protected
D.private
9.要求打開文件 d:\file.dat,可寫入數(shù)據(jù),正確的語句是( )。
A.ifstream infile("d:\file.dat", ios::in);
B.ifstream infile("d:\\file.dat", ios::in);
C.ofstream infile("d:\file.dat", ios::out);
D.fstream infile("d:\\file.dat", ios::in| ios::out);
10.在一個鏈接隊列中,假設f和r 分別是隊頭和隊尾指針,則刪除一個結(jié)點的運算時( )。
A.r=f->next;
B.r=r->next;
C.f=f->next;
D.f=r->next;
11.下列關(guān)于C++類的描述中錯誤的是( )。
A.類與類之間可以通過一些手段進行通信和聯(lián)絡
B.類用于描述事物的屬性和對事物的操作
C.類與類之間必須是平等的關(guān)系,而不能組成層次關(guān)系
D.類與類之間可以通過封裝而具有明確的獨立性
12.將含100個結(jié)點的完全二叉樹從根這一層開始,每層從左至右依次對結(jié)點編號,根結(jié)點的編號為1。編號為47的結(jié)點X的雙親的編號為( )。
A.23
B.24
C.25
D.無法確定
13.在二叉樹中,若度為0的結(jié)點(即葉子結(jié)點)數(shù)為n0,度為2的結(jié)點數(shù)為n2,則( )。
A.n2-1
B.n2
C.n2+1
D.n2+2
14.關(guān)于this指針的說法錯誤的是( )。
A.this指針必須顯示說明
B.當創(chuàng)建一個對象后,this指針就指向該對象
C.成員函數(shù)擁有this指針
D.靜態(tài)成員函數(shù)不擁有this指針
15.( )是析構(gòu)函數(shù)的特征。
A.析構(gòu)函數(shù)可以有一個或多個參數(shù)
B.析構(gòu)函數(shù)定義只能在類體內(nèi)
C.析構(gòu)函數(shù)名與類名不同
D.一個類中只能定義一個析構(gòu)函數(shù)
16.下列說法中錯誤的是( )。
A.公有繼承時基類中的public成員在派生類中是public的
B.公有繼承時基類中的private成員在派生類中是不可訪問的
C.私有繼承時基類中的public成員在派生類中是private的
D.私有繼承時基類中的public成員在派生類中是protected的
17.( )只能訪問靜態(tài)成員變量,不能訪問非靜態(tài)成員變量。
A.靜態(tài)函數(shù)
B.虛函數(shù)
C.構(gòu)造函數(shù)
D.析構(gòu)函數(shù)
18.關(guān)于對象成員的構(gòu)造函數(shù)的調(diào)用順序,說法正確的是( )。
A.與它們在成員初始化列表中給出的順序相同
B.與析構(gòu)函數(shù)的調(diào)用順序相同
C.與它們在類中說明順序相同
D.以上說法都不對
19.下面( )的敘述不符合賦值兼容規(guī)則。
A.派生類的對象可以賦值給基類的對象
B.基類的對象可以賦值給派生類的對象
C.派生類的對象可以初始化基類的對象
D.派生類的對象的地址可以賦值給指向基類的指針
20.下列描述中,()是抽象類的特性。
A.可以說明虛函數(shù)
B.可以定義友元函數(shù)
C.可以進行構(gòu)造函數(shù)重載
D.不能說明其對象
二、多選題 (共 15 道試題,共 30 分)
21.下列描述正確的是( )。
A.多態(tài)性是通過動態(tài)綁定實現(xiàn)的
B.多態(tài)性是通過靜態(tài)綁定實現(xiàn)的
C.動態(tài)綁定是在程序執(zhí)行時進行綁定
D.靜態(tài)綁定是在程序執(zhí)行時進行綁定
22.下面對構(gòu)造函數(shù)的錯誤描述是( )。
A.系統(tǒng)可以提供默認的構(gòu)造函數(shù)
B.構(gòu)造函數(shù)可以有參數(shù),所以可以有返回值
C.構(gòu)造函數(shù)不可以重載
D.構(gòu)造函數(shù)可以設置默認參數(shù)
23.下面屬于析構(gòu)函數(shù)特征的是( )。
A.析構(gòu)函數(shù)可以重載
B.對象銷毀前會自動調(diào)用析構(gòu)函數(shù)
C.如果定義一個類時沒有定義析構(gòu)函數(shù),則系統(tǒng)會提供一個默認析構(gòu)函數(shù)~(){}
D.析構(gòu)函數(shù)的函數(shù)類型為void
24.下面對對象成員的正確描述是( )。
A.可以在構(gòu)造函數(shù)的初始化列表中給出對象成員的初始化
B.可以在構(gòu)造函數(shù)的函數(shù)體中給出對象成員的初始化
C.如果一個對象成員有無參構(gòu)造函數(shù),則可以省略對象成員的初始化語句
D.若A類中有B類對象成員,則在創(chuàng)建A類對象時,先執(zhí)行B類的構(gòu)造函數(shù),再執(zhí)行A類的構(gòu)造函數(shù)
25.在派生類中可以直接訪問基類的()。
A.公有成員
B.保護成員
C.私有成員
D.友元成員
26.如果類A繼承了類B,則類A稱為()。
A.派生類
B.繼承類
C.子類
D.父類
27.關(guān)于this指針的說法正確的是( )。
A.this指針必須顯示說明
B.成員函數(shù)不擁有this指針
C.成員函數(shù)擁有this指針
D.靜態(tài)成員函數(shù)不擁有this指針
28.下列說法正確的是( )。
A.面向?qū)ο蠓椒ǖ幕居^點是一切系統(tǒng)都是由對象構(gòu)成的
B.面向?qū)ο蠓椒ǖ幕居^點是一切系統(tǒng)都是由模塊構(gòu)成的
C.面向?qū)ο蠓椒ㄖ型ㄟ^“消息”來觸發(fā)行為
D.面向?qū)ο蠓椒ㄖ杏妙惡蛯ο髞肀硎粳F(xiàn)實世界
29.如果類A繼承了類B,則類B稱為()。
A.派生類
B.基類
C.子類
D.父類
30.下列說法中正確的是( )。
A.成員函數(shù)的聲明必須放在類體中
B.成員函數(shù)的聲明可以放在類體中也可以放在類體外
C.成員函數(shù)的實現(xiàn)必須放在類體中
D.成員函數(shù)的實現(xiàn)可以放在類體中也可以放在類體外
31.下列關(guān)于類的繼承描述中,( )是錯誤的。
A.派生類可以訪問基類的所有數(shù)據(jù)成員,也能調(diào)用基類的所有成員函數(shù)
B.派生類也是基類,但基類不一定具有派生類的全部屬性和方法
C.繼承描述類的層次關(guān)系,派生類可以具有與基類相同的屬性和方法
D.一個基類可以有多個派生類,但一個派生類只能由一個基類
32.下列關(guān)于類的常量數(shù)據(jù)成員的說法中,正確的是( )。
A.常量數(shù)據(jù)成員只能是公有成員
B.可以在構(gòu)造函數(shù)的初始化列表中為常量數(shù)據(jù)成員賦初值
C.可以在構(gòu)造函數(shù)的函數(shù)體中為常量數(shù)據(jù)成員賦初值
D.常量數(shù)據(jù)成員的值初始化后就只能訪問、無法修改
33.系統(tǒng)提供的默認拷貝構(gòu)造函數(shù)實現(xiàn)的是“淺拷貝”,下列關(guān)于淺拷貝的說法中正確的是( )。
A.當一個類中有指針成員變量時,淺拷貝有可能會導致一片內(nèi)存被重復釋放
B.當一個類中有指針成員變量時,淺拷貝有可能導致一個對象中保存的數(shù)據(jù)不正確
C.如果一個類中只有int型和double型的成員變量,則淺拷貝不會出現(xiàn)任何問題
D.如果一個類中有一個成員變量是char型數(shù)組,則使用淺拷貝會存在問題
34.下列關(guān)于類的靜態(tài)數(shù)據(jù)成員的說法中,正確的是( )。
A.靜態(tài)數(shù)據(jù)成員的值初始化后不能再修改
B.靜態(tài)數(shù)據(jù)成員必須在類體外定義和初始化
C.使用static關(guān)鍵字可以將一個數(shù)據(jù)成員聲明為靜態(tài)數(shù)據(jù)成員
D.靜態(tài)數(shù)據(jù)成員的訪問控制權(quán)限可以是公有、私有或保護
35.對靜態(tài)成員的正確描述是( )。
A.靜態(tài)成員不屬于對象,是類的共享成員
B.靜態(tài)數(shù)據(jù)成員要在類外定義和初始化
C.調(diào)用靜態(tài)成員函數(shù)時要通過類或?qū)ο蠹せ睿造o態(tài)成員函數(shù)擁有this指針
D.非靜態(tài)成員函數(shù)也可以操作靜態(tài)數(shù)據(jù)成員
三、判斷題 (共 15 道試題,共 30 分)
36.含有純虛函數(shù)的類是抽象類。
37.線性結(jié)構(gòu)的特點是只有一個結(jié)點沒有前驅(qū),只有一個結(jié)點沒有后繼,其余的結(jié)點只有一個前驅(qū)和后繼。
38.C++基類中,不能被派生類繼承的有構(gòu)造函數(shù)和析構(gòu)函數(shù)。
39.類成員的三種訪問控制屬性是public、private和friend。
40.m(m≥0)棵相交的樹的集合就構(gòu)成了森林。
41.n個結(jié)點的有向圖,若它有n(n-1)條邊,則它一定是連通圖。
42.在保護派生中,基類權(quán)限為private的成員在派生類中權(quán)限也為private。
43.具有純虛函數(shù)的類是抽象類,它的特點是不可以定義對象。
44.有向圖的鄰接矩陣是對稱的。
45.析構(gòu)函數(shù)是一種函數(shù)體為空的成員函數(shù)。
46.在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的。
47.類非成員函數(shù)形式的運算符重載函數(shù)通常采用友元函數(shù),是為了在運算符重載中方便訪問類中的非公有成員。
48.說明或定義對象時,類名前面不需要加class關(guān)鍵字。
49.在圖的所有形式的生成樹中,邊上的權(quán)之和最小的生成樹,稱為圖的最小生成樹。
50.樹中度為0的結(jié)點稱為葉子結(jié)點(或終端結(jié)點),度不為0的結(jié)點稱為分支結(jié)點(或非終端結(jié)點),分支結(jié)點也稱為內(nèi)部結(jié)點。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777

