等级考试

9月二级C++笔试

时间:2024-08-07 09:32:28 等级考试 我要投稿
  • 相关推荐

2008年9月二级C++笔试

考试频道小编为你收集整理2008 年 9 月二级 C++笔试试卷参考答案,请阅读!
  一、选择题(每小题2分,共70分)

2008年9月二级C++笔试

  (1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后

  再依次出栈,则元素出栈的顺序是( )。

  A)123456ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA

  (2)下列叙述中正确的是( )。

  A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

  B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

  C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

  D)循环队列中元素的个数是由队头指针和队尾指针共同决定

  (3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

  A)O(n) B)O(n2)

  C)O(log2n) D)O(nlog2n)

  (4)下列叙述中正确的是( )。

  A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C)顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D)链式存储结构比顺序存储结构节省存储空间

  (5)数据流图中带有箭头的线段表示的是( )。

  A)控制流C)模块调用B)事件驱动D)数据流

  (6)在软件开发中,需求分析阶段可以使用的工具是( )。

  A)N-S 图C)PAD 图B)DFD 图D)程序流程图

  (7)在面向对象方法中,不属于“对象”基本特点的是( )。

  A)一致性C)多态性B)分类性D)标识唯一性

  (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

  A)一对一C)多对一B)一对多D)多对多

  (9)在数据管理技术发展的三个阶段中,数据共享最好的是()。

  A)人工管理阶段

  C)数据库系统阶段

  (10)有三个关系 R、S 和 T 如下:

  由关系 R 和 S 通过运算得到关系 T,则所使用的运算为()。

  A)笛卡尔积B)交C)并D)自然连接

  (11)在下列原型所示的 C++函数中,按“传值”方式传递参数的是( )。

  A)void f1(int x); B)void f2(int*x);

  C)void f3(const int*x); D)void f4(int&x);

  (12)在 C++中,编译系统自动为一个类生成缺省构造函数的条件是( )。

  A)该类没有定义任何有参构造函数B)该类没有定义任何无参构造函数

  C)该类没有定义任何构造函数D)该类没有定义任何成员函数

  (13)在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编

  译。这说明( )。

  A)f()是基类的私有成员C)派生类的继承方式为私有

  B)f()是基类的保护成员D)派生类的继承方式为保护

  (14)下列关于运算符重载的叙述中,错误的是( )。

  A)有的运算符可以作为非成员函数重载

  B)所有的运算符都可以通过重载而被赋予新的含义

  C)不得为重载的运算符函数的参数设置默认值

  D)有的运算符只能作为成员函数重载

  (15)下列关于模板的叙述中,错误的是( )。

  A)调用模版函数时,在一定条件下可以省略模板实参

  B)可以用 int、double 这样的类型修饰符来声明模版参数

  C)模板声明中的关键字 class 都可以用关键字 typename 替代

  D)模板的形参表中可以有多个参数

  (16)要利用 C++流进行文件操作,必须在程序中包含的头文件是( )。

  A)iostream B)fstream C)strstream D)iomanip

  (17)下列字符串中不能作为 C++标识符使用的是( )。

  A)WHILE B)user C)_lvar D)9stars

  (18)下列语句中错误的是( )。

  A)const int a; B)const int a=10;C)const int*point=0; D)const int*point=new int(10);

  (19)有如下程序:

  #include

  using namespace std;

  int main(){

  int sum;

  for(int i=0; i<6; i+=3){

  sum=i;

  for(int j = i; j<6; j++)sum+=j;

  }

  cout<

  return 0;

  }

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

  A)3 B)10 C)12 D)15

  (20)下列语句中,正确的是( )。

  A)char*myString="Hello-World!";

  B)char myString="Hello-World!";

  C)char myString[11]="Hello-World!";

  D)char myString[12]="Hello-World!";

  (21)若已经声明了函数原型“void fun(int a, double b=0.0);”,则下列重载函数声明中正确

  的是( )。

  A)void fun(int a=90, double b=0.0); B)int fun(int a, double B);

  C)void fun(double a, int B); D)bool fun(int a, double b = 0.0);

  (22)有如下程序:

  #include

  using namespace std;

  class Sample{

  public:

  Sample(){}

  ~Sample(){cout<<'*';}

  };

  int main(){

  Sample temp[2], *pTemp[2];

  return 0;

  }

  执行这个程序输出星号(*)的个数为( )。

  A)1 B)2C)3D)4

  (23)下列选项中,与实现运行时多态性无关的是( )。
