當前位置:才華齋>計算機>計算機二級>

2015下半年計算機二級C++考前模擬試題及答案(二)

計算機二級 閱讀(4.67K)

  一、填空題

2015下半年計算機二級C++考前模擬試題及答案(二)

1.資料結構分為邏輯結構與儲存結構,線性連結串列屬於【1】。

【參考答案】

【1】儲存結構

2.耦合和內聚是評價模組獨立性的兩個主要標準,其中【2】反映了模組內各成分之間的聯絡。

【參考答案】

【2】內聚

3.資料庫設計分為以下6個設計階段:需求分析階段、【3】、邏輯設計階段、物理設計階段、實施階段、執行和維護階段。

【參考答案】

【3】資料庫概念設計階段

4.面向物件的模型中,最基本的概念是物件和【4】。

【參考答案】

【4】類

5.資料模型按不同應用層次分成3種類型,它們是概念資料模型、【5】和物理資料模型。

【參考答案】

【5】邏輯資料模型

6.開發一個C++語言程式的步驟通常包括編輯、【6】、連結、執行和除錯。

【參考答案】

【6】編譯

7.下面程式的輸出結果為【7】。

#include

void main()

{

int num=0,i=8;

do{

i--;

num++;

}while(--i);

cout<

}

【參考答案】

【7】-4

8.下面程式的執行結果為【8】。

#include

void fun(int x=0,int y=0)

{cout<

void main()

{fun(5);}

【參考答案】

【8】50

9.C++語言支援的兩種多型性分別是編譯時的多型性和【9】的多型性。

【參考答案】

【9】執行時

(′A′);,還可以表示為【10】。

【參考答案】

【10】cout<<′A′;

11.將以下程式寫成三目運算表示式是【11】。

if(a>b)max=a;

else max=b;

【參考答案】

【11】max=(a>b)?a:b;

12.下面程式的功能是將字元陣列a中下標值為偶數的元素從小到大排列,其他元素不變,請填空。

#include

#include

void main()

{ char a[]=″clanguage″,t;

int i,j,k;

k=strlen(a);

for(i=0;i<=k-2;i+=2)

for(j=i+2;j<=k;【12】)

if(【13】)

{ t=a[i];a[i]=a[j];a[j]=t;}

cout<

cout<

【參考答案】

【12】j+=2 【13】a[i]>=a[j]或a[i]>a[j]

13.請定義一個函式名為A,返回值為int,沒有引數的純虛擬函式的定義是【14】。

【參考答案】

【14】virtual int A()=0;

14.假設fin是一個檔案流物件,則關閉檔案的語句是【15】。

【參考答案】

【15】fin

上機部分

  一、改錯題

使用VC6開啟考生資料夾下的工程kt5_1,此工程包含一個源程式檔案kt5_,但該程式執行有問題,請改正程式中的錯誤,使程式的輸出結果如下:

(1,2)

5,6

(6,9)

源程式檔案kt5_清單如下:

#include

classA{

public:

A(inti,intj){a=i;b=j;}

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

voidMove(intx,inty){a+=x;b+=y}

voidShow(){cout<<"("<

private:

inta,b;

};

classB:privateA

{

public:

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

B(inti,intj,intk,intl):(i,j){x=k;y=l;}

voidShow(){cout<

voidfun(){Move(3,5);}

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

voidf1(){Show();}

private:

intx,y;

};

voidmain()

{

Ae(1,2);

();

Bd(3,4,5,6);

();

();

d.f1();

}

【參考答案】

(1)將void Move( int x, int y) {a+=x;b+=y}

改為:void Move( int x, int y) {a+=x;b+=y;}

(2)將B(int i,int j,int k,int l):(i,j) {x=k;y=l;}

改為:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;}

(3)將void f1(){Show();}

改為:void f1(){A::Show();}

試題解析】

(1)主要考查對錶達式定義規則的掌握,此處缺少一個“;”,任何一個表示式都應該以分號作為結束標誌;

(2)主要考查對派生類建構函式定義的掌握,引數列表中基類的成員應使用基類建構函式初始化,因此必須向基類傳遞引數,傳遞時直接使用基類名;

(3)主要考查對基類函式呼叫方法的掌握,為了呼叫基類的函式應該使用作用域符“::”以限定訪問的位置。