计算机等级 百分网手机站

计算机二级C++考试测试卷及答案(3)

时间:2017-06-08 19:14:39 计算机等级 我要投稿

计算机二级C++考试测试卷及答案

  A.文件流只能完成针对磁盘文件的输入、输出

  B.建立一个文件流对象时,必须同时打开一个文件

  C.若输入流要打开的文件不存在,将建立一个新文件

  D.若输出流要打开的文件不存在,将建立一个新文件

  35.有如下程序:

  #include

  usingnamespacestd;

  classPair{

  intm,n;

  public;

  Pair(intj,intk):m(j),n(k){}

  intget(){returnm;}

  intget()const{returnm+n;}

  };

  intmain(){

  Paira(3,5);

  constPairb(3,5);

  cout<  return0;

  }

  运行时的输出结果是(  )。

  A.33

  B.38

  C.83

  D.88

  36.有如下程序:

  #include

  usingnamespacestd;

  voidf1(int&X,int&y){intz=x;x=y;y=z;}voidf2(intX,inty){intz=x;x=y;y=z;}intmain(){

  intx=10,y=26;

  f1(x,y);

  f2(x,y);

  cout<  return0;

  }

  运行时的输出结果是(  )。

  A.10

  B.16

  C.26

  D.36

  37.有如下程序:

  #include

  usingnamespacestd;

  classXA{

  inta;

  public:

  staticintb;

  XA(intaa):a(aa){b++;}

  ~XA(){}

  intget(){returna;}

  };

  intXA::b=0

  intmain(){

  XAd1(1),d2(3);

  cout<  return0;

  }

  运行时的输出结果是(  )。

  A.5

  B.6

  C.7

  D.8

  38.有如下程序:

  #include

  usingnamespacestd;

  classPoint{

  intX,y;

  public:

  Point(intx1=0,inty1=0):X(x1),y(y1){}

  intget(){returnx+y;}

  };

  classCircle{

  Pointcenter;

  intradius;

  public:

  Circle(intCX,intcy,intr):center(CX,cy),radius(r)

  {}

  intget(){returncenter.get()+radius;}

  };

  intmain(){

  Circlec(3,4,5);

  cout<  return0;

  }

  运行时的输出结果是(  )。

  A.5

  B.7

  C.9

  D.12

  39.若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是(  )。

  A.operatorlong()const;

  B.operatorlong(BigNumber);

  C.10ngoperatorlong()const;

  D.longoperatorlong(BigNumber);

  40.有如下函数模板定义:

  template

  T1FUN(T2n){returnn*5,0;}

  若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为(  )。

  A.FUN(9)

  B.FUN<9>

  C.FUN(9)

  D.FUN<9>(double)

  【参考答案及解析】

  1.A。【解析】栈是限定在一端进行插入删除的先入后出的线性表数据结构,栈顶元素最后插入到栈中,但是最先被删除;而栈底元素最先插入,最后被删除。

  2.D。【解析】线性表的特点是:在数据元素的非空有限集合中1)存在唯一的一个被称为”第一个”的数据元素2)存在唯一个被称为”最后一个”的数据元素3)除第一个以外,集合中的每个数据元素均只有一个后继4)除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。

  3.D。【解析】对于任意一棵二叉树T,如果叶子节点数为nO,度为2的结点数为n2,二者之间的关系是nO=n2+1,该题中度为2的结点数为0,且只有一个叶子节点,因此,树中度为1的结点有6个,很容易想到树的深度为7。

  4.D。【解析】需求分析阶段只能产生需求分析规格说明书,A测试说明书是软件测试阶段生成的,B软件详细设计说明数是设计阶段生产,C用户手册是软件发布时随软件一同交付给用户的。

  5.B。【解析】结构化程序设计的三种结构是顺序、分支和循环,不包括goto跳转,它只是分支结构的一种,也是一个关键字。

  6.A。【解析】软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。

  7.C。【解析】数据库操纵语言专门负责查询,增加,删除等数据操作。

  8.D。【解析】一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的E-R关系。

  9.C。【解析】S中的关系全部出现在R中,只有做除法操作才会出现关系T。

  10.B。【解析】A是有符号数,C是浮点数,D是集合,并不是类的实例化对象,只有B完全符台。

  11.D。【解析】函数声明的时候,是不需要实现部分的,也就是函数体。

  12.D。【解析】类的非静态成员都是有this指针的。可以通过obj非静态成员访问。

  13.B。【解析】需要实现父类构造函数。

  14.B。【解析】赋值运算符只能作为重载函数的成员函数,其他运算符都可以作为友元函数重载。

  15.D。【解析】函数模板只是声明,一个函数的描述即模板,不是一个可以直接执行的函数,只有根据实际情况用实参的数据类型参数标识符之后,才能产生真正的.函数。