等级考试

3月全国计算机等级考试二级C++

时间:2023-03-29 21:56:47 等级考试 我要投稿
  • 相关推荐

2012年3月全国计算机等级考试二级C++

   
考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++,请阅读!
笔试试卷  (考试时间90分钟,满分100分)
  一、选择题(每小题2分,共70分)
  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
  (1)下列叙述中正确的是
  A)循环队列是队列的一种链式存储结构 B)循环队列是一种逻辑结构
  C)循环队列是队列的一种顺序存储结构 D)循环队列是非线性结构
  (2)下列叙述中正确的是
  A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表
  C)栈与队列都是非线性结构 D)以上三种说法都不对
  (3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为
  A)4 B)<16 > C)10 D)6
  (4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
  A)逻辑模式 B)概念模式 C)内模式 D)外模式
  (5)在满足实体完整性约束的条件下
  A)一个关系中可以没有候选关键字 B)一个关系中只能有一个候选关键字
  C)一个关系中必须有多个候选关键字 D)一个关系中应该有一个或多个候选关键字
  (6)有三个关系R、S和T如下:
  R       s       t  
A B C   A B C   A B C
a 1 2   a 1 2   b 2 1
b 2 1   d 2 1   c 3 1
c 3 1                
  则由关系R和S得到关系T的操作是
  A)并 B)差 C)交 D)自然连接
  (7)软件生命周期的活动中不包括
  A)软件维护 B)需求分析 C)市场调研 D)软件测试
  (8)下面不属于需求分析阶段任务的是
  A)确定软件系统的性能需求 B)确定软件系统的功能需求
  C)制定软件集成测试计划 D)需求规格说明书评审
  (9)在黑盒测试方法中,设计测试用例的主要根据是
  A)程序外部功能 B)程序数据结构 C)程序流程图 D)程序内部结构
  (10)在软件设计中不使用的工具是
  A)系统结构图 B)程序流程图 C)PAD图 D)数据流图(DFD图)
  (11)若一个函数的原型为"int * Xfun1(int x,int& y,char z);",则该函数的返回值类型为
  A)int * B)int
  C)int& D)char
  (12)若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。如果x为该类的一个对象,要在类外访问x对象中a的值,正确的访问格式为
  A)AA.getA() B)x.getA()
  C)x.a D)AA::a
  (13)当派生类继承一个基类时,默认的继承方式为
  A)public B)protected
  C)private D)不确定
  (14)若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是
  A)XV operator *(XV,XV);
  B)XV *(XV);
  C)operator *(XV);
  D)XV operator *(XV);
  (15)在定义函数模板或类模板时,开头的保留字是
  A)typename B)template
  C)class D)typedef
  (16)若需要向一个二进制文件尾部添加数据,则该文件的打开方式为
  A)ios_base::app
  B)ios_base::binary | ios_base::out
  C)ios_base::out
  D)ios_base::binary | ios_base::app
  (17)在开发一个c++程序的整个过程中,第3个步骤为
  A)链接 B)运行
  C)编辑 D)编译
  (18)若有定义"int x=4,y=5;",则表达式"y>x++?x--:y++"的值为
  A)3 B)4
  C)5 D)6
  (19)有如下程序:
  #include
  using namespace std;
  int main(){
  int i,s=0;
  for(i=1;s<20;i+=2)s+=i*i;
  cout<  return 0;
  }
  运行这个程序的输出结果是
  A)3 B)5
  C)7 9)9
  (20)若字符指针p所指向的字符串为"abcdefg",在执行语句
  char *ap=new char[strlen(p)+1];
  之后,ap指向的字符数组的元素个数为
  A)9 B)8
  C)7 D)6
  (21)有如下程序:
  #include
  using namespace std;
  void fl(int& x){x++;}
  void f2(int x){++x;}
  int main(){
  int x=10,y=12;
  f1(x);
  f2(y);
  cout<  return 0;
  }
  运行这个程序的输出结果是
  A)22 B)23
  C)24 D)25
  (22)有如下程序:
  #include
  using namespace std;
  class XA{
  int a;
  public:
  static int b;
  XA(int aa):a(an){b++;}
  int getA(){return a;}
  };
  int XA::b=0;
  int main(){
  XA d1(4),d2(5);
  cout<  return 0;
  }
  运行这个程序的输出结果是
  A)9 B)11
  C)13 D)15
  (23)有如下程序:
