荟萃馆

位置:首页 > 计算机 > 计算机二级

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

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