2011年9月計算機(jī)等級考試二級C++模擬試題1及答案
51CTO編輯向您推薦:《2011年9月全國計算機(jī)等級考試試題及答案》及相關(guān)模擬題。一、選擇題(每題2分,共70分)。
下列各題A、B、C、D四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
1.算法的空間復(fù)雜度是指( )。
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲空間
D.執(zhí)行過程中所需要的存儲空間
【答案】D
2.用鏈表表不線性表的優(yōu)點(diǎn)是( )。
A.便于隨機(jī)存取
B.花費(fèi)的存儲空間較順序存儲少
C.便于插入和刪除操作
D.數(shù)據(jù)元素的物理順序與邏輯順序相同
【答案】C
3.下列關(guān)于棧的描述正確的是( )。
A.在棧中只能插入元素而不能刪除元素
B.在棧中只能刪除元素而不能插入元素
C.棧是特殊的線性表,只能在一端插入或刪除元素
D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
【答案】D
4.下列敘述中正確的是( )。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率
【答案】D
5.下列對列的敘述正確的是( )。
A.隊列屬于非線性表
B.隊列按”先進(jìn)后出”的原則組織數(shù)據(jù)
C.隊列在隊尾刪除數(shù)據(jù)
D.隊列按“先進(jìn)先出”原則組織數(shù)據(jù)
【答案】D
6.對下列二叉樹進(jìn)行前序遍歷的結(jié)果為( )。
A.DYBEAFCZX
B.YDEBFZXCA
C.ABDYECFXZ
D.ABCDEFXYZ
【答案】C
7.在面向?qū)ο蠓椒ㄖ?,不屬?ldquo;對象”基本特點(diǎn)的是( )。
A.一致性
B.分類性
C.多態(tài)性
D.標(biāo)識唯一性
【答案】A
【解析】對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍睿幕咎攸c(diǎn)有:標(biāo)識唯一性、分類性、多態(tài)性、封裝性和模塊獨(dú)立性。故本題答案為A。
8.一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是( )。
A.一對一
B.一對多
C.多對一
D.多對多
【答案】B
【解析】一個實體宿舍可以對應(yīng)多個學(xué)生,而一個學(xué)生只能對應(yīng)一個宿舍,所以宿舍和學(xué)生之間是一對多關(guān)系。
9.將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成( )。
A.屬性
B.關(guān)系
C.鍵
D.域
【答案】B
10.SQL語言又稱為( )。
A.結(jié)構(gòu)化定義語言
B.結(jié)構(gòu)化控制語言
C.結(jié)構(gòu)化查詢語言
D.結(jié)構(gòu)化操縱語言
【答案】C
11.C++語言對C語言做了很多改進(jìn),C++語言相對于C語言的最根本的變化是( )。
A.增加了一些新的運(yùn)算符
B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù)
C.規(guī)定函數(shù)說明符必須用原型
D.引進(jìn)了類和對象的概念
【答案】D
12.設(shè)有定義int a=1;float f=1.2;char c=’a';,則下列表示錯誤的是( )。
A.++a;
B.f--;
C.C++;
D.8++;
【答案】D
13.下列程序的運(yùn)行結(jié)果為( )。
- #include
- void main()
- {
- int a=2:
- int b=a+1;
- cout<<
- }
A.0.66667 B.0
C.0.7 D.0.66666666…
【答案】B
14.下列關(guān)于運(yùn)算符重載的敘述中,正確的是( )。
A.通過運(yùn)算符重載,可以定義新的運(yùn)算符
B.有的運(yùn)算符只能作為成員函數(shù)重載
C.若重載運(yùn)算符+,則相應(yīng)的運(yùn)算符函數(shù)名是+
D.重載一個二元運(yùn)算符時,必須聲明兩個形參
【答案】B
15.下列關(guān)于模板的敘述中,錯誤的是( )。
A.調(diào)用模板函數(shù)時,在一定條件下可以省略模板實參
B.可以用int、double這樣的類型修飾符來聲明模板參數(shù)
C.模板聲明中的關(guān)鍵字class都可以用關(guān)鍵字typename替代
D.模板的形參表中可以有多個參數(shù)
【答案】D
16.要利用C++流進(jìn)行文件操作,必須在程序中包含的頭文件是( )。
A.iostream
B.fstream
C.strstream
D.iomanip
【答案】B
17.下列描述中,不屬于面向?qū)ο笏枷胫饕卣鞯氖? )。
A.封裝性
B.跨平臺性
C.繼承性
D.多態(tài)性
【答案】B
18.有如下程序段:
Tnt i=4;int j=l;
int main(){
int i=8,j=i;
cout<}
運(yùn)行時的輸出結(jié)果是( )。
A.44
B.41
C.88
D.81
【答案】C
19.下面的哪個選項不能作為函數(shù)的返回類型? ( )。
A.void
B.int
C.new
D.long
【答案】C
20.函數(shù)fun的返回值是( )。
- fun(char*a,char*B.
- {
- int num=0,n=0;
- while(*(a+num)!=‘\0’)num++;
- while(b[n]){*(a+num)=b[n];num++;n++;}
- return num;
- }
A.字符串a(chǎn)的長度
B.字符串b的長度
C.字符串a(chǎn)和b的長度之差
D.字符串a(chǎn)和b的長度之和
【答案】D
21.有如下函數(shù)定義:
void func (int a,int&b) {a++; b++;}
若執(zhí)行代碼段:
int x=0 ,y=1
func(x,y);
則變量x和y值分別是( )。
A.0和1
B.1和1
C.0和2
D.1和2
【答案】C
22.有如下程序
- #include
- using namespace std;
- class Sample{
- public:
- Sample(){}
- ~Sample(){cout<<‘*’;}
- };
- int main(){
- Sample temp[2], *pTemp[2];
- return 0;
- }
執(zhí)行這個程序輸出星號(*)的個數(shù)為( )。
A.1
B.2
C.3
D.4
【答案】C
#p#
23.下列選項中,與實現(xiàn)運(yùn)行時多態(tài)性無關(guān)的是( )。
A.重載函數(shù)
B.虛函數(shù)
C.指針
D.引用
【答案】A
24.對類的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是( )。
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ù)也不能重載
【答案】A
25.下面程序的運(yùn)行結(jié)果為( )。
- #include
- class A
- {
- int num;
- public:
- A(int i){num=i;}
- A(A &A.{num=a. num++;}
- void print(){cout<
- };
- void main()
- }
A a1(),b(A);
a. print();
b.print();
A.11
B.12
C.21
D.22
【答案】C
26.在重載一個運(yùn)算符時,如果其參數(shù)表中有一個參數(shù),則說明該運(yùn)算符是( )。
A.一元成員運(yùn)算符
B.二元成員運(yùn)算符
C.一元友元運(yùn)算符
D.選項B和選項C都可能
【答案】D
27.下列關(guān)于模板的說法正確的是( )。
A.模板的實參在任何時候都可以省略
B.類模板與模板類所指的是同一概念
C.類模板的參數(shù)必須是虛擬類型的
D.類模板中的成員函數(shù)全部都是模板函數(shù)
【答案】D
28.在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,下列敘述不正確的是( )。
A.派生類的對象可以賦給基類的對象
B.派生類的對象可以初始化基類的引用
C.派生類的對象可以直接訪問基類中的成員
D.派生類的對象的地址可以賦給指向基類的指針
【答案】C
29.建立派生類對象時,3種構(gòu)造函數(shù)分別是a(基類的構(gòu)造函數(shù))、b(成員對象的構(gòu)造函數(shù))、
c(派生類的構(gòu)造函數(shù))這3種構(gòu)造函數(shù)的調(diào)用順序為( )。
A.abc
B.acb
C.cab
D.cba
【答案】A
30.下面關(guān)于虛函數(shù)的描述,錯誤的是( )。
A.在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)
B.基類中說明了虛函數(shù)后,派生類中對應(yīng)的函數(shù)也必須說明為虛函數(shù)
C.虛函數(shù)可以是另一個類的友元函數(shù),但不能是靜態(tài)成員函數(shù)
D.基類中說明的純虛函數(shù)在其任何派生類中都必須實現(xiàn)
【答案】B
31.定義派生類時,若不使用關(guān)鍵字顯示地規(guī)定采用何種繼承方式,則默認(rèn)方式為( )。
A.私有繼承
B.非私有繼承
C.保護(hù)繼承
D.公有繼承
【答案】A
32.在位運(yùn)算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于( )。
A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)乘以4
D.操作數(shù)除以4
【答案】B
33.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把節(jié)點(diǎn)b連接到節(jié)點(diǎn)a 之后的語句是( )。
struct node
{ char data;
struct node*next;
}a,b,*p=&a,*q=&b;
A.a. next=q;
B.p. next=&b;
C.p->next=&b;
D.(*p).next=q;
【答案】B
34.假定下列語句都是程序運(yùn)行后***執(zhí)行的輸出語句,其中輸出結(jié)果與另外三條語句不同的語句是( )。
A.cout
35.有如下程序:
- #include
- using namespace std;
- class ONE{
- int c;
- public:
- ONE():c(0){cout<<1;}
- ONE(int n):c(n){cout<<2;}
- };
- class TWO{
- ONE onel;
- ONE one2;
- public:
- TWO(int m):one2(m){cout<<3;}
- };
- int main(){
- TWO t4()
- return 0
- }
運(yùn)行時的輸出結(jié)果是( )。
A.3
B.23
C.123
D.213
【答案】C
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
注意:以命令關(guān)鍵字填空的必須拼寫完整。
1.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨(dú)立性***的階段是 【1】 。
【答案】數(shù)據(jù)庫系統(tǒng)
2.軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于 【2】 測試。
【答案】黑盒
3.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和 【3】 。
【答案】順序結(jié)構(gòu)
4.一棵二叉樹第六層(根結(jié)點(diǎn)為***層)的結(jié)點(diǎn)數(shù)最多為 【4】 個。
【答案】32
5.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊列屬于 【5】 結(jié)構(gòu)。
【答案】存儲
6.有如下程序段:
int x=1,Y=2,z=3;
x=x^z;
y=y^z;
z=x^y;
cout<執(zhí)行這個程序段的輸出是 【6】 。
【答案】100
7.若要訪問指針變量p所指向的數(shù)據(jù),應(yīng)使用表達(dá)式 【7】 。
【答案】*P
8.已知一個函數(shù)的原型是:
int fn(double x);
若要以5.27為實參調(diào)用該函數(shù),應(yīng)使用表達(dá)式 【8】 。
【答案】fn(5.27)
9.通過使用new和delete兩個運(yùn)算符進(jìn)行的分配為 【9】 存儲分配。
【答案】【9】動態(tài)
10.如果類B繼承了類A,則稱類A為類B的基類,類B稱為類A的 【10】 。
【答案】【10】派生類
11.將x+y中的+運(yùn)算符用友元函數(shù)重載應(yīng)寫為 【11】 。
【答案】【11】 operator+(x,y)
12.請將下列類定義補(bǔ)充完整。
- class Base { public: void fun( ){ cout<<"Base::fun"<
- class Derived : public Base {
- public:
- void fun( ) {
【12】 //顯式調(diào)用基類的fun函數(shù)
cout<<"Derived::fun"<}};
【答案】【12】Base::fun()
13.多數(shù)運(yùn)算符既能作為類的成員函數(shù)重載,也能作為類的非成員函數(shù)重載,但[ ]運(yùn)算符只能作為類的 【13】 函數(shù)重載。
【答案】【13】成員
14.表達(dá)式operator+(x,y)還可以表示為 【14】 。
【答案】【14】x+y
15.C++語言中的多態(tài)性分為編譯時的多態(tài)性和 【15】 時的多態(tài)性。
【答案】運(yùn)行