以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。
  #include
  using namespace std;
  class XX{
  int x;
  public:
  XX(int xx=0):x(xx){}
  int getX(){return x;}
  };
  class YY:public XX{
  int y;
  public:
  YY(int xx,int yy):x(xx),y(yy){}
  int getV(){return getX()+y;}
  };
  int main(){
  YY c(3,4);
  cout<  return 0;
  }
  运行这个程序的输出结果是
  A)3 B)4
  C)7 D)10
  (24)在类中重载赋值运算符时,应将其声明为类的
  A)静态函数 B)友元函数
  C)成员函数 D)构造函数
  (25)若有函数模板mySwap和一些变量定义如下:
  template
  void mySwap(T X,T Y);
  double d1,d2;int i1,i2;
  下列对mySwap的调用中,错误的是
  A)mySwap(i1,i2)
  B)mySwap(d1,d2)
  C)mySwap(i1,d1)
  D)mySwap(i2,d2)
  (26)在C++中,打开一个文件时与该文件建立联系的是
  A)流对象 B)模板
  C)函数 D)类
  (27)已知类IMS中两个成员函数的声明为"void listen() const;"与"void speak();",
  另有两个对象的定义为"IMS obj1;"与"const IMS obj2;",则下列语句中,产生编译错误
  的是
  A)obj1.listen();
  B)obj1.speak();
  C)obj2.listen();
  D)obj2.speak();
  (28)有如下程序:
  #include
  using namespace std;
  class Monkey{
  public:
  Monkey() {cout<<'M';}
  Monkey(char n){cout<  ~Monkey() {cout<<'Y';}
  };
  int main(){
  Monkey p1,*p2;
  p2=new Monkey('X');
  delete p2;
  return 0;
  }
  运行这个程序的输出结果是
  A)MYX B)MYMY
  C)MXY D)MXYY
  (29)有如下程序:
  #include
  using namespace std;
  class Boat;
  class Car{
  public:
  Car(int i):weight(i){ }
  friend int Total(const Car &c.const Boat &b); //①
  private:
  int weight;
  };
  class Boat{
  public:
  Boat(int i):weight(i){ }
  friend int Total(const Car &c,const Boat &b);
  private:
  int weight;
  };
  int Total(const Car &c,const Boat &b){ //②
  return c.weight+b.weight;
  }
  int main(){
  Car c(10);
  Boat b(8);
  cout<<"The total weight is"<  return 0;
  }
  下列关于程序的描述中,正确的是
  A)程序编译正确
  B)程序编译时语句①出错
  C)程序编译时语句②出错
  D)程序编译时语句③出错
  (30)有如下程序:
  #include
  using namespace std;
  class Media{
  public:
  void Name();
  void Show();
  protected:
  int page;
  };
  class Book:private Media{
  public:
  void Print(){cout<  void Show() {Media::Show();} //①
  };
  int main(){
  Book Bible;
  Bible.Name(); //②
  Bible.Print(); //③
  Bible.Show(); //④
  return 0;
  }
  编译时有错误的是
  A)语句① B)语句②
  C)语句③ D)语句④
  (31)有如下程序:
  #include
  using namespace std;
  class Base{
  public:
  virtual void Show(){cout<<'B';}
  };
  class Derived:public Base{
  public:
  void Show(){cout<<'D';}
  };
  int main(){
  Base *p1=new Derived;
  Derived *p2=new Derived;
  p1->Show();
  p2->Show();
  delete p1;
  delete p2;
  return 0;
  }
  运行这个程序的输出结果是
  A)BB B)BD
  C)DB D)DD
  (32)有如下类定义:
  class Animal{
  public:
  virtual void Name()=0;
  };
  class Koala:public Animal{
  public:
  void Name(){/*函数体略*/}
  };
  关于上述类定义,下列描述中错误的是
  A)类Koala是类Animal的派生类
  B)类Koala中的Name函数是一个虚函数
  C)类Animal中的Name函数是一个纯虚函数
  D)语句"Animal a;"能够建立类Animal的一个对象a
  (33)已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句
  序列能够正确执行:
  MyClock c1,c2;
  //......
  c2=c1+10;
  由此可知,为类MyClock重载的"+"运算符函数的声明是
  A)friend MyClock operator+(MyClock,int);
  B)friend MyClock operator+(MyClock,MyClock);
  C)friend MyClock operator+(int,MyClock);
  D)MyClock operator+(MyClock);
  (34)下列控制对齐方式的操作符中,错误的是
  A)internal B)center  C)left D)right
  (35)有如下程序:
