计算机等级 百分网手机站

全国计算机二级C++考试试题附答案

时间:2017-06-23 11:25:31 计算机等级 我要投稿

2017年全国计算机二级C++考试试题附答案

  C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。下面是小编收集的全国计算机二级C++考试试题附答案,希望大家认真阅读!

  一、选择题

  1.从工程管理角度,软件设计一般分为两步完成,它们是(  )。

  A.概要设计与详细设计

  B.数据设计与接口设计

  C.软件结构设计与数据设计

  D.过程设计与数据设计

  2.下列叙述中正确的是(  )。

  A.一个逻辑数据结构只能有一种存储结构

  B.数据的逻辑结构属于线性结构,存储结构属于非线性结构

  C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

  D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的.效率

  3.下列关于完全二叉树的叙述中,错误的是(  )。

  A.除了最后一层外,每一层上的结点数均达到最大值

  B.可能缺少若干个左右叶子结点

  C.完全二叉树一般不是满二叉树

  D.具有结点的完全二叉树的深度为[log2n]+1

  4.如果进栈序列为e1、e2、e3、e4,则可能的出栈序列是(  )。

  A.e3、e1、e4、e2

  B.e2、e4、e3、e1

  C.e3、e4、e1、e2

  D.任意顺序

  5.原因排除法属于(  )。

  A.软件调试方法

  B.黑盒测试方法

  C.白盒测试方法

  D.动态测试方法

  6.在E—R图中,用来表示实体的图形是(  )。

  A.矩形

  B.椭圆形

  C.菱形

  D.三角形

  7.下列数据模型中,具有坚实理论基础的是(  )。

  A.层次模型

  B.网状模型

  C.关系模型

  D.以上3个都是

  8.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(  )。

  A.log2n

  B.n/2

  C.n

  D.n+1

  9.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(  )。

  A.控制流

  B.加工

  C.数据存储

  D.源和潭

  10.数据库设计的根本目标是要解决(  )。

  A.数据共享问题

  B.数据安全问题

  C.大量数据存储问题

  D.简化数据维护

  二、改错题

  使用VC6打开考生文件夹下的工程kt9_1,此工程包含一个源程

  序文件kt9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

  4,5

  20

  源程序文件清单如下:

  #include

  using namespace std;

  class A

  {

  protected:

  int n,m;

  public:

  void set(int a,int b){m=a;n=b;}

  void show(){cout<

  /**********found**********/

  }

  class B:public A

  {

  int s;

  public:

  void set(){ s=m*n;}

  void shows(){cout<

  };

  void main()

  {

  B b;

  /**********found**********/

  b.set();

  b.show();

  b.set();

  /**********found**********/

  b.show();

  }  【参考答案】

  (1)在“}”后添加分号

  (2)将b.set();改为:b.A::set(4,5);

  (3)将b.show();改为:b.shows();

  【试题解析】

  (1)主要考查对类定义格式的掌握,类的结尾应该使用";";

  (2)主要考查对基类与派生类函数调用关系的掌握,根据所要求的输出结果,应该调用的函数为类A的set,而不是类B自身的set函数,应该避免调用的二义性;

  (3)主要考查对继承与派生的理解,由所要求输出结果可知正确:b.shows()。

  #include

  using namespace std;

  class A

  {

  protected:

  int n,m;

  public:

  void set(int a,int b){m=a;n=b;}

  void show(){cout<

  /**********found**********/

  };

  class B:public A

  {

  int s;

  public:

  void set(){ s=m*n;}

  void shows(){cout<

  };

  void main()

  {

  B b;

  /**********found**********/

  b.A::set(4,5);

  b.show();

  b.set();

  /**********found**********/

  b.shows();

  }