首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C加加 > 模拟试题 > 正文

2018年3月计算机二级C++过关练习题及答案(4)

来源:考试吧 2018-02-06 14:50:41 要考试,上考试吧! 万题库
“2018年3月计算机二级C++过关练习题及答案(4)”供考生参考。更多计算机等级考试相关信息请关注考试吧计算机等级考试网。

  点击查看:2018年3月计算机二级C++过关练习题及答案汇总

  1[单选题]算法的空间复杂度是指

  A.算法程序的长度

  B.算法程序中的指令条数

  C.算法程序所占的存储空间

  D.执行过程中所需要的存储空间

  参考答案:D

  2[单选题]下面程序的结果为

  #include

  int c;

  class A

  {

  private:

  int a;

  static int b;

  public;

  A(){a=0;c=0;}

  void seta(){a++;}

  void setb(){b++;}

  void setc(){c++;}

  void display(){cout <<<<

  int A::b=0;

  void main()

  {

  A al,a2;

  al.seta();

  al.setb();

  al.setc();

  a2.seta();

  a2.setb();

  a3.setc();

  a2.display();

  A.121 B.122 C.112 D.222

  参考答案:B

  3[单选题]下列关于线性链表的描述中,正确的是(  )。

  Ⅰ、只含有一个指针域来存放下一个元素地址

  Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件l

  Ⅲ、结点由两部分组成:数据域和指针域。

  A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部

  参考答案:D

  参考解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。

  4[单选题]在下列关于二叉树的叙述中,正确的一项是(  )。

  A.在二叉树中,任何一个结点的度都是2

  B.二叉树的度为2

  C.在二叉树中至少有一个结点的度为2

  D.一棵二叉树的度可以小于2

  参考答案:B

  参考解析:特别要注意“结点的度”和“树的度”是两个不同的概念。“结点的度”指的是此结点拥有的后件个数。“树的度”指的是所有结点中的最大的度。在二叉树中,结点中最大的变为2,所以二叉树的度为2。但并不是每一个结点的度都是2,可以为0或1,当二叉树为空时没有结点,所以也不会有度为2的结点,所以C)也是错误的。

  5[单选题]有如下程序:

  

  A.

  

  B.

  

  C.

  

  D.程序编译时出错

  参考答案:B

  参考解析:

  

  6[单选题] 静态成员函数没有(  )。

  A.返回值B.this指针C.指针参数D.返回类型

  参考答案:B

  参考解析:this指针是系统隐含的用于指向当前对象的指针。由于静态函数是同类中所有对象都共享的函数,在内存中只存在一份,不属于某个对象所有,所以静态函数没有this指针。

  7[单选题] 有如下程序:

  ﹟nclude

  using namespace std;

  int main()

  {

  int*P;

  *P=9:

  cout<<”The value at p:”<< *p;

  return 0;

  }

  编译运行程序将出现的情况是( )。

  A.编译时出现语法错误,不能生成可执行文件

  B.运行时一定输出:l'lle value at P:9

  C.运行时一定输出:llle value at P:*9

  D.运行时有可能出错

  参考答案:D

  参考解析:先定义指针变量,然后给指针变量赋初值有三种情况:①用取地址运算符“&”将变量地址赋给指针变量,如P=&a;②将一个指针变量中的地址赋给另一个指针变量,如P=p1;③给指针变量赋空值0,如q=0,表示该指针变量不指向任何变量。而不能用一个常量给指针变量赋初值,所以本题选D。

  8[单选题] 算法的时间复杂度是指(  )。

  A.算法的执行时间

  B.算法所处理的数据量

  C.算法程序中的语句或指令条数

  D.算法在执行过程中所需要的基本运算次数

  参考答案:D

  参考解析:算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=O(f(n)),因此,问题的规模n越大,算法执行的时间增长率与f(n)的增长率正相关,称做渐进时间复杂度(AsymptoticTimeCom-plexity)。简单来说就是算法在执行过程中所需要的基本运算次数。

  9[简答题]请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

  1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//t+++found母***”。

  #nClude using namespaCe std; //矩阵基础类,一个抽象类

  Class MatrixBase{ int rows,Cols; publiC:

  MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩阵行数

  int getCols()Const{return Cols;}//矩阵列数

  virtual double getElement(int r,int C)Const=0;//取第i个元素的值 void show()Const{//分行显示矩阵中所有元素

  for(int i=0;i

  for(int j=0;j

  } }; //矩阵类

  Class Matrix:publiC MatfixBase{ double*val;

  publiC: //**********found**********

  Matrix(int rows,int Cols,double in[]=NULL):——{ //**********found**********

  val=;

  for(int i=0:i

  val[i]=(m==NULL?0.0:Ill[i]);

  }

  一Matrix(){delete[]val;} double getElement(int r,int C)Const{retum val[r*getCols()+C];}

  };

  //单位阵(主对角线元素都是l,其余元素都是0的方阵)类 Class UnitMatrix:publiC MatrixBase{

  publiC:

  UnitMatrix(int rOWS):MatrixBase(rows,rows){} //单位阵行数列数相同

  double getElement(int r,int C)Const{ //**********found**********

  if(_____)retum l.0; retum 0.0;

  } }; int main(){

  MatrixBase*m;

  double d[][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}}; ITI=new Matrix(3,5,(double*)d);

  m→show(); delete m;

  Cout<

  m=new UnitMatrix(6); Ill→show();

  delete m; retum0; } .

  参考解析:

  (1)getElemenl(1,i)

  f2)MatrixBase(rows,cols)

  (3)flew double[rows*cols]

  (4)r==C

  [填空题]类class one在声明func成员函数时发生错误,出错原因是_______。

  

  参考解析:

  【答案】class one前没有声明语句class two;

  【解析】当一个类作为另一个类的成员函数、成员函数的 参数或其他情况的时候,要确保编译器能正确解析。由于在class one之前没有关于class two的任 何说明.而在class one的func函数中却用了class two类的参数。因此是错误的。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  相关推荐:

  2018年全国计算机等级考试必做试题汇总(各科目)

  2018年全国计算机等级考试复习知识点汇总(各科目)

  2018计算机等级考试报名时间|各地报名入口|报名条件

  2018年全国计算机等级考试时间|教材目录(2018年版)

  2018全国计算机等级考试备考经验及应试技巧汇总

  报名方法|考试内容|考试大纲|2018计算机等级考试科目

  历年真题汇总|考试吧策划:2018年计算机等级考试报考指南

0
收藏该文章
0
收藏该文章
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 出版物经营许可证新出发京批字第直170033号 
京ICP证060677 京ICP备05005269号 中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