22春學期(高起本1709-1803、全層次1809-2103)《程序設(shè)計基礎(chǔ)(下)》在線作業(yè)-00001
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.缺省析構(gòu)函數(shù)的函數(shù)體是( )。
A.不存在
B.隨機產(chǎn)生的
C.空的
D.無法確定的
2.下列關(guān)于類的繼承描述中,( )是錯誤的。
A.派生類可以訪問基類的所有數(shù)據(jù)成員,也能調(diào)用基類的所有成員函數(shù)
B.派生類也是基類,但基類不一定具有派生類的全部屬性和方法
C.繼承描述類的層次關(guān)系,派生類可以具有與基類相同的屬性和方法
D.一個基類可以有多個派生類,一個派生類可以有多個基類
3.下列運算符中,()運算符在C++中不能重載。
A.?:
B.+
C.-
D.=
4.線性表最多有( )個結(jié)點沒有前驅(qū)。
A.0
B.1
C.2
D.無數(shù)個
5.下列( )不是構(gòu)造函數(shù)的特征。
A.構(gòu)造函數(shù)的函數(shù)名與類名相同
B.構(gòu)造函數(shù)可以重載
C.構(gòu)造函數(shù)可以設(shè)置默認參數(shù)
D.構(gòu)造函數(shù)必須指定類型說明
6.下面函數(shù)原型聲明中,( )聲明了fun為純虛函數(shù)。
A.void fun()=0;
B.virtual void fun()=0;
C.virtual void fun();
D.virtual void fun(){};
7.在下述結(jié)論中,正確的是( ) ①只有一個結(jié)點的二叉樹的度為0; ②二叉樹的度為2; ③二叉樹的左右子樹可任意交換; ④深度為K的完全二叉樹的結(jié)點個數(shù)小于或等于深度相同的滿二叉樹。
A.①②③
B.②③④
C.②④
D.①④
8.有關(guān)構(gòu)造函數(shù)說法不正確的是( )。
A.構(gòu)造函數(shù)的名字和類的名字一樣
B.在創(chuàng)建對象時,系統(tǒng)自動調(diào)用構(gòu)造函數(shù)
C.構(gòu)造函數(shù)無任何函數(shù)類型
D.構(gòu)造函數(shù)有且只有一個
9.關(guān)于下面程序段說法正確的是( ) class X { private: int n; public: X(X&); }; X::X(X&x) {n=x.n} X obj1,obj2(obj1);
A.語句obj2(obj1);的功能是用對象obj1初始化具有相同類類型的對象obj2
B.語句obj2(obj1);的功能是用對象obj2初始化具有相同類類型的對象obj1
C.X(X&x)中的&符號可以刪除
D.X(X&x)函數(shù)中不能訪問對象的私有成員
10.類B是類A的公有派生類,類A和類B中都定義了虛函數(shù)func(),p是一個指向類A對象的指針,則p->A::func()將( )。
A.調(diào)用類A中是函數(shù)func()
B.調(diào)用類B中是函數(shù)func()
C.根據(jù)P所指的對象類型而確定調(diào)用A中或類B中的函數(shù)func()
D.既調(diào)用類A中函數(shù),也調(diào)用類B中的函數(shù)
11.在數(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)
12.對于類定義 class A{ public: virtual void funcl(){} void func2(){} }; class B:public A{ public: void func1(){cout<<"class B func1"<<endl;} virtual void func2(){cout<<"class B func2"<<endl;} };下面正確的敘述是( )。
A.A::func2()和B::func1()都是虛函數(shù)
B.A::func2()和B::func1()都不是虛函數(shù)
C.B::func1()是虛函數(shù),A::func2()不是虛函數(shù)
D.B::func1()不是虛函數(shù),A::func2()是虛函數(shù)
13.對二叉樹的結(jié)點從1開始進行連續(xù)編號,要求每個結(jié)點的編號大于其左、右孩子的編號,同一結(jié)點的左右孩子中,其左孩子的編號小于其右孩子的編號,可采用( )遍歷實現(xiàn)編號。
A.先序
B.中序
C.后序
D.從根開始按層次遍歷
14.在一個單鏈表中,若將p所指結(jié)點從鏈表中移除,q已指向其前驅(qū)結(jié)點,則執(zhí)行( )。
A.q->next=p
B.q=p->next
C.q->next=p->next
D.p->next=q
15.如果以鏈表作為隊列的存儲結(jié)構(gòu),則出隊操作時( )。
A.必須判別隊列是否滿
B.判別隊列元素的類型
C.必須判別隊列是否空
D.對隊列不作任何判別
16.下列( )是構(gòu)造函數(shù)的特征。
A.構(gòu)造函數(shù)在創(chuàng)建對象時自動調(diào)用
B.構(gòu)造函數(shù)不可以重載
C.構(gòu)造函數(shù)不可以設(shè)置默認參數(shù)
D.構(gòu)造函數(shù)必須指定函數(shù)類型
17.類A是類B的友元,類B是類C的友元,則( )是正確的。
A.類B是類A的友元
B.類C是類A的友元
C.類A是類C的友元
D.以上都不對
18.()是一個在基類中說明虛函數(shù),它在該基類中沒有定義,但要求任何派生類中的可訪問性的規(guī)定是相同的。
A.純虛函數(shù)
B.虛析構(gòu)函數(shù)
C.虛構(gòu)造函數(shù)
D.靜態(tài)成員函數(shù)
19.二叉樹就是每個結(jié)點的度小于等于2的( )。
A.有序樹
B.無序樹
C.可以有序也可以無須
D.根據(jù)結(jié)點的度決定是否有序
20.利用數(shù)組a[N]順序存儲一個棧時,用top表示棧頂指針,用top==-1表示???并已知棧未滿,當元素x進棧時所執(zhí)行的操作是( )。
A.top--; a[top]=x;
B.a[top]=x; top--;
C.top++; a[top]=x;
D.a[top]=x; top++;
二、多選題 (共 15 道試題,共 30 分)
21.下列描述中,正確的是( )。
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ù)
22.不能使用類對象直接訪問的成員包括( )。
A.公有成員
B.保護成員
C.私有成員函數(shù)
D.私有成員變量
23.下列關(guān)于類模板的描述中,正確的是( )。
A.類模板中可以有靜態(tài)數(shù)據(jù)成員
B.類模板的靜態(tài)數(shù)據(jù)成員由所有該類模板實例化的模板類共享
C.類模板的靜態(tài)數(shù)據(jù)成員需要在類體外進行定義和初始化
D.類模板中可以用類型形參聲明靜態(tài)數(shù)據(jù)成員
24.已知Cirle是一個類,其中有一個成員函數(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)
25.下列關(guān)于類的繼承描述中,( )是正確的。
A.派生類可以訪問基類的所有數(shù)據(jù)成員,也能調(diào)用基類的所有成員函數(shù)
B.派生類也是基類,但基類不一定具有派生類的全部屬性和方法
C.繼承描述類的層次關(guān)系,派生類可以具有與基類相同的屬性和方法
D.一個基類可以有多個派生類,一個派生類可以有多個基類
26.下面描述中,正確的是( )。
A.虛函數(shù)是沒有實現(xiàn)的函數(shù)
B.純虛函數(shù)的實現(xiàn)在派生類中
C.抽象類是有純虛函數(shù)的類
D.抽象類指針可以指向不同的派生類
27.下列說法正確的是( )。
A.面向?qū)ο蠓椒ǖ幕居^點是一切系統(tǒng)都是由對象構(gòu)成的
B.面向?qū)ο蠓椒ǖ幕居^點是一切系統(tǒng)都是由模塊構(gòu)成的
C.面向?qū)ο蠓椒ㄖ型ㄟ^“消息”來觸發(fā)行為
D.面向?qū)ο蠓椒ㄖ杏妙惡蛯ο髞肀硎粳F(xiàn)實世界
28.下列函數(shù)中,可以作為虛函數(shù)的是( )。
A.普通成員函數(shù)
B.構(gòu)造函數(shù)
C.靜態(tài)成員函數(shù)
D.析構(gòu)函數(shù)
29.如果類A繼承了類B,則類A稱為()。
A.派生類
B.繼承類
C.子類
D.父類
30.下列函數(shù)中,不可以作為虛函數(shù)的是()。
A.析構(gòu)函數(shù)
B.成員函數(shù)
C.普通函數(shù)
D.構(gòu)造函數(shù)
31.已知in是ifstream對象,則下列語句正確的是( )。
A.in.seekg(5);
B.in.seekg(5, ios::beg);
C.in.seekg(5, ios::end);
D.in.seekg(-5);
32.下列說法中正確的是( )。
A.一個成員函數(shù)在類體外定義,則該成員函數(shù)默認是內(nèi)聯(lián)函數(shù)
B.一個成員函數(shù)在類體中定義,則該成員函數(shù)默認是內(nèi)聯(lián)函數(shù)
C.在類體外定義成員函數(shù)需要使用::運算符指明該成員函數(shù)屬于哪個類
D.類體外定義的成員函數(shù)默認為公有成員函數(shù)
33.假設(shè)A為抽象類,下列語句( )是正確的。
A.A fun(int);
B.A *p;
C.int fun(A&);
D.A Obj;
34.下列描述中,正確的是( )。
A.派生類構(gòu)造函數(shù)主要是對派生類新定義的成員變量進行初始化
B.派生類從基類繼承的成員變量的初始化通過基類構(gòu)造函數(shù)完成
C.派生類對象被銷毀時會先調(diào)用基類析構(gòu)函數(shù)
D.派生類對象被銷毀時會先調(diào)用派生類析構(gòu)函數(shù)
35.已知f是以二進制讀寫方式打開的文件流對象,且有int型變量a,則下列選項中能正確進行文件讀寫操作的語句包括( )。
A.write((char*)a, sizeof(a));
B.write((char*)&a, sizeof(a));
C.read((char*)a, sizeof(a));
D.read((char*)&a, sizeof(a));
三、判斷題 (共 15 道試題,共 30 分)
36.在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認訪問權(quán)限是public。
37.二叉鏈表表示是二叉樹最常用的存儲結(jié)構(gòu)。
38.在圖的所有形式的生成樹中,邊上的權(quán)之和最小的生成樹,稱為圖的最小生成樹。
39.根據(jù)二叉樹的后序遍歷序列可以確定二叉樹的根結(jié)點。
40.在線性表的順序存儲結(jié)構(gòu)中,邏輯上相鄰的兩個元素在物理位置上并不一定緊鄰。
41.類非成員函數(shù)形式的運算符重載函數(shù)通常采用友元函數(shù),是為了在運算符重載中方便訪問類中的非公有成員。
42.深度優(yōu)先遍歷類似于樹的逐層遍歷。
43.純虛函數(shù)是一種特殊的成員函數(shù),它是一種沒有具體實現(xiàn)的虛函數(shù)。
44.從一個結(jié)點到其后繼結(jié)點之間的連線稱為一個分支;從一個結(jié)點X到另一個結(jié)點Y所經(jīng)歷的所有分支構(gòu)成結(jié)點X到結(jié)點Y的路徑;一條路徑上的分支數(shù)目稱為路徑長度;從樹的根結(jié)點到其他各個結(jié)點的最長路徑長度稱為樹的路徑長度。
45.二叉樹是特殊的樹形結(jié)構(gòu)
46.C++的I/O系統(tǒng)通過流的機制實現(xiàn)文件和控制臺的輸入輸出操作。
47.當一個函數(shù)的返回值是類對象時,則該函數(shù)執(zhí)行結(jié)束后會自動調(diào)用拷貝構(gòu)造函數(shù)初始化一個臨時對象。
48.為了在對象生存期結(jié)束時釋放其指針成員所指向的動態(tài)存儲空間,通常需要為該類定義構(gòu)造函數(shù)。
49.在通信、數(shù)據(jù)壓縮等領(lǐng)域被廣泛應用的哈夫曼樹采用的是二叉樹結(jié)構(gòu)。
50.圖是以一種典型的線性結(jié)構(gòu)。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777