糯米文學吧

位置:首頁 > 計算機 > 計算機二級

2016下半年計算機二級C語言上考試題及答案

  一.程序改錯題

2016下半年計算機二級C語言上考試題及答案

使用VC++6.0打開考生文件夾下的源程序文件,該程序運行時有錯誤,請改正其中的錯誤,使程序正確運行,並且使程序輸出的結果為

0K

注意:錯誤的語句在//******error******的下面,修改該語句即可。

試題程序:

#include

classTC

{

public:

TC()

{

a=b=0:

}

private:

inta,b;

};

classTCl:publicTC

{

public:

TC1()

{

}

//******error******

virtualvoidfunc();

};

classTC2:publicTCl

{

public:

TC2()

{

a=0:

b=0:

}

voidfunc()

{

//******error******

cout<<"OK"  }

private:

inta;

intb;

};

voidmain()

{

TC20bj;

//******error******

TCl*p=(TCl*)obj;

p->func();

}

(1)應改為“virtualvoidfunc()=0;”。

(2)應改為“cout<<"0K"<(endl;”。

(3)應改為“TCl*p=(TCl*)&obj;”。

【解析】本題中TCl類中的func函數是純虛函數,純虛函數的定義格式為virtual<函數類型><函數名>((參數表>)=0”,因此第1處的語句應為“virtualvoidfunc()=0;”。func函數沒有參數表。編譯程序後發現第2處的語句有錯誤,cout流中的數據是用流插入運算符“<<”順序加入的,因此“<”不正確,應改成“cout<<"0K"<

  二.綜合應用題

使用VC++6.0打開考生文件夾下的源程序文件。其中定義的類不完整,按要求完成下列操作,將類的`定義補充完整。

(1)完成TC的構造函數,請改正註釋1後的錯誤。

(2)完成func函數定義,請改正註釋2後的錯誤。

(3)初始化CmyClass的成員變量Num3為4,請改正註釋3後的錯誤。

(4)完成func函數,請改正註釋4後的錯誤。

輸出的結果為

Num1=12

Num2=18

Num3=16

Num1=4

Num2=2

Num3=19

注意:除在指定位置添加語句之外,不要改動程序中的其他內容。