网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2016年计算机二级《C++》非选择题练习及答案

栏目: 计算机二级 / 发布于: / 人气:8.36K

  一、程序改错题

2016年计算机二级《C++》非选择题练习及答案

1、使用VC++6.0打开考生文件夹下的源程序文件,该程序运行时有错。请改正程序中的错误,使程序输出的结果为

100

37

32

注意:错误的语句在//******error******的下面,修改该语句即可。

试题程序:

#include

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

voidmain

{

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

intm=0142:

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

intn=0X27:

intq=32;

cout<

cout<

cout<

return;

}

参考解析:

(1)“voidmain()”。

(2)“intm=0144;”。

(3)“intn=OX25;”或“intn===0x25;”。

【解析】本题主要考查了主函数定义及幂同进制之间的转换,包括十进制到八进制,十进制到十六进制。主函数定义的定义形式为“main()”,函数名之后必须是一对括号,因此第1处应改为“voidmain()”。cout输出默认是以十进制方式输出的,根据题目要求输出的结果可发现变量的初值不正确,十进制的100对应八进制的144,卡进制的37对应十六进制的25,因此2和3应分别改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。

  二、简单应用题

2、使用VC++6.0打开考生文件夹下的源程序文件。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。

A

AA

AAA

注意:不能修改程序的.其他部分,只能修改fun函数。

试题程序:

#include

voidfun(intn)

{

}

voidmain()

{

intn;

cout<<"请输入打印的行数:"<

cin>>n;

if(n<1)

{

cout<<"输入的行数必须大于0"<

return;

}

fun(n);

return;

}

参考解析:

inti;

for(i=0;i

{

intj;

for(j=0;j(n-i-1;j++)//循环打印空格

{

cout<<'';

}

for(;j

{

cout<<"A":

}

cout<

}

【解析】本题利用外层循环打印每一行。内层循环分为

打印空格和打印A。打印空格由第一个位置到第n-i-1。打印A,是由打印完空格开始一直到行结束。在外循环中打印每一行的结束符。

  三、综合应用题

3、使用VC++6.0打开考生文件夹下的源程序文件。请完成以下部分,实现在屏幕上输出为

C3

C2

这个程序需要修改的部分,请按照以下部分实现。

(1)类C0不能被实例化,请定义一个纯虚函数print,在注释1后添加适当的语句。

(2)类C1私有虚继承类C0,请在注释2后添加适当的语句。

(3)类C2公有继承于C0,请在注释3后添加适当的语句。

(4)类c3公有继承于C2与C1,请在注释4后添加适当的语句。

注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。

试题程序:

#include(iostream.h)

classCO

{

//********1********

};

//********2********

classC1:

{

public:

voidprint()

{

cout<"”C1"<

}

};

//********3********

classC2:

{

public:

voidprint()

{

cout<<"C2"<

}

};

//********4***x****

classC3:

{

public:

voidprint()

{

cout<<"C3"<

}

};

voidmain()

{

C30bj3;

C20bj2;

t();

t();

return;

}

  参考解析:

(1)应添加“virtualvoidprint()=0,”。

(2)“classC1:”应改为“classC1:virtualprivateC0”。

(3)“classC2:”应改为“classC2:publicC0”。

(4)“classC3:”应改为“classC3:publicC2,publicC1”。

【解析】本题考查了类的继承。根据题意,第1处应该添加“virtualvoidprint()=0;”。第2处根据题意,在冒号后面应添加“virtualprivateCO”。第3处根据题意,冒号后应添加“publicCO”。第4处根据题意,冒号后应添加“publicC2,publicC1”。