筆試部分
一、選擇題
1.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為( )
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
【參考答案】 B
2.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是( )
A.e3,e1,e4,e2
B.e2,e4,e3,e1
C.e3,e4,e1,e2
D.任意順序
【參考答案】 B
3.程序設計語言的基本成分是數據成分、運算成分、控制成分和( )
A.對象成分
B.變量成分
C.語句成分
D.傳輸成分
【參考答案】 D
4.下列不屬于軟件工程的3個要素的是( )
A.工具
B.過程
C.方法
D.環(huán)境
【參考答案】 D
5.將E-R圖轉換到關系模式時,實體與聯系都可以表示成( )
A.屬性
B.關系
C.鍵
D.域
【參考答案】 B
6.在深度為5的滿二叉樹中,葉子結點的個數為( )
A.32
B.31
C.16
D.15
【參考答案】 B
7.一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調用。而實現遞歸調用中的存儲分配通常用( )
A.棧
B.堆
C.數組
D.鏈表
【參考答案】 A
8.開發(fā)軟件時對提高開發(fā)人員工作效率至關重要的是( )
A.操作系統(tǒng)的資源管理功能
B.先進的軟件開發(fā)工具和環(huán)境
C.程序人員的數量
D.計算機的并行處理能力
【參考答案】 B
9.數據處理的最小單位是( )
A.數據
B.數據元素
C.數據項
D.數據結構
【參考答案】 C
10.下述關于數據庫系統(tǒng)的敘述中正確的是( )
A.數據庫系統(tǒng)減少了數據冗余
B.數據庫系統(tǒng)避免了一切冗余
C.數據庫系統(tǒng)中數據的一致性是指數據類型一致
D.數據庫系統(tǒng)比文件系統(tǒng)能管理更多的數據
【參考答案】 B
11.以下各選項組中,均是C++語言關鍵字的組是( )
A.public operator this
B.shod string static
C.it while>=
D.private cout printf
【參考答案】 A
12.下列描述正確的是( )
A.表示m>n為true或mn&&m
B.switch語句結構中必須有default語句
C.if語句結構中必須有else語句
D.如果至少有一個操作數為true,則包含“||”運算符的表達式為true
【參考答案】 D
13.下面關于break語句的描述中,不正確的是( )
A.break可以用于循環(huán)體內
B.break語句可以在for循環(huán)語句中出現多次
C.break語句可以在switch語句中出現多次
D.break語句可用于if條件判斷語句內
【參考答案】 D
14.下面程序錯誤的是( )
① #include
② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout<<*p<
⑦ delete[]p;
⑧ }
A.④ 來源:考試大網
B.⑤
C.⑥
D.⑦
【參考答案】 B
15.不能作為重載函數的調用的依據是( )
A.參數個數
B.參數類型
C.函數類型
D.函數名稱
【參考答案】 D
16.在C++語言中,數據封裝要解決的問題是( )
A.數據的規(guī)范化
B.便于數據轉換
C.避免數據丟失
D.防止不同模塊之間數據的非法訪問
【參考答案】 D
17.類的構造函數和析構函數描述正確的是()
A.構造函數可以重載,析構函數不能重載
B.構造函數不能重載,析構函數可以重載
C.構造函數可以重載,析構函數也可以重載
D.構造函數不能重載,析構函數也不能重載
【參考答案】 A
18.對靜態(tài)數據成員的描述中,正確的是( )
A.靜態(tài)數據成員是類的所有對象共享的數據
B.類的每個對象都有自己的靜態(tài)數據成員
C.類的不同對象有不同的靜態(tài)數據成員值
D.靜態(tài)數據成員不能通過類的對象調用
【參考答案】 A
19.可以用p.a的形式訪問派生類對象p的基類成員a,其中a是( )
A.私有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.公有繼承的公有成員
【參考答案】 D
20.下面關于虛函數的描述,錯誤的是( )
A.在成員函數聲明的前面加上virtual修飾,就可把該函數聲明為虛函數
B.基類中說明了虛函數后,派生類中對應的函數也必須說明為虛函數
C.虛函數可以是另一個類的友元函數,但不能是靜態(tài)成員函數
D.基類中說明的純虛函數在其任何派生類中都必須實現
【參考答案】 B
21.語句ofstream f(″SALARY.DAT″, ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALARY.DAT并與之連接,且( )
A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件
B.若文件存在,將其置為空文件;若文件不存在,找開失敗
C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件
D.若文件存在,找開失敗;若文件不存在,建立一個新文件
【參考答案】 A
22.下面程序的運行結果是( )
#include
void fun(int *a,int *b)
{int x=*a;
*a=*b;*b=x;
cout<<*a<<*b<<″ ″;}
void main()
{int x=1,y=2;
fun(&x,&y);
cout<
A.12 12
B.12 21
C.21 12
D.21 21
【參考答案】 D
23.以下哪個特征不是面向對象思想中的主要特征?( )
A.多態(tài)
B.繼承
C.封裝
D.垃圾回收
【參考答案】 D
24.C++中運算符優(yōu)先級由高到低排列正確的是( )
A.:: ++ +||
B.< * ||,
C.sizeof % + ::
D., && new sizeof
【參考答案】 A
25.以下for語句中不是死循環(huán)的是( )
A.for(int i=0;i<1;++i);
B.for(int i=0;;++i);
C.for(int i=1;i>0;++i);
D.for(;;);
【參考答案】 A
26.以下定義數組中錯誤的是( )
A.int a[10];
B.int a[2][20];
C.int a[20][];
D.int a[];
【參考答案】 C
27.下面程序錯誤的語句是( )
#include ″iostrteam.h″
① void main()
② {
③ int A=0;
④ int & B;
⑤ B=A;
⑥ cout<
⑦ cout<
⑧ }
A.②
B.③
C.④
D.⑥
【參考答案】 C
28.函數int test(int a,int b=1,int c=0),下列調用不合法的個數是( )
test(0); test(0,0); test(); test(0,0,0);
A.0
B.1
C.2
D.3
【參考答案】 C
29.C++語言中關于構造函數的說法正確的是( )
A.構造函數的函數名不必和類名相同
B.構造函數只能每一個
C.每個類必定有構造函數
D.構造函數必有返回值
【參考答案】 C
30.下面程序的執(zhí)行結果為( )
#include ″iostream″
using namespace std;
class A
{ 來源:考試大網
int a;
public:
void Seta(int x){a=x;}
void Display_a(){cout<
};
class B
{
int b;
public:
void Setb(int x){b=x;}
void Dispaly_b(){cout<
};
class C:public A,private B
{private:
int c;
public:
void Setc(int x,int y,int z)
{ c=z;Seta(x);Setb(y);}
void Display_c(){cout<
① void main()
② {
③ C cc;
④ c
C.Seta(1);
⑤ c
C.Display_a();
⑥ c
C.Setc(2,2,3);
⑦ c
C.Dispaly_b();
⑧ c
C.Display_c();
}
A.輸出為2 2 3
B.有錯誤在第5行
C.輸出為1 2 3
D.有錯誤在第7行
【參考答案】 D
31.多態(tài)性指的是( )
A.以任何方式調用一個虛函數
B.以任何方式調用一個純虛函數
C.借助于指向對象的基類指針或引用調用一個虛函數
D.借助于指向對象的基類指針或引用調用一個純虛函數
【參考答案】 C
32.只能作為成員函數重載的是( )
A.=
B.++
C.*
D.new
【參考答案】 A
33.語句cout<
A.1024.4567
B.1024
C.1024.45
D.1e+003
【參考答案】 D
34.下列程序的結果是( )
#include ″iostream.h″
void main()
{
char *str;
str=″test!″;
cout<
}
A.程序錯誤
B.!
C.′\0′
D.為空字符
【參考答案】 D
35.C++語言函數中不能由系統(tǒng)自動生成的是( )
A.析構函數
B.構造函數
C.內聯函數
D.拷貝構造函數
【參考答案】 C
一、選擇題
1.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為( )
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
【參考答案】 B
2.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是( )
A.e3,e1,e4,e2
B.e2,e4,e3,e1
C.e3,e4,e1,e2
D.任意順序
【參考答案】 B
3.程序設計語言的基本成分是數據成分、運算成分、控制成分和( )
A.對象成分
B.變量成分
C.語句成分
D.傳輸成分
【參考答案】 D
4.下列不屬于軟件工程的3個要素的是( )
A.工具
B.過程
C.方法
D.環(huán)境
【參考答案】 D
5.將E-R圖轉換到關系模式時,實體與聯系都可以表示成( )
A.屬性
B.關系
C.鍵
D.域
【參考答案】 B
6.在深度為5的滿二叉樹中,葉子結點的個數為( )
A.32
B.31
C.16
D.15
【參考答案】 B
7.一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調用。而實現遞歸調用中的存儲分配通常用( )
A.棧
B.堆
C.數組
D.鏈表
【參考答案】 A
8.開發(fā)軟件時對提高開發(fā)人員工作效率至關重要的是( )
A.操作系統(tǒng)的資源管理功能
B.先進的軟件開發(fā)工具和環(huán)境
C.程序人員的數量
D.計算機的并行處理能力
【參考答案】 B
9.數據處理的最小單位是( )
A.數據
B.數據元素
C.數據項
D.數據結構
【參考答案】 C
10.下述關于數據庫系統(tǒng)的敘述中正確的是( )
A.數據庫系統(tǒng)減少了數據冗余
B.數據庫系統(tǒng)避免了一切冗余
C.數據庫系統(tǒng)中數據的一致性是指數據類型一致
D.數據庫系統(tǒng)比文件系統(tǒng)能管理更多的數據
【參考答案】 B
11.以下各選項組中,均是C++語言關鍵字的組是( )
A.public operator this
B.shod string static
C.it while>=
D.private cout printf
【參考答案】 A
12.下列描述正確的是( )
A.表示m>n為true或mn&&m
B.switch語句結構中必須有default語句
C.if語句結構中必須有else語句
D.如果至少有一個操作數為true,則包含“||”運算符的表達式為true
【參考答案】 D
13.下面關于break語句的描述中,不正確的是( )
A.break可以用于循環(huán)體內
B.break語句可以在for循環(huán)語句中出現多次
C.break語句可以在switch語句中出現多次
D.break語句可用于if條件判斷語句內
【參考答案】 D
14.下面程序錯誤的是( )
① #include
② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout<<*p<
⑦ delete[]p;
⑧ }
A.④ 來源:考試大網
B.⑤
C.⑥
D.⑦
【參考答案】 B
15.不能作為重載函數的調用的依據是( )
A.參數個數
B.參數類型
C.函數類型
D.函數名稱
【參考答案】 D
16.在C++語言中,數據封裝要解決的問題是( )
A.數據的規(guī)范化
B.便于數據轉換
C.避免數據丟失
D.防止不同模塊之間數據的非法訪問
【參考答案】 D
17.類的構造函數和析構函數描述正確的是()
A.構造函數可以重載,析構函數不能重載
B.構造函數不能重載,析構函數可以重載
C.構造函數可以重載,析構函數也可以重載
D.構造函數不能重載,析構函數也不能重載
【參考答案】 A
18.對靜態(tài)數據成員的描述中,正確的是( )
A.靜態(tài)數據成員是類的所有對象共享的數據
B.類的每個對象都有自己的靜態(tài)數據成員
C.類的不同對象有不同的靜態(tài)數據成員值
D.靜態(tài)數據成員不能通過類的對象調用
【參考答案】 A
19.可以用p.a的形式訪問派生類對象p的基類成員a,其中a是( )
A.私有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.公有繼承的公有成員
【參考答案】 D
20.下面關于虛函數的描述,錯誤的是( )
A.在成員函數聲明的前面加上virtual修飾,就可把該函數聲明為虛函數
B.基類中說明了虛函數后,派生類中對應的函數也必須說明為虛函數
C.虛函數可以是另一個類的友元函數,但不能是靜態(tài)成員函數
D.基類中說明的純虛函數在其任何派生類中都必須實現
【參考答案】 B
21.語句ofstream f(″SALARY.DAT″, ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALARY.DAT并與之連接,且( )
A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件
B.若文件存在,將其置為空文件;若文件不存在,找開失敗
C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件
D.若文件存在,找開失敗;若文件不存在,建立一個新文件
【參考答案】 A
22.下面程序的運行結果是( )
#include
void fun(int *a,int *b)
{int x=*a;
*a=*b;*b=x;
cout<<*a<<*b<<″ ″;}
void main()
{int x=1,y=2;
fun(&x,&y);
cout<
A.12 12
B.12 21
C.21 12
D.21 21
【參考答案】 D
23.以下哪個特征不是面向對象思想中的主要特征?( )
A.多態(tài)
B.繼承
C.封裝
D.垃圾回收
【參考答案】 D
24.C++中運算符優(yōu)先級由高到低排列正確的是( )
A.:: ++ +||
B.< * ||,
C.sizeof % + ::
D., && new sizeof
【參考答案】 A
25.以下for語句中不是死循環(huán)的是( )
A.for(int i=0;i<1;++i);
B.for(int i=0;;++i);
C.for(int i=1;i>0;++i);
D.for(;;);
【參考答案】 A
26.以下定義數組中錯誤的是( )
A.int a[10];
B.int a[2][20];
C.int a[20][];
D.int a[];
【參考答案】 C
27.下面程序錯誤的語句是( )
#include ″iostrteam.h″
① void main()
② {
③ int A=0;
④ int & B;
⑤ B=A;
⑥ cout<
⑦ cout<
⑧ }
A.②
B.③
C.④
D.⑥
【參考答案】 C
28.函數int test(int a,int b=1,int c=0),下列調用不合法的個數是( )
test(0); test(0,0); test(); test(0,0,0);
A.0
B.1
C.2
D.3
【參考答案】 C
29.C++語言中關于構造函數的說法正確的是( )
A.構造函數的函數名不必和類名相同
B.構造函數只能每一個
C.每個類必定有構造函數
D.構造函數必有返回值
【參考答案】 C
30.下面程序的執(zhí)行結果為( )
#include ″iostream″
using namespace std;
class A
{ 來源:考試大網
int a;
public:
void Seta(int x){a=x;}
void Display_a(){cout<
};
class B
{
int b;
public:
void Setb(int x){b=x;}
void Dispaly_b(){cout<
};
class C:public A,private B
{private:
int c;
public:
void Setc(int x,int y,int z)
{ c=z;Seta(x);Setb(y);}
void Display_c(){cout<
① void main()
② {
③ C cc;
④ c
C.Seta(1);
⑤ c
C.Display_a();
⑥ c
C.Setc(2,2,3);
⑦ c
C.Dispaly_b();
⑧ c
C.Display_c();
}
A.輸出為2 2 3
B.有錯誤在第5行
C.輸出為1 2 3
D.有錯誤在第7行
【參考答案】 D
31.多態(tài)性指的是( )
A.以任何方式調用一個虛函數
B.以任何方式調用一個純虛函數
C.借助于指向對象的基類指針或引用調用一個虛函數
D.借助于指向對象的基類指針或引用調用一個純虛函數
【參考答案】 C
32.只能作為成員函數重載的是( )
A.=
B.++
C.*
D.new
【參考答案】 A
33.語句cout<
A.1024.4567
B.1024
C.1024.45
D.1e+003
【參考答案】 D
34.下列程序的結果是( )
#include ″iostream.h″
void main()
{
char *str;
str=″test!″;
cout<
}
A.程序錯誤
B.!
C.′\0′
D.為空字符
【參考答案】 D
35.C++語言函數中不能由系統(tǒng)自動生成的是( )
A.析構函數
B.構造函數
C.內聯函數
D.拷貝構造函數
【參考答案】 C