计算机二级考试C++试题
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。以下是小编整理的关于计算机二级考试C++试题,希望大家认真阅读!
1[单选题] 已知函数FA调用函数FB,若要把这两个函数定义在同一个文件中,则( )。
必须定义在FB之前
必须定义在FA之前
C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
参考答案:D
参考解析:如果使用用户自己定义的函数,而该函数与调用它的函数(即主调用函数)在同一程序单元中,且位置在主调用函数之后,则必须在调用此函数之前对被凋用的函数作声明。
2[单选题]单个用户使用的数据视图的描述称为
A.外模式 B.概念模式 C.内模式 D.存储模式
参考答案:A
3[单选题] 生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。
A.无需任何条件
B.基类中显式定义了构造函数
C.派生类中显式定义了构造函数
D.派生类构造函数明确调用了基类构造函数
参考答案:D
参考解析:派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类的数据成员得以初始化。
4[单选题] 下列叙述中正确的.是( )。
A.在面向对象的程序设计中,各个对象之间具有密切的关系
B.在面向对象的程序设计中,各个对象都是公用的
C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
D.上述三种说法都不对
参考答案:C
参考解析:面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。
5[简答题] 有以下两个程序,分析它们的执行结果有什么不同。
程序1:
#include
class Point
{
int x,y;
public:
Point(){x=y=0;}
Point(int i,int j){x=i;y=j;}
Point operator+(Point);
void disp() ( cout<<”(”<
}
Point Point::operator+(Point P)
{
this->x+=P.x; this->y+=p.y;
return *this;
}
void main()
{
Point pl(2,3),p2(3,4),p3;
cout<<”p1:”;();
cout<<”p2:”;();
p3=pl+p2;
cout<<”执行p3=p1+p2后”<
cout<<”p1:”,();
cout<<”p2:”;();
cout<<”p3:”;();
}
程序2:
#include
class Point{
int x,Y;
public:
Point(){x=y=O;}
Point(int i,int j){x=i,y=j;}
Point operator+(Point);
void disp f){cout<< ”(”<
}
Point Point::operator+(Point P)
{
Point s;
s.x=x+p.x; s.y=y+p.y;
return s;
}
void main()
{
Point pl(2,3),p2(3,4),p3;
cout<<”p1:”;();
cout<<”p2:”;();
p3=pl+p2;
cout<<”执行p3=p1+p2后”<
cout<<”p1:”;();
cout<<”p2:”;();
cout<<”p3:”;();
}
参考解析:这两个程序中的main函数完全相同,类Point中的运算符重载均采用成员函数方式实现,只是程序1的运算符重载函数使用this指针,而程序2的运算符重载函数使用局部对象。
p3=p1+p2 等价于p3=ator+(p2)。对于程序1,this指针指向p1对象,执行this->x+=p.x;this->y十一 p.y;语句,修改p l对象的x和y成员值,执行return*this;语句,将pl对象赋给p3。所以p1和p3两个对象的x、Y值相同,即p3=pl+p2等价于 p1=p1+p2,p3:p1,其运行结果如下:
p1:(2,3)
p2:(3,4)
执行p3=pl+p2后
P1:(5,7)
p2:(3,4)
P3:(5,7)
对于程序2,执行运算符重载函数,Point s;语句定义一个对象,s.x=x+p.x;s.y=y+p.y;语句用于修改s对象的x、Y值,ret%il~l s;语句返回该对象,赋给p3,而p1和p2对象不改变。其运行结果如下:
p1:(2,3)
p2:(3,4)
执行p3=pl+p2后
p1:(2,3)
p2:(3,4)
p3:(5,7)第
-
2017计算机一级考试MSoffice模拟题及答案
MSoffice是计算机的基础技术,也是计算机一级考试的科目之一。下面是yjbys小编为大家带来的计算机一级考试MSoffice模拟题及答案。欢迎阅读。MSoffice模拟题[1]3.5英寸软磁盘上的方型小孔和滑块是用于()。[参考答案B][A]读保护[B]写保护[C]驱动定位[D]机械配合[2...
-
2017年计算机等级考试二级VB真题附答案
随着硬件价格的下降,许多终端都具有一定的智能,因而终端和自治的计算机逐渐失去了严格的界限。下面是小编整理的关于计算机等级考试二级VB真题附答案,欢迎大家参考!一、选择题1).是一个具有两个备注型字段的数据表文件,若使用COPYTOTEMP命令进行复制操作,其结果是A....
-
2017年全国计算机二级Access 数据库程序设计考试大纲
Access数据库程序设计是计算机二级考试的重要科目之一。下面是小编给大家带来的2017年全国计算机二级Access数据库程序设计考试大纲。欢迎阅读。2017年全国计算机二级Access数据库程序设计考试大纲基本要求1.掌握数据库系统的基础知识。2.掌握关系数据库的基本...
-
计算机二级c语言题库2016
1.关于结构化程序设计原则和方法的描述错误的是(C)。A.选用的结构只准许有一个人口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用GOT0语句D.语言中若没有控制结构,应该采用前后一致的方法来模拟2.算法的空间复杂度是指(D)。A.算...