当前位置:首页 > 思想汇报 > C证练习题 2018年计算机二级考试C++过关练习题预测
 

C证练习题 2018年计算机二级考试C++过关练习题预测

发布时间:2018-11-05 04:31:37 影响了:
计算机等级网权威发布2016年计算机二级考试C++过关练习题预测,更多2016年计算机二级考试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)也是错误的。

  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; } .

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3