2017年全國計算機二級C++考試試題附答案

學識都 人氣:2.13W

C++是由C發展而來的,與C兼容。用C語言寫的程序基本上可以不加修改地用於C++。下面是小編收集的全國計算機二級C++考試試題附答案,希望大家認真閱讀!

2017年全國計算機二級C++考試試題附答案

一、選擇題

1.從工程管理角度,軟件設計一般分爲兩步完成,它們是(  )。

A.概要設計與詳細設計

B.數據設計與接口設計

C.軟件結構設計與數據設計

D.過程設計與數據設計

2.下列敘述中正確的是(  )。

A.一個邏輯數據結構只能有一種存儲結構

B.數據的邏輯結構屬於線性結構,存儲結構屬於非線性結構

C.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率

D.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

3.下列關於完全二叉樹的敘述中,錯誤的是(  )。

A.除了最後一層外,每一層上的結點數均達到最大值

B.可能缺少若干個左右葉子結點

C.完全二叉樹一般不是滿二叉樹

D.具有結點的完全二叉樹的深度爲[log2n]+1

4.如果進棧序列爲e1、e2、e3、e4,則可能的出棧序列是(  )。

A.e3、e1、e4、e2

B.e2、e4、e3、e1

C.e3、e4、e1、e2

D.任意順序

5.原因排除法屬於(  )。

A.軟件調試方法

B.黑盒測試方法

C.白盒測試方法

D.動態測試方法

6.在E—R圖中,用來表示實體的圖形是(  )。

A.矩形

B.橢圓形

C.菱形

D.三角形

7.下列數據模型中,具有堅實理論基礎的是(  )。

A.層次模型

B.網狀模型

C.關係模型

D.以上3個都是

8.對長度爲n的線性表進行順序查找,在最壞情況下所需要的比較次數爲(  )。

2n

B.n/2

C.n

D.n+1

9.數據流圖用於抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬於數據流圖合法圖符的是(  )。

A.控制流

B.加工

C.數據存儲

D.源和潭

10.數據庫設計的根本目標是要解決(  )。

A.數據共享問題

B.數據安全問題

C.大量數據存儲問題

D.簡化數據維護

二、改錯題

使用VC6打開考生文件夾下的工程kt9_1,此工程包含一個源程

序文件kt9_,但該程序運行有問題,請改正程序中的.錯誤,使程序的輸出結果如下:

4,5

20

源程序文件清單如下:

#include

using namespace std;

class A

{

protected:

int n,m;

public:

void set(int a,int b){m=a;n=b;}

void show(){cout<

/**********found**********/

}

class B:public A

{

int s;

public:

void set(){ s=m*n;}

void shows(){cout<

};

void main()

{

B b;

/**********found**********/

();

();

();

/**********found**********/

();

}  【參考答案】

(1)在“}”後添加分號

(2)將();改爲:b.A::set(4,5);

(3)將();改爲:s();

【試題解析】

(1)主要考查對類定義格式的掌握,類的結尾應該使用";";

(2)主要考查對基類與派生類函數調用關係的掌握,根據所要求的輸出結果,應該調用的函數爲類A的set,而不是類B自身的set函數,應該避免調用的二義性;

(3)主要考查對繼承與派生的理解,由所要求輸出結果可知正確:s()。

#include

using namespace std;

class A

{

protected:

int n,m;

public:

void set(int a,int b){m=a;n=b;}

void show(){cout<

/**********found**********/

};

class B:public A

{

int s;

public:

void set(){ s=m*n;}

void shows(){cout<

};

void main()

{

B b;

/**********found**********/

b.A::set(4,5);

();

();

/**********found**********/

s();

}