欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

計(jì)算機(jī)二級(jí)《C++》上機(jī)沖刺題

時(shí)間:2025-05-29 04:01:51 試題 我要投稿

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)沖刺題

  2016年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間為3月26日-29日,為了幫助大家順利通過(guò)計(jì)算機(jī)二級(jí)考試,下面百分網(wǎng)小編為大家?guī)?lái)2016計(jì)算機(jī)二級(jí)《C++》上機(jī)沖刺題,供大家參考學(xué)習(xí),預(yù)?忌鷤淇汲晒!

  一、選擇題(每小題1分,共40分)

  1、下列排序方法中,最壞情況下比較次數(shù)最少的是(  )。

  A.冒泡排序

  B.簡(jiǎn)單選擇排序

  C.直接插入排序

  D.堆排序

  2、下面程序的運(yùn)行結(jié)果為( )。

  #include

  class A

  {

  public:

  A(){tout<<”1”;}

  ~A(){tout<<”2”;}

  };

  class B:public A

  {

  public:

  B(){cout<<”3”;}

  ~B(){cout<<”4”;}

  };

  void main()

  {

  B b;

  }

  A.1234

  B.1324

  C.1342

  D.3142

  3、以下程序中調(diào)用cin函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是( )。

  #include

  void main()

  {int * P,* q,a,b;

  P=&a:

  eout<<”input a:”;

  cin>>P:

  A.* P表示的是指針變量P的地址

  B.P表示的是變量a的地址,而不是變量a的值

  C.*P表示的是指針變量P的值

  D.*P只能用來(lái)說(shuō)明P是一個(gè)指針變量

  4、與語(yǔ)句cout

  B.cout<<‘\l2’:

  C.cout <<’\xA’;

  D.cout<<‘\0’:

  5、如果表達(dá)式x * y+z中,“*”是作為友元函數(shù)重載的,“+”是作為成員函數(shù)重載的,則該表達(dá)式還可為 ( )。

  A.operator+(operator$(X,Y),z)

  B.x.operator+(operator * (x,y),Z)

  C.Y.operator * (operator+(x,Y),z)

  D.x.operator+(operator{(X,Y))

  6、在下列關(guān)鍵字中,不能用來(lái)表示繼承方式的是( )。

  A.private

  B.static

  C.public

  D.protected

  7、下面的(  )選項(xiàng)不能作為函數(shù)的返回類(lèi)型。

  A.void

  B.int

  C.new

  D.long

  8、有如下函數(shù)定義:

  void funC(int a,int&B.{a++;b++;} 若執(zhí)行代碼段:

  int x=0,Y=1: funC(X,y);

  則變量X和y的值分別是( )。

  A.0和1

  B.1和1

  C.0和2

  D.1和2

  9、定義無(wú)符號(hào)整數(shù)類(lèi)為UInt,下面可以作.為類(lèi)UInt實(shí)例化值的是( )。

  A.一369

  B.369

  C.0.369

  D.整數(shù)集合{1,2,3,4,5}

  10、下列關(guān)于類(lèi)定義的說(shuō)法中,正確的是(  )。

  A.類(lèi)定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明

  B.類(lèi)成員的缺省訪問(wèn)權(quán)限是保護(hù)的

  C.數(shù)據(jù)成員必須被聲明為私有的

  D.成員函數(shù)只能在類(lèi)體外進(jìn)行定義

  11、 有如下程序:

  #nclude

  using namespace std;

  int main()

  {

  void function(double val);

  double val;

  function(val);

  cout< return 0;

  }

  void function(double val)

  } val=3;}

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

  A.編譯出錯(cuò),無(wú)法運(yùn)行

  B.輸出:3

  C.輸出:3.0

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

  12、 this指針是C++語(yǔ)言實(shí)現(xiàn)( )的一種機(jī)制。

  A.抽象

  B.封裝

  C.繼承

  D.重載

  13、 下面關(guān)于虛函數(shù)的描述,錯(cuò)誤的是( )。

  A.在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)

  B.基類(lèi)中說(shuō)明了虛函數(shù)后,派生類(lèi)中對(duì)應(yīng)的函數(shù)也必須說(shuō)明為虛數(shù)

  C.虛函數(shù)可以是另一個(gè)類(lèi)的友元函數(shù),但不能是靜態(tài)成員函數(shù)

  D.基類(lèi)中說(shuō)明的純虛函數(shù)在其任何派生類(lèi)中都必須實(shí)現(xiàn)

  14、 有如下程序:

  #include

  using namespaee std;

  int main()

  {

  void function(double val);

  double val:

  function(val);

  eout< return 0;

  }

  void function(double val)

  {

  val=3;

  }

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

  A.編譯出錯(cuò),無(wú)法運(yùn)行

  B.輸出:3

  C.輸出:3.0

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

  15、 面向?qū)ο蠓椒ㄖ校^承是指( )。

  A.一組對(duì)象所具有的相似性質(zhì)

  B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)

  C.各對(duì)象之間的共同性質(zhì)

  D.類(lèi)之間共享屬性和操作的機(jī)制

  16、 下列程序的運(yùn)行結(jié)果為( )。 #include

  void main() {

  int a=2:

  int b=a+1: cout

  B.0

  C.0.7

  D.0.66666666…

  17、 有如下定義:

  int a[5]={1,3,5,7,9},* P=a;

  下列表達(dá)式中不能得到數(shù)值5的是( )。

  A.a[2]

  B.a[3]

  C.*(P+2)

  D.+P+4

  18、 C++系統(tǒng)預(yù)定義了4個(gè)用于標(biāo)準(zhǔn)數(shù)據(jù)流的對(duì)象,下列選項(xiàng)中不屬于此類(lèi)對(duì)象的是( )。

  A.cout

  B.cin

  C.cerr

  D.cset

  19、 有如下程序:

  #include

  using namespace std;

  class GA{

  public:

  virtual int f()t retum l;}

  };

  class GB:public GA{

  public:

  virtual int f(){retum 2;}

  };

  void show(GA g){eout<<9.f();}

  void display(GA&g){cout<<9.f();}

  int main()

  {

  GA a;show(A.;display(A.;

  GB b;show(B.;display(B.;

  return 0;

  }

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

  A.1111

  B.1211

  C.1112

  D.1212

  20、 下列敘述中正確的是( )。

  A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)

  B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)

  C.循環(huán)鏈表是非線性結(jié)構(gòu)

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

  21、 下列關(guān)于虛函數(shù)的說(shuō)明中,正確的是(  )。

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

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

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

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

  22、 某二叉樹(shù)共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹(shù)的深度為(假設(shè)根結(jié)點(diǎn)在第1層)( )。

  A.3

  B.4

  C.6

  D.7

  23、 在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E~R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于( )。

  A.需求分析階段

  B.概念設(shè)計(jì)階段

  C.邏輯設(shè)計(jì)階段

  D.物理設(shè)計(jì)階段

  24、 下列關(guān)于類(lèi)模板的模板參數(shù)的敘述中,錯(cuò)誤的是( )。

  A.模板參數(shù)可以作為數(shù)據(jù)成員的類(lèi)型

  B.模板參數(shù)可以作為成員函數(shù)的返回類(lèi)型

  C.模板參數(shù)可以作為成員函數(shù)的參數(shù)類(lèi)型

  D.模板參數(shù)不能作為成員函數(shù)的局部變量的類(lèi)型

  25、 在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。

  A.可行性分析報(bào)告

  B.軟件需求規(guī)格說(shuō)明書(shū)

  C.概要沒(méi)計(jì)說(shuō)明書(shū)

  D.集成測(cè)試計(jì)劃

  26、 下面關(guān)于模板的描述,錯(cuò)誤的是( )。

  A.函數(shù)模板和類(lèi)模板的參數(shù)可以是任意的數(shù)據(jù)類(lèi)型

  B.類(lèi)模板不能直接使用,必須先實(shí)例化為相應(yīng)的模板類(lèi),然后定義了模板類(lèi)的對(duì)象后才能使用

  C.函數(shù)模板不能直接使用,需要實(shí)例化為模板函數(shù)后才能使用

  D.類(lèi)模板的成員函數(shù)都是模板函數(shù)

  27、 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式不包括( )。

  A.概念模式

  B.內(nèi)模式

  C.外模式

  D.數(shù)據(jù)模式

  28、下列語(yǔ)句中不是死循環(huán)的是( )。

  A.int i=10;

  B.for(int i=1;j<10;i++)

  while(1) {

  { i--; i--; }

  if(i==1)break;

  C.int i-0;

  D.int i=1:

  29、 為了取代c中帶參數(shù)的宏,在c++中使用(  )。

  A.重載函數(shù)

  B.內(nèi)聯(lián)函數(shù)

  C.遞歸函數(shù)

  D.友元函數(shù)

  30、 C++語(yǔ)言對(duì)C語(yǔ)言做了很多改進(jìn),C++語(yǔ)言相對(duì)于C語(yǔ)言的最根本的變化是( )。

  A.增加了一些新的運(yùn)算符

  B.允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)

  C.規(guī)定函數(shù)說(shuō)明符必須用原型

  D.引進(jìn)了類(lèi)和對(duì)象的概念

  31、 派生類(lèi)的成員函數(shù)不能訪問(wèn)基類(lèi)的(  )。

  A.公有成員和保護(hù)成員

  B.公有成員

  C.私有成員

  D.保護(hù)成員

  32、下列代碼段中聲明了3個(gè)類(lèi):

  Class Person{};

  Class Student:publiC Person{};

  Class Undergraduate:Student{};

  下列關(guān)于這些類(lèi)之間關(guān)系的描述中,錯(cuò)誤的是( )。

  A.類(lèi)Person是類(lèi)Undergraduate的基類(lèi)

  B.類(lèi)Undergraduate從類(lèi)Student公有繼承

  C.類(lèi)Student是類(lèi)Person的派生類(lèi)

  D.類(lèi)Undergraduate是類(lèi)Person的派生類(lèi)

  33、 若有下面的函數(shù)調(diào)用:

  fun(fl+b,3,max(n一1,B.)

  則fun的實(shí)參個(gè)數(shù)是(  )。

  A.3

  B.4

  C.5

  D.6

  34、 有如下兩個(gè)類(lèi)定義:

  class XX{

  private:

  double xl;

  protected:

  double x2;

  public:

  double x3;

  };

  class YY:protected XX{

  private:

  double yl;

  protected:

  double y2;

  public:

  double y3;

  在類(lèi)YY中保護(hù)成員變量的個(gè)數(shù)是( )。

  A.1

  B.2

  C.3

  D.4

  35、 下列關(guān)于運(yùn)算符重載的描述中,正確的是( )。

  A.運(yùn)算符重載為成員函數(shù)時(shí),若參數(shù)表中無(wú)參數(shù),重載的是一元運(yùn)算符

  B.一元運(yùn)算符只能作為成員函數(shù)重載

  C.二元運(yùn)算符重載為非成員函數(shù)時(shí),參數(shù)表中有一個(gè)參數(shù)

  D.C++中可以重載所有的運(yùn)算符

  36、 建立派生類(lèi)對(duì)象時(shí),3種構(gòu)造函數(shù)分別是a(基類(lèi)的構(gòu)造函數(shù))、b(成員對(duì)象的構(gòu)造函數(shù))、C(派生類(lèi))構(gòu)造函數(shù)),這3種構(gòu)造函數(shù)的調(diào)用順序?yàn)? )。

  A.abC

  B.aCb

  C.Cab

  D.Cba

  37、 在下列枚舉符號(hào)中,用來(lái)表示“相對(duì)于當(dāng)前位置”文件定位方式的是(  )。

  A.ios_base::cur

  B.ios—base::beg

  C.los_base::0ut

  D.ios—base::end

  38、 當(dāng)使用ifstream流類(lèi)定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文件時(shí),文件的默認(rèn)打開(kāi)方式為(  )。

  A.ios—base::in

  B.ios—base::in l ios base::0ut

  C.los base;:0ut

  D.ios_base::in&ios_base::0ut

  39、 下列有關(guān)運(yùn)算符重載的敘述中,正確的是(  )。

  A.運(yùn)算符重載是多態(tài)性的一種表現(xiàn)

  B.C++中可以通過(guò)運(yùn)算符重載創(chuàng)造新的運(yùn)算符

  C.C++中所有運(yùn)算符都可以作為非成員函數(shù)重載

  D.重載運(yùn)算符時(shí)可以改變其結(jié)合性

  40、 必須用一對(duì)大括號(hào)括起來(lái)的程序段是(  )。

  A.switCh語(yǔ)句中的ease標(biāo)號(hào)語(yǔ)句

  B.if語(yǔ)句的分支

  C.循環(huán)語(yǔ)句的循環(huán)體

  D.函數(shù)的函數(shù)體

  二、基本操作題(18分)

  41、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾projl下的工程projl,該工程含有一個(gè)源程序文件pn,jl.cpp。其中位于每個(gè)注釋“//ERROR 木}}水found}}水木”之后的一行語(yǔ)句存在錯(cuò)誤。請(qǐng)改正這些錯(cuò)誤,使程序的輸出結(jié)果為:

  The value is 10

  注意:只修改注釋“//ERROR **** found****”的下一行語(yǔ)句,不要改動(dòng)程序中的其他內(nèi)容。

  //pmjl.cpp

  #include

  using namespace std;

  class MyClass{

  int value;

  public:

  //ERROR********found*********

  void MyClass(int val):value(val){}

  int GetValue()const{return value;}

  void SetValue(int val);

  };

  //ERROR********found********

  inline void SetValue(int val){value=val;}

  int main()

  MyClass obj(O);

  obj.SetValue(10);

  //ERROR********found********下列語(yǔ)句功能是輸出obj的成員value的值

  tout<<”The value is”< return 0;

  }

  三、簡(jiǎn)單應(yīng)用題(24分)

  42、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj2下的工程proj2,其中有矩陣基類(lèi)MatrixBase、矩陣類(lèi)Matrix和單位陣UnitMatrix的定義,還有main函數(shù)的定義。請(qǐng)?jiān)跈M線處填寫(xiě)適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類(lèi)定義。此程序的正確輸出結(jié)果應(yīng)為:

  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 注意:只能在橫線處填寫(xiě)適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//t+++found母

  ***”。

  #nClude using namespaCe std; //矩陣基礎(chǔ)類(lèi),一個(gè)抽象類(lèi)

  Class MatrixBase{ int rows,Cols; publiC:

  MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩陣行數(shù)

  int getCols()Const{return Cols;}//矩陣列數(shù)

  virtual double getElement(int r,int C)Const=0;//取第i個(gè)元素的值 void show()Const{//分行顯示矩陣中所有元素

  for(int i=0;i for(int j=0;j } }; //矩陣類(lèi)

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

  };

  //單位陣(主對(duì)角線元素都是l,其余元素都是0的方陣)類(lèi) Class UnitMatrix:publiC MatrixBase{

  publiC:

  UnitMatrix(int rOWS):MatrixBase(rows,rows){} //單位陣行數(shù)列數(shù)相同

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

  四、綜合應(yīng)用題(18分)

  43、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj3下的工程proj3,其中聲明的CDeepCopy是一個(gè)用于表示矩陣的類(lèi)。請(qǐng)編寫(xiě)這個(gè)類(lèi)的賦值運(yùn)算符成員函數(shù)0perator=,以實(shí)現(xiàn)深層復(fù)制。

  要求:

  補(bǔ)充編制的內(nèi)容寫(xiě)在“//************333************”與“//****************666*************”之間。不得修改程序的其他部分。

  注意:程序最后將結(jié)果輸出到文件out.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為obj文件,并且在本程序中調(diào)用。

  //CDeepCopy.h

  #include

  #include

  using namespace std;

  class CDeepCopy

  {

  public:

  int n;//動(dòng)態(tài)數(shù)組的元素個(gè)數(shù)

  int *p;//動(dòng)態(tài)數(shù)組首地址

  CDeepCopy(int);

  ~CDeepCopy();

  CDeepCopy&operator=(const CDeepCopy&r);//賦值運(yùn)算符函數(shù)

  };

  void writeToFile(char});

  //main.cpp

  #include”CDeepCopy.h”

  CDeepCopy::一CDeepCopy(){delete[]P;}

  CDeepCopy::CDeepCopy(int k){n=k;p=new int[n];}//構(gòu)造函數(shù)實(shí)現(xiàn)

  CDeepCopy&CDeepCopy::0perator=(const CDeepCopy&r)//賦值運(yùn)算符函數(shù)實(shí)現(xiàn)

  {

  //***********333*********

  //***********666***********

  }

  int main()

  {

  CDeepCopy a(2),d(3);

  a.p[O]=1;d.p[O]=666;//對(duì)象a,d數(shù)組元素的賦值

  {

  CDeepCopy b(3);//調(diào)用賦值運(yùn)算符函數(shù)

  a.p[O]=88;b=a;

  cout< }

  cout< cout<<”d fade away;\n”;

  cout< writeToFile(””);

  return 0;

  }

【計(jì)算機(jī)二級(jí)《C++》上機(jī)沖刺題】相關(guān)文章:

二級(jí)C++上機(jī)沖刺題及答案解析10-10

2016年計(jì)算機(jī)二級(jí)《C++》上機(jī)考前沖刺題07-08

計(jì)算機(jī)二級(jí)《C++》上機(jī)考前沖刺試題06-25

計(jì)算機(jī)二級(jí)C++上機(jī)綜合應(yīng)用題10-20

2016計(jì)算機(jī)二級(jí)C++上機(jī)考前沖刺試題08-25

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)考前沖刺試題10-22

計(jì)算機(jī)二級(jí)考試C++上機(jī)試題選擇題10-29

2017計(jì)算機(jī)二級(jí)C++考前沖刺題及答案09-04

計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-12