以上是考试频道小编为你收集整理2008 年 9 月二级 C++笔试试卷参考答案

  A)重载函数 B)虚函数 C)指针 D)引用

  (24)下列运算符函数中,肯定不属于类 Value 的成员函数的是( )。

  A)Value operator+(Value);

  C)Value operator*(int);

  B)Value operator-(Value, Value);

  D)Value operator/(Value);

  (25)下列模板声明中,有语法错误的是( )。

  A)templateT fun(T x){return x;}

  B)templateT fun(T x, int n){return x*n;}

  C)templateT fun(T *p){return *p;}

  D)templateT classA{T n;};

  (26)在语句“cout<<'A';”中,cout 是( )。

  A)类名

  C)函数名

  (27)有如下程序:

  #include

  using namespace std;

  class MyClass{

  public:

  MyClass(int i=0){cout<<1;}

  MyClass(const MyClass&x){cout<<2;}

  B)对象名

  D)C++的关键字

  MyClass& operator=(const MyClass&x){cout<<3; return*this;}

  ~MyClass(){cout<<4;}

  };

  int main(){

  MyClass obj1(1),obj2(2),obj3(obj1);

  return 0:

  }

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

  A)112444 B)11114444 C)121444 D)11314444

  (28)有如下程序:

  #include

  using namespace std;

  class MyClass{

  public:

  MyClass(int x):val(x){}

  void Set(int x){val=x;}

  void Print()const{cout<<"val="<

  private:

  int val;

  };

  int main(){

  const MyClass obj1(10);

  MyClass obj2(20);

  obj1.Print(); //语句 1

  obj2.Print(); //语句 2

  obj1.Set(20); //语句 3

  obj2.Set(30); //语句 4

  return 0;

  }

  其主函数中错误的语句是(

  )。

  A)语句 1 B)语句 2C)语句 3D)语句 4

  (29)在类声明中,紧跟在“public:”后声明的成员的访问权限是( )。

  A)私有B)公有C)保护D)默认

  (30)对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明

  该基类成员的访问权限是( )。

  A)公有或私有B)私有C)保护或私有D)公有或保护

  (31)定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。

  A)私有继承B)非私有继承C)保护继承D)公有继承

  (32)建立一个有成员对象的派生类对象时,各构造函数体的执行次序为( )。

  A)派生类、成员对象类、基类

  B)成员对象类、基类、派生类

  C)基类、成员对象类、派生类

  D)基类、派生类、成员对象类

  (33)如果表达式 a>=b 中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为

  ( )。

  A)a.operator>=(b) B)b.operatotr>=(a)

  C)operator>=(a,b) D)operator>=(b,a)

  (34)当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为

  ( )。

  A)ios base::in

  B)ios_base::binary

  C)ios_base::in|ios_base::out

  D)ios_base::out

  (35)在一个抽象类中,一定包含有( )。

  A)虚函数 B)纯虚函数

  C)模板函数 D)重载函数

  二、填空题(每空2分,共30分)

  (1)对下列二叉树进行中序遍历的结果___________。

  (2)按照软件测试的一般步骤,集成测试应在___________测试之后进行。

  (3)软件工程三要素包括方法、工具和过程,其中,___________支持软件开发的各个环节

  的控制和管理。

  (4)数据库设计包括概念设计、___________和物理设计。

  (5)在二维表中,元组的___________不能再分成更小的数据项。

  (6)当使用关键字___________作为函数返回类型时,该函数不返回任何值。

  (7)已知数组 a 中有 n 个元素,下列语句将数组 a 中从下标 xl 开始的 k 个元素移动到从下

  标 x2 开始的 k 个元素中,其中 0<=xl

  For (int i = xl+k-1; i>=xl; i--)

  a[___________]=a[i];

  (8)有如下程序:

  #include

