考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C加加>模拟试题>正文
2016年计算机二级《C++》基础练习题及答案(4)
考试吧 2016-01-13 11:53:50 评论(0)条

  点击查看:2016年计算机二级《C++》基础练习题及答案汇总

  1[单选题] 下列运算符中不能在C++中重载的是(  )。

  A.?:B.+C.-D.<=

  参考答案:A

  参考解析:本题考查运算符的重载。C++中,::、*…?:这4个运算符不能重载。

  2[单选题]下列关于派生类叙述中,错误的是

  A.派生类至少要有一个基类

  B.派生类中包括了从基类继承的成员

  C.一个派生类可以作为另一个派生类的基类

  D.基类成员被派生类继承以后访问权限保持不变

  参考答案:D

  3[单选题]若要说明一个类型名STP,使得STP s;等价于char*s;,以下选项中正确的是 (  )。

  A.typedef STP chara*s;

  B.typedefa *char STP:

  C.typedef STPfi*char;

  D.typedef chara*TP:

  参考答案:D

  参考解析:本题考查类型定义typedef的使用方式,考生常犯的问题是把两者的位置颠倒。

  4[单选题]有下列程序:

  #include

  voiD.main( )

  {

  int i,k,a[10],p[3];

  k=5;

  for(i=0;i<9;i++) a[i]=i;

  for(i=0;i<3;i++) p[i]=a[i*(i+1)];

  for(i=0;i<3;i++) k+=p[i]*2;

  cout<

  }

  其输出结果是(  )。

  A.20B.21C.22D.23

  参考答案:B

  5[单选题]下面程序的运行结果为

  #include

  void main()

  {

  for(int a=0,x=0;!x&&a<=10;a++)

  {

  a++;

  } l

  cout<<

  }

  A.10 B.11 C.12 D. 0

  参考答案:C

  6[单选题]在下面的类定义中,横线处应填入的内容是( )。

  class Fred

  {

  public:

  void print(){cout<

  void setData(double d){data=d;}

  static int count;

  private:

  double data;

  };

  count=0; //静态数据成员的定义

  A.intB.static intC.int Fred::D.static int Fred::

  参考答案:C

  参考解析:此题考查的是静态数据成员的定义。题目中count数据成员要定义成静态的,其初始化的格式为:类型 类名::静态数据成员=常量。

  7[单选题] 下面关于模板的描述,错误的是( )。

  A.函数模板和类模板的参数可以是任意的数据类型

  B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用

  C.函数模板不能直接使用,需要实例化为模板函数后才能使用

  D.类模板的成员函数都是模板函数

  参考答案:A

  参考解析:类模板不能被重载,而函数模板可以,它们不能被未知的数据类型替换。

  8[单选题]

  

  A.x=15B.x=17C.x=23D.x=25

  参考答案:C

  参考解析:

  

  9[填空题]数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是__________。

  参考解析:数据库系统

  【解析】在人工管理阶段,数据无法共享、冗余度大,完全依赖于程序;在文件系统阶段,数据共享性差;而数据库系统具有三级模式及二级映射的抽象结构系统,从而保证了数据独立性的实现。

  10[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.epp。完成空出函数fun(char*S,char*t)部分。函数fun(char*s,char*t)的功能是将在字符串S中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列。

  例如:当s中的字符串为“ABCDEF”时,t中的字符串应为“AACCEE”。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  #include

  voidfun(char*s,char*t)

  {

  }

  voidmain()

  {

  chars[100],t[100];

  cout<<"Pleaseenterstrings:"<

  tin.getline(s,100);

  fun(s,t);

  cout<<"Theresultis:"<

  return;

  }

  参考解析:

  voidfun(char*s,char*t)

  {

  inti;

  for(i=0;s[i]!==0;i++)

  {

  if(i%2==0)

  {

  t[i]=s[i];

  t[i+2]='\0';

  }

  }

  }

  【解析】本题要求将在字符串s中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列,也就是说重复出现一次偶数位的字符,数组的下标是从0开始的,所以会重复第1、3、5…的字符。

  11[单选题] 没有定义int x;float Y;,则10+x+y值的数据类型是( )。

  A.intB.doubleC.floatD.不确定

  参考答案:C

  参考解析:由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为int→float→double。

  12[填空题]二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。二进制文件的输入输出分别采用read()、write() 成员函数。 这两个成员函数的参数都是 个,分别表示 和 。

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

  

  该程序的输出结果是(  )。

  A.不定值 B.2 C.1 D.0

  参考答案:D

  参考解析:本题较为简单.实际上其中的for循环只是起到混淆视听的效果.对结果并没有任何影响。

  14[单选题] 下述关于数据库系统的叙述中,正确的是(  )。

  A.数据库系统减少了数据冗余

  B.数据库系统避免了一切冗余

  C.数据库系统中数据的一致性是指数据类型一致

  D.数据库系统比文件系统能管理更多的数据

  参考答案:A

  参考解析:数据库系统会减少数据冗余,但不可能避免一切冗余。

  15[单选题]假定MyClass为一个类,那么下列的函数说明中,(  )为该类的析构函数。

  

  

  

  

  参考答案:D

  参考解析:

  

  16[单选题]有如下类定义

  class MyClass

  {

  public:

  Private:

  int data;

  };

  若要为MyClass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入 MyClass类对象 obj,则横线处的声明语句应为( )。

  A.friend istream& operator >>(istream& is,MyClass& a);

  B.friend istream& operator >>(istream& is,MyClass a);

  C.istream& operator >>(istream& is,MyClass& a);

  D.istream& operator >>(istream& is,MyClass a);

  参考答案:A

  参考解析:C++的输入运算符>>作为非类成员函数重载。在一个类中,可将输入运算符>>声明为友元函数,在类MyClass重载输入运算符>>的形式如选项A)所示。

  17[单选题] 下列有关继承和派生的叙述中,正确的是(  )。

  A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员

  B.派生类的成员函数可以访问基类的所有成员

  C.基类对象可以赋值给派生类对象

  D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类

  参考答案:D

  参考解析:私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。

  18[单选题]以下关于数据的逻辑结构的叙述中,不正确的是(  )。

  A.数据的逻辑结构是数据间关系的描述

  B.数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式

  C.数据的逻辑结构分为线性结构和非线性结构

  D.树形结构是典型的非线性结构

  参考答案:B

  参考解析:数据的逻辑结构是数据间关系的描述,它仅抽象地反映数据间的逻辑关系,并不管其在计算机中的存储方式。数据的逻辑结构分为线性结构和非线性结构。若各数据元素之间的逻辑关系可以用一个线性序列简单地表示出来则称之为线性结构,否则称为非线性结构。线性表是典型的线性结构,而树形结构是典型的非线性结构。

  【知识拓展】对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。

  19[单选题] 下列关于栈叙述正确的是( )。

  A.栈顶元素最先能被删除

  B.栈顶元素最后才能被删除

  C.栈底元素永远不能被删除

  D.栈底元素最先被删除

  参考答案:A

  参考解析:栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先人栈却最后被删除。所以选择A。

  20[填空题]通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。

  参考解析:软件生命周期

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心