全国计算机二级考试C++语言程序设计上机考试试题及答案
一、程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
9,8,7,6,5
注意:错误的语句在/********error********/的下面,修改该语句即可。其他的语句不能修改。
试题程序:
#include(iostream.h>
classTC
{
/********error********/
TC(inti)
{
m_i=i;
}
voidprint()
{
cout<<--m_i<<’,’;
}
public:
intm_i;
};
intmain()
{
/********error********/
inti();
TC04(10);
while(i>5)
{
/********errOr********/
i++:
04.print();
}
cout< return0;
}
二、简单应用题
使用vC++6.0打开考生文件夹下的源程序文件2.cpp,请实现函数fun(doublea[],intlen)的如下功能:
(1)a[]是一个数组,长度为len。
(2)a[0]=0,a[1]=1。
(3)a[i+2]=a[i]+a[i+1]。
注意:不能修改函数的其他部分。
试题程序:
#include(iostream)
voidfun(doublea[],intlen)
{
}
voidmain()
{
doublea[20];
fun(a,20);
for(inti=0;i<20;i++)
{
std::cout< if(i%6==5)
std::eout< }
return;
)
三、综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。请完成以下部分,实现在屏幕上输出为
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;
obj3.print();
obj2.print();
return;
}
上机考试试题答案与解析
一、程序改错题
(1)应添加“public:”。
(2)“inti()”应改为“inti(10);”。
(3)“i++;”应改为“i--;”。
【解析】本题主要考查的是成员的访问属性。成员的访问属性有公有、保护和私有3种,而默认的访问属性为私有,只有公有成员才能通过类的对象被访问。故应在构造函数前添加“public:”,否则该类无法被实例化。变量的初始化可以通过“=”号,也可以和初始化对象一样添加构造参数,题目已要求使用后者。本题要求输出5个数,while的循环变量i每次减1,在i>5时循环,故i初始化应为10。若循环中i每次增1,则循环永远不会退出。
二、简单应用题
voidfun(doublea[],intlen)
{
if(1en>O)
a[0]=0:
if(1en>1)
a[1]=1;
for(inti=2;i<1en;i++)
a[i]=a[i-1]+a[i-2];
}
【解析】本题考查的是计算数列值。首先给a[0]和a[1]赋初值,注意判断数组是否越界,然后循环遍历a[2]~a[len-1],根据题目给出关系计算每一个元素的值。
三、综合应用题
(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”。
全国计算机等级考试计算机基础及Photoshop应用试题答案汇总(6套)
[Photoshop应用]2017年2月3日全国计算机等级考试四级数据库系统工程师试题及答案汇总(22套)
[数据库工程师]2017年2月2日全国计算机一级考试模拟试题及答案300题
[WPS Office应用]2017年1月22日2017年3月全国计算机等级考试报名时间及报名入口汇总
[考试动态]2017年1月3日2017全国计算机等级考试考试大纲专题
[政策大纲]2017年1月3日