以上是考试频道小编为你收集整理2008 年 9 月二级 C++笔试试卷参考答案

  using namespace std;

  int fun1(int x) {return++x;}

  int fun2(int &x) {return++x;}

  int main(){

  int x=1,y=2;

  y=fun 1(fun2(x));

  cout<

  return 0:

  }

  程序的输出结果是___________。

  (9)有如下程序:

  #include

  using namespace std;

  class pumpkin{

  public:

  pumpkin(){++count;}

  ~pumpkin(){--count;}

  static void total_count(){

  cout<

  }

  private:

  static int count;

  };

  int pumpkin::count=0;

  int main(){

  pumpkin pl[10];

  pumpkin::total_count();

  return 0;

  }

  这个程序的输出结果是___________。

  (10)有如下递归函数:

  int Fun(int n){

  if(n<=1) return 1;

  ___________

  }

  请补充完整,使得函数 Fun 能够正确计算形参 n 的阶乘。

  (11)请在下列程序中的空格处填写正确的语句:

  class Sample{

  public:

  Sample(){}

  ~Sample(){}

  void SetData(int data) { //将 Sample 类成员变量 data 设置成形参的值

  ___________

  }

  private: int data;

  };

  (12)有如下类定义,请将Sample类的拷贝构造函数补充完整。

  class Sample{

  public:

  Sample(){)

  ~Sample() {if(p) delete p;)

  Sample (const Sample& s){

  ___________

  }

  void SetData(int data) {p=new int(data);}

  private:

  int*p;

  };

  (13)重载加法运算符“+”,其函数名是___________。

  (14)有如下程序:

  #include

  using namespace std;

  class Wages{ //“工资”类

  double base; //基本工资

  double bonus; //奖金

  double tax; //税金

  public:

  Wages(double CBase, double CBonus, double CTax):

  base(CBase), bonus(CBonus), tax(CTax){}

  double getPay()const; //返回应付工资额

  Wages operator+(Wages w)const; //重载加法

  };

  double Wages::getPay()const{return base+bonus-tax;}

  Wages Wages::operator+(Wages w)const{

  return Wages(base+w.base, bonus+w.bonus, tax+w.tax);

  }

  int main(){

  Wages wl(2000,500,100),w2(5000,1000,300);

  cout<<(wl+w2).getPay0<

  retun 0;

  }

  程序的输出结果是___________

  (15)有如下程序:

  #include

  using namespace std;

  class Pet{

  char name[10];

  public:

  Pet(char*name){strcpy(this->name, name);}

  const char*getName()const {return name;}

  virtual void call()const=0;

  };

  class Dog: public Pet{

  public:

  Dog(char*name):Pet(name){}

  void call()const{cout<<"汪汪叫";}

  };

  class Cat:public Pet{

  public:

  Cat(char*name):Pet(name){}

  void call()const{cout<<"喵喵叫";}

  };

  int main(){

  Pet*pet1=new Dog("哈克"), *pet2=new Cat("吉米");

  cout<getName();pet1->call(); cout<

  cout<getName();pet2->call(); cout<

  return 0;

  一、选择题

  (1)B)(2)D)(6)B)(7)A)(11)A) (12)A)(16)B) (17)B)(21)C) (22)C)(26)B) (27)C)(31)A) (32)C)(3)C)(8)B)(13)C)(18)D)(23)A)(28)B)(33)A)(4)A)(9)C)(14)B)(19)A)(24)D)(29)A)(34)B)(5)D)(10)D(15)

  (20)D 25)C)(30)D 35)C)

  二、填空题

  (1)DBXEAYFZC(2)单元(3)过程(4)逻辑设计(5)分量(6)联接(7)设计(8)选择结构(或条件结构)(9)RunSQL(10)动态(11)64(12)num(13)f0+f1(14)rs.eof(15)fd
以上是考试频道小编为你收集整理2008 年 9 月二级 C++笔试试卷参考答案

【9月二级C++笔试】相关文章:

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

2010年9月全国计算机二级C++笔试09-06

全国计算机等级考试二级C++笔试真题10-11

计算机等级考试二级C++笔试选择题06-27

2010年3月计算机等级考试二级C++笔试09-05

3月全国计算机等级考试二级C++笔试真题10-11

2006上半年全国计算机二级C++笔试真题09-02

2005年上半年全国计算机二级C++笔试真题10-26

2015年9月全国计算机二级C++笔试全真模拟题10-26

计算机二级C++函数考点07-22