以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。
  #include
  using namespace std;
  class Mountain{
  int height;
  public:
  Mountain(int h=0):height(h){ }
  virtual char *GetName()const
  {return "山";}
  int GetHeight() const{return height;}
  };
  class Lushan:public Mountain{
  public:
  Lushan(int d):Mountain(d){ }
  char *GetName()const
  {return "庐山";}
  };
  int main(){
  Mountain *p= new Lushan(1000);
  cout<GetName()<<"海拔"<GetHeight()<<"米";
  return 0;
  }
  运行这个程序的输出结果是
  A)庐山海拔<1000米>
  B)庐山海拔<0米>
  C)山海拔<1000米>
  D)山海拔<0米>
  二、填空题(每空2分,共30分)
  请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不
  得分。
  (1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元
  素个数为_____1_____。
  (2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。现经过一系列
  入队与退队运算后,front=16,rear=15,则循环队列中有___2___个元素。
  (3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是___3___ 。
  (4)在将E-R图转换到关系模式时,实体和联系都可以表示成___4___ 。
  (5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念
  属于___5___。
  (6)如果a为int型变量,b为double型变量,则表达式a+b的值的类型为___6___。
  (7)break语句可用于循环语句和___7___语句中。
  (8)如果P是指向一个动态数组空间的指针变量,则释放该数组空间的语句是___8____ 。
  (9)如果一个函数在其函数体内直接或间接地调用自己,则该函数称为___9___函数。
  (10)调用时不必提供参数的构造函数称为___10___构造函数。
  (11)有如下程序:
  #include
  using namespace std;
  class Machine{
  static int num;
  public:
  Machine(){num++;}
  static void showNum()
  {cout<  };
  int Machine::num=0;
  int main(){
  Machine a[10],b;
  Machine::showNum();
  return 0;
  }
  运行这个程序的输出结果是___【11】___ 。
  (12)类Base、Component和Derived的定义如下,请将横线处缺失部分补充完整。
  class Base{
  double data;
  public:
  Base(double d):data(d){ }
  };
  class Component{
  int data;
  public:
  Component(int d):data(d){ }
  };
  class Derived:public Base{
  Component com;
  char character;
  public:
  Derived(double a,int b,char c):
  //使用参数a初始化基类成员,使用参数b初始化成员对象com
  ___【12】___,character(c){ }
  };
  (13)形状类Shape中包含一个纯虚函数draw,它无形参和返回值,则draw函数在
  Shape类中的原型声明是___【13】___ 。
  (14)正方形类的定义如下,请将横线处缺失部分补充完整。
  class Square{
  private:
  double width;
  public:
  Square(double w):width(w){}
  //重载大于运算符">",用于比较两个正方形的大小,函数结果类型为bool类型
  ___【14】___(Square& s);
  };
  (15)有如下程序,请将横线处缺失部分补充完整。
  #include
  using namespace std;
  template
  class Dataset{
  T *data;
  int size;
  public:
  Dataset(T* arr,int length):size(1ength){
  data=new T[length];
  for(int i=0;i  data[i]=arr[i];
  }
  };
  int main(){
  int arr[]={2,4,6,8,10};
  //利用数组arr初始化类模板Dataset的对象set
  ___【15】___
  return 0;
  参考答案:
  ADABA DADDA BACDA ACCDB
  DBBBA BBADA DBCCD ADCAC
  n 29 数据操作语言 关系 面向对象方法 a=1,b=2 2 3 k<=n 074 rgb 572 *a[i] cab test
以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。

【3月全国计算机等级考试二级C++】相关文章:

全国计算机二级考试C++真题03-21

计算机等级考试二级C++笔试选择题04-23

全国计算机二级考试《C++》笔试样卷06-12

计算机等级考试二级11-10

2022年全国计算机二级C++考试强化练习11-07

上半年全国计算机二级C++考试真题03-21

全国计算机等级二级考试java选择题练习04-18

全国计算机等级考试详解11-27

全国计算机二级《C++》上机试题及答案03-28

全国计算机等级考试证书效力11-10