av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

試題

上半年全國計算機二級C++筆試真題

時間:2025-01-22 19:32:55 試題 我要投稿

2006上半年全國計算機二級C++筆試真題

  一、選擇題((1)~(35)每小題2分,共70分) 下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。

2006上半年全國計算機二級C++筆試真題

  (1)下列選項不屬于結(jié)構(gòu)化程序設(shè)計方法的是

  A.自頂向下

  B.逐步求精

  C.模塊化

  D.可復(fù)用

  (2)兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為

  A.耦合度

  B.內(nèi)聚度

  C.復(fù)雜度

  D.數(shù)據(jù)傳輸特性

  (3)下列敘述中正確的是

  A.軟件測試應(yīng)該由程序開發(fā)者來完成

  B.程序經(jīng)調(diào)試后一般不需要再測試

  C.軟件維護只包括對程序代碼的維護

  D.以上三種說法都不對

  (4)按照“后進先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是

  A.隊列

  B.棧

  C.雙向鏈表

  D.二叉樹

  (5)下列敘述中正確的是

  A.線性鏈表是線性表的鏈式存儲結(jié)構(gòu)

  B.棧與隊列是非線性結(jié)構(gòu)

  C.雙向鏈表是非線性結(jié)構(gòu)

  D.只有根結(jié)點的二叉樹是線性結(jié)構(gòu)

  (6)對如下二叉樹,進行后序遍歷的結(jié)果為

  A.ABCDEF

  B.DBEAFC

  C.ABDECF

  D.DEBFCA

  (7)在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為

  A.32

  B.31

  C.64

  D.63

  (8)“商品”與“顧客”兩個實體集之間的聯(lián)系一般是

  A.一對一

  B.一對多

  C.多對一

  D.多對多

  (9)在E-R圖中,用來表示實體的圖形是

  A.矩形

  B.橢圓形

  C.菱形

  D.三角形

  (10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是

  A.DB包含DBS和DBMS

  B.DBMS包含DB和DBS

  C.DBS包含DB和DBMS

  D.沒有任何關(guān)系

  (11)下列關(guān)于C++函數(shù)的說明中,正確的是

  A.內(nèi)聯(lián)函數(shù)就是定義在另一個函數(shù)體內(nèi)部的函數(shù)

  B.函數(shù)體的最后一條語句必須是return語句

  C.標準C++要求在調(diào)用一個函數(shù)之前,必須先聲明其原型

  D.編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式

  (12)由于常對象不能被更新,因此

  A.通過常對象只能調(diào)用它的常成員函數(shù)

  B.通過常對象只能調(diào)用靜態(tài)成員函數(shù)

  C.常對象的成員都是常成員

  D.通過常對象可以調(diào)用任何不改變對象值的成員函數(shù)

  (13)下列關(guān)于虛函數(shù)的說明中,正確的是

  A.從虛基類繼承的函數(shù)都是虛函數(shù)

  B.虛函數(shù)不得是靜態(tài)成員函數(shù)

  C.只能通過指針或引用調(diào)用虛函數(shù)

  D.抽象類中的成員函數(shù)都是虛函數(shù)

  (14)運算符重載是對已有的運算符賦予多重含義,因此

  A.可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運算符的含義

  B.可以改變一個已有運算符的優(yōu)先級和操作數(shù)個數(shù)

  C.只能重載C++中已經(jīng)有的運算符,不能定義新運算符

  D.C++中已經(jīng)有的所有運算符都可以重載

  (15)模板對類型的參數(shù)化提供了很好的支持,因此

  A.類模板的主要作用是生成抽象類

  B.類模板實例化時,編譯器將根據(jù)給出的模板實參生成一個類

  C.在類模板中的數(shù)據(jù)成員都具有同樣類型

  D.類模板中的成員函數(shù)都沒有返回值

  (16)下列關(guān)于C++流的說明中,正確的是

  A.與鍵盤、屏幕、打印機和通信端口的交互都可以通過流類來實現(xiàn)

  B.從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作

  C.cin是一個預(yù)定義的輸入流類

  D.輸出流有一個名為open的成員函數(shù),其作用是生成一個新的流對象

  (17)下列符號中可以用作C++標識符的是

  A._radius

  B.foo~bar

  C.else

  D.3room

  (18)下列語句中,錯誤的是

  A.const int buffer=256;

  B.const int temp;

  C.const double *point;

  D.const double *rt =new double(5.5);

  (19)有如下程序:

  int x=3;

  do{

  x -= 2;

  cout<

  }while(!(--x));

  執(zhí)行這個程序的輸出結(jié)果是

  A. 1

  B.3 0

  C. l-2

  D.死循環(huán)

  (20)有如下程序:

  #include

  using namespace std;

  int main()

  {

  int *p;

  *p = 9;

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

  return 0;

  }

  編譯運行程序?qū)⒊霈F(xiàn)的情況是

  A.夠編譯時出現(xiàn)語法錯誤,不能生成可執(zhí)行文件

  B.運行時一定輸出:The value at p: 9

  C.運行時一定輸出:The value at p: *9

  D.運行時有可能出錯

  (21)有如下程序:

  #include

  using namespace std;

  int main()

  {

  void function(double val);

  double val;

  function(val);

  cout<

  return 0;

  }

  void function(double val)

  {

  val = 3;

  }

  編譯運行這個程序?qū)⒊霈F(xiàn)的情況是

  A.編譯出錯,無法運行

  B.輸出:3

  C.輸出:3.0

  D.輸出一個不確定的數(shù)

  (22)有如下類定義:

  class AA

  {

  int a;

  public:

  int getRef() const{return &a;} //①

  int getvalue() const{return a;} //②

  void set(int n) const{a=n;} //③

  friend void show(AA aa) const {cout< //④

  };

  其中的四個函數(shù)定義中正確的是

  A.①

  B.②

  C.③

  D.④

  (23)有如下程序:

  #include +

  using namespace std;

  #include

  using namespace std;

  class Base

  {

  public:

  void fun(){cout<<"Base::fun"<

  };

  class Derived:public Base

  {

  public:

  void fun()

  {

  cout<<"Derived::fun"<

  }

  };

  int main()

  {

  Derived d;

  d.fun();

  return 0;

  }

  已知其執(zhí)行后的輸出結(jié)果為:

  Base::fun

  Derived::fun

  則程序中下劃線處應(yīng)填入的語句是

  A.Base.fun();

  B.Base::fun()

  C.Base->fun()

  D.fun();

  (24)下面是重載為非成員函數(shù)的運算符函數(shù)原型,其中錯誤的是

  A.Fraction operator + (Fraction, Fraction);

  B.Fraction operator - (Fraction);

  C.Fraction& operator = (Fraction&, Fraction);

  D.Fraction& operator += (Fraction&, Fraction);

  (25)有如下函數(shù)模板:

  template

  T cast(U u){return u;}

  其功能是將U類型數(shù)據(jù)轉(zhuǎn)換為T類型數(shù)據(jù)。已知i為int型變量,下列對模板函數(shù)cast的調(diào)用中正確的是

  A.cast(i);

  B.cast<>(i);

  C.cast(i);

  D.cast (i);


  (26)若磁盤上已存在某個文本文件,其全路徑文件名為d:\ncre\test.txt,下列語句中不 能打開該文件的是

  A.ifstream file("d:\ncre\test.txt");

  B.ifstream file("d:\ncre\test.txt");

  C.ifstream file; file.open("d:\ncre\test.txt");

  D.ifstream* pFile=new ifstream("d:\ncre\test.txt");

  (27)有如下類定義:

  class Foo

  {

  public:

  Foo(int v):value(v){} //①

  ~Foo(){} //②

  private:

  Foo(){} //③

  int value = 0; //④

  };

  其中存在語法錯誤的行是

  A.①

  B.②

  C.③

  D.④

  (28)有如下類定義:

  class Point

  {

  int x_, y_;

  public:

  Point():x_(0), y_(0){}

  Point(int x, int y = 0):x_(x),y_(y){}

  };

  若執(zhí)行語句

  Point a(2), b[3], *c[4];

  則Point類的構(gòu)造函數(shù)被調(diào)用的次數(shù)是

  A.2次

  B.3次

  C.4次

  D.5次

  (29)有如下類定義:

  class Test

  {

  public:

  Test(){ a = 0; c = 0;} //①

  int f(int a)const{this->a = a;} //②

  static int g(){return a;} //③

  void h(int

  B.{Test::b = b;}; //④

  private:

  int a;

  static int b;

  const int c;

  };

  int Test::b = 0;

  在標注號碼的行中,能被正確編譯的是

  A.①

  B.②

  C.③

  D.④

  (30)有如下程序:

  #include

  using namespace std;

  class A

  {

  public:

  A(){cout<<"A";}

  ~A(){cout<<"~A";}

  };

  class B:public A

  {

  A* p;

  public:

  B(){cout<<"B"; p = new A();}

  ~B(){cout<<"~B"; delete p;}

  };

  int main()

  {

  B obj;

  return 0;

  }

  執(zhí)行這個程序的輸出結(jié)果是

  A.BAA~A~B~A

  B.ABA~B~A~A

  C.BAA~B~A~A

  D.ABA~A~B~A

  (31)有如下程序:

  #include

  using namespace std;

  class Base

  {

  private:

  void funl() const{cout<<"funl";}

  protected:

  void fun2() const{cout<<"fun2";}

  public:

  void fun3() const{cout<<"fun3";}

  };

  class Derived:protected Base

  {

  public:

  void fun4() const{cout<<"fun4";}

  };

  int main()

  {

  Derived obj;

  obj.funl(); //①

  obj.fun2(); //②

  obj.fun3(); //③

  obj.fun4(); //④

  return 0;

  }

  其中有語法錯誤的語句是

  A.①②③④

  B.①②③

  C.②③④

  D.①④

  (32)有如下程序:

  #include

  using namespace std;

  class Base

  {

  public:

  void funl(){cout<<"Base\n";}

  virtual void fun2(){cout<<"Base\n";}

  };

  class Derived:public Base

  {

  public:

  void funl(){cout<<"Derived\n";}

  void fun2(){cout<<"Derived\n";}

  };

  void f(Base &

  B.{b.funl();b.fun2();}&, lt;, /P>

  int main()

  {

  Derived obj;

  f(obj);

  return 0;

  }

  執(zhí)行這個程序的輸出結(jié)果是

  A.Base

  B.Base

  C.Derived

  D.Derived

  Base Derived Base Derived

  (33)有如下程序:

  #include

  using namespace std;

  class Complex

  {

  double re, im;

  public:

  Complex(double r, double i):re(r), im(i){}

  double real() const{return re;}

  double image() const{return im;}

  Complex& operator +=(Complex a)

  {

  re += a.re;

  im += a.im;

  return *this;

  }

  };

  ostream &operator<<(ostream& s,const Complex& z)

  {

  return s<<'('<

  }

  int main()

  {

  Complex x(1, -2), y(2, 3);

  cout<<(x += y)<

  return 0;

  }

  執(zhí)行這個程序的輸出結(jié)果是

  A.(1, -2)

  B.(2, 3)

  C.(3, 5)

  D.(3, 1)

  (34)有如下程序:

  #include

  #include

  using namespace std;

  int main()

  {

  cout.fill('*');

  cout<

  return 0;

  }

  執(zhí)行這個程序的輸出結(jié)果是

  A.123*OK

  B.123*OK**

  C.*123OK

  D.*123**OK

  (35)有如下類聲明:

  class SAMPLE

  {

  int n;

  public:

  SAMPLE (int i = 0): n(i){}

  void setvalue(int n0);

  };

  下列關(guān)于setvalue成員函數(shù)的實現(xiàn)中,正確的是

  A.SAMPLE::setvalue(int n0){n = n0;}

  B.void SAMPLE::setvalue(int n0){n = n0;}

  C.void setvalue(int n0){n = n0;}

  D.setvalue(int n0){n = n0;}


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

  請將每一個空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。

  (1)對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為 【1】 。

  (2)在面向?qū)ο蠓椒ㄖ校?【2】 描述的是具有相似屬性與操作的一組對象。

  (3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個 【3】 。

  (4)程序測試分為靜態(tài)分析和動態(tài)測試。其中 【4】 是指不執(zhí)行程序,而只是對程序 文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。

  (5)數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu) 可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為 【5】 。

  (6)有一種只在循環(huán)語句或switch語句中使用的流程控制語句,表示該語句的關(guān)鍵字是 【6】 。

  (7)程序中有如下語句

  for(int i = 0; i<5; i++)cout<<*(p + i)<<",";

  能夠依次輸出int型一維數(shù)組DATA的前5個元素。由此可知,變量p的定義及初始 化語句是 【7】 。

  (8)若下面程序運行時輸出結(jié)果為

  1, A, 10.1

  2, B, 3.5

  請將程序補充完整。,

  #include

  using namespace std;

  int main()

  {

  void test(int, char,double 【8】 );

  test(1,'A',10.1);

  test(2,'B');

  return 0;

  }

  void test(int a, char b, double

  C.

  {

  cout<

  }

  (9)有如下類聲明:

  class MyClass

  {

  int i;

  private: int j;

  protected:int k;

  public:int m, n;

  };

  其中,私有成員的數(shù)量為 【9】 。

  (10)有如下程序:

  #include

  using namespace std;

  class Con

  {

  char ID;

  public:

  Con():ID('A'){cout<<1;}

  Con(char I

  D.:ID(I

  D.{cout<<2;}

  Con(Con&

  C.:ID(c.getID()){cout<<3;}

  char getID() const{return ID;}

  };

  void show(Con

  C.{cout<

  int main()

  {

  Con c1;

  show(c1);

  Con c2('B');

  show(c2);

  return 0;

  }

  執(zhí)行上面程序的輸出是 【10】 。

  (11)有如下程序:

  #include

  using namespace std;

  class ONE

  {

  public:

  virtual void f(){cout<<"l";}

  };

  class TWO:public ONE

  {

  public:

  TWO(){cout<<"2";}

  };

  class THREE:public TWO

  {

  public:

  virtual void f(){TWO::f(); cout<<"3";}

  };

  int main()

  {

  ONE aa, *p;

  TWO bb;

  THREE cc;

  p = &cc;

  p->f();

  return 0;

  }

  執(zhí)行上面程序的輸出是 【11】 。

  (12)有如下程序:

  #include

  using namespace std;

  class PARENT

  {

  public:

  PARENT(){cout<<"PARENT";}

  };

  class SON:public PARENT

  {

  public:

  SON(){cout<<"SON";}

  };

  int main()

  {

  SON son;

  PARENT *p;

  p = &son;

  return 0;

  }

  執(zhí)行上面程序的輸出是 【12】 。

  (13)若以非成員函數(shù)形式,為類Bounce重載“!”運算符,其操作結(jié)果為一bool型數(shù)據(jù),則該運算符重載函數(shù)的原型是 【13】 。

  (14)下面是復(fù)數(shù)類complex的定義,其中重載的運算符“+”的功能是返回一個新的復(fù) 數(shù)對象,其實部等于兩個操作對象實部之和,其虛部等于兩個操作對象虛部之和;請補充完整:

  class complex

  {

  double real; //實部

  double imag; //虛部

  public:

  complex(double r,double i):real(r),imag(i){}

  complex operator+(complex a)

  {

  return complex( 【14】 );

  }

  };

  (15)已知一個函數(shù)模板定義為

  template T1, typename T2>

  T1 FUN(T2 n) {return n * 5.0;}

  若要求以int型數(shù)據(jù)7為函數(shù)實參調(diào)用該模板函數(shù),并返回一個double型數(shù)據(jù),則該 調(diào)用應(yīng)表示為 【15】 。

【上半年全國計算機二級C++筆試真題】相關(guān)文章:

2005年上半年全國計算機二級C++筆試真題10-26

全國計算機等級考試二級C++筆試真題10-11

上半年全國計算機二級C++考試真題03-21

3月全國計算機等級考試二級C++筆試真題10-11

全國計算機二級考試C++真題09-20

2005年上半年全國計算機二級VB筆試真題08-17

2006上半年全國計算機二級C語言筆試真題09-06

2005年上半年全國計算機二級ACCESS筆試真題10-07

2005年上半年全國計算機二級VFP筆試真題09-01