亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

試題

計(jì)算機(jī)二級《C++》上機(jī)強(qiáng)化練習(xí)題

時間:2024-10-21 15:56:33 試題 我要投稿
  • 相關(guān)推薦

2016計(jì)算機(jī)二級《C++》上機(jī)強(qiáng)化練習(xí)題

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

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

  1、有如下程序:

  #inClude using namespaCe std; Class B{

  publiC:

  virtual void show(){Cout<<”B”;} };

  Class D:publiC B{ . publiC:

  void show(){Cout<<”D”;} };

  void funl(B * ptr){ptr一>show();} void fUN2(B&ref){ref.show();}

  voidfhIl3(B B.{b.show();} int main()

  {

  B b,* P=new D; D d;

  funl(P); fun2(B.; fun3(D);

  delete P; return 0; }

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

  A.BBB

  B.BBD

  C.DBB

  D.DBD

  2、下面描述中錯誤的是( )。

  A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)

  B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程

  C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一

  D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具

  3、已知函數(shù)FA調(diào)用函數(shù)FB,若要把這兩個函數(shù)定義在同一個文件中,則( )。

  A.FA必須定義在FB之前

  B.FB必須定義在FA之前

  C.若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前

  D.若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前

  4、有如下函數(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

  5、下面程序的輸出結(jié)果是( )。

  #include

  class example

  {

  int a;

  public:

  example(int B.{a=b++;}

  void print(){a=a+1;eout< void print()const{cout< };

  void main()

  {

  example x(3);

  const example Y(2);

  A print();

  B print();

  }

  A.2 2

  B.4 3

  C.4 2

  D.3 2

  6、下列有關(guān)類繼承的敘述中,錯誤的是( )。

  A.繼承可以實(shí)現(xiàn)軟件復(fù)用

  B.虛基類可以解決由多繼承產(chǎn)生的二義性問題

  C.派生類構(gòu)造函數(shù)要負(fù)責(zé)調(diào)用基類的構(gòu)造函數(shù)

  D.派生類沒有繼承基類的私有成員

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

  #include

  int fun(int a[],int n) {

  int resuh=1;

  for(inl i=1;i<11;1‘++)

  result=result * a[i];

  retum result;

  } void main()

  int a[3]={3,4,5}:

  cout< }

  A.12

  B.15

  C.20

  D.60

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

  A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化

  B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化

  C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化

  D.以上說法都不正確

  9、在滿足實(shí)體完整性約束的條件下( )。

  A.一個關(guān)系中應(yīng)該有一個或多個候選關(guān)鍵字

  B.一個關(guān)系中只能有一個候選關(guān)鍵字

  C.一個關(guān)系中必須有多個候選關(guān)鍵字

  D.一個關(guān)系中可以沒有候選關(guān)鍵字

  10、下面關(guān)于c+十語言變量的敘述錯誤的是( )。

  A.c++語言中變量分為aut0、static、extem和register4種存儲類型

  B.自動變量和外部變量的作用域?yàn)檎麄程序

  C.內(nèi)部靜態(tài)變量的作用域是定義它的函數(shù)

  D.外部靜態(tài)變量的作用域是定義它的文件

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

  #include void main()

  {

  int num=1:

  int&ref=num; ref=ref+2:

  cout< }

  A.13

  B.16

  C.36

  D.33

  12、 有以下程序:

  #include float tun(int X,int Y) {return(X+Y);} void main()

  {int a=2,b=5,c=8;

  cout< 程序運(yùn)行后的輸出結(jié)果是( )。

  A.編譯出錯

  B.9

  C.21

  D.9.0

  13、 下列運(yùn)算符中,不能被重載的是(  )。

  A.&&

  B.!=

  C..

  D.++

  14、 算法的空間復(fù)雜度是指( )。

  A.算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲空間

  B.算法所處理的數(shù)據(jù)量

  C.算法程序中的語句或指令條數(shù)

  D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)

  15、 c++語言類體系中,不能被派生類繼承的有( )。

  A.轉(zhuǎn)換函數(shù)

  B.構(gòu)造函數(shù)

  C.虛函數(shù)

  D.靜態(tài)成員函數(shù)

  16、 對C++編譯器區(qū)分重載函數(shù)無任何意義的信息是( )。

  A.參數(shù)類型

  B.參數(shù)個數(shù)

  C.返回值類型

  D.常成員函數(shù)關(guān)鍵字Const

  17、 對類成員訪問權(quán)限的控制,是通過設(shè)置成員的訪問控制屬性實(shí)現(xiàn)的,下列不是訪問控制屬性的是( )。

  A.公有類型

  B.私有類型

  C.保護(hù)類型

  D.友元類型

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

  #include int i=0;

  class A{ public: A(){i++;}

  };

  void main() {

  A a,b[3],*C; C=b;

  cout< }

  A.2

  B.3

  C.4

  D.5

  19、 以下關(guān)鍵字不能用來聲明類的訪問權(quán)限的是(  )。

  A.publiC

  B.statiC

  C..proteCted

  D.private

  20、 設(shè)有定義int a=1;float f=1.2;char C='a';,則下列表示錯誤的是( )。

  A.++a;

  B.f一一;

  C.c++;

  D.8++;

  21、 下列不是描述類的成員函數(shù)的是( )。

  A.構(gòu)造函數(shù)

  B.析構(gòu)函數(shù)

  C.友元函數(shù)

  D.復(fù)制構(gòu)造函數(shù)

  22、 有如下程序:

  int x=3:

  do{

  x-=2;

  COU[< }while(!(--X));

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

  A.1

  B.3 0

  C.1—2

  D.死循環(huán)

  23、 下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是( )。

  A.繼承,

  B.自頂向下

  C.模塊化

  D.逐步求精

  24、 對于類定義 class A{

  public:

  void func2(){}

  };

  class B:public A{ public:

  w)id funcl()| cout<<"class B func l”< virtual voiIl fimc2(){cout<<"class B func 2" <};

  下面正確的敘述是( )。

  A.A::rune2()和B::funcl()都是虛函數(shù)

  B.A::func2()和B::funel()都不是虛函數(shù)

  C.B::funcl()是虛函數(shù),而A::func2()不是虛函數(shù)

  D.B::funcl()不是虛函數(shù),而A::func2()是虛函數(shù)

  25、 語句ofstream f(”SALARY.DAT”,ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALA-RY.DAT并與之連接,并且( )。

  A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件

  B.若文件存在,將其置為空文件;若文件不存在,打開失敗

  C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件

  D.若文件存在,打開失敗;若文件不存在,建立一個新文件

  26、 下列有關(guān)繼承和派生的敘述中,正確的是(  )。

  A.如果一個派生類公有繼承其基類,則該派生類對象可以訪問基類的保護(hù)成員

  B.派生類的成員函數(shù)可以訪問基類的所有成員

  C.基類對象可以賦值給派生類對象

  D.如果派生類沒有實(shí)現(xiàn)基類的一個純虛函數(shù),則該派生類是一個抽象類

  27、 下列符號中可以用做C++標(biāo)識符的是( )。

  A._radius

  B.f00~bar

  C.else

  D.3room

  28、有如下程序:

  #include

  using namespace std;

  classBase{

  public:

  void fun(){

  __________________

  cout<<”Base::fun”< };

  class Derived:public Base{

  public:

  voidfun(){

  cout<<”Derived::fun”< }

  };

  int main(){

  Derived d;

  A fun();

  return 0;

  }

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

  Base::fun

  Derived::fun

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

  A. Base.fun();

  B.Base::fun();

  C.Base—>fun();

  D.fun();

  29、 以下各選項(xiàng)組中,均是C++語言關(guān)鍵字的組是( )。

  A.public operator this

  B.shod string static

  C.it while>=

  D.prirate cout printf

  30、 要想使23.78965421的輸出為23.7887,應(yīng)用的語句是( )。

  A.cout<<23.78965421;

  B.cout

  D.cout<

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

  A.軟件集成測試計(jì)劃

  B.軟件詳細(xì)設(shè)計(jì)說明書

  C.用戶手冊

  D.軟件需求規(guī)格說明書

  32、 下列關(guān)于類定義的說法中,正確的是( )。

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

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

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

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

  33、 下列關(guān)于數(shù)據(jù)庫設(shè)計(jì)的敘述中,正確的是( )。

  A.在需求分析階段建立數(shù)據(jù)字典

  B.在概念設(shè)計(jì)階段建立數(shù)據(jù)字典

  C.在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典

  D.在物理設(shè)計(jì)階段建立數(shù)據(jù)字典

  34、 下列選項(xiàng),不正確的是( )。

  A.for(int a=1;a<=10;a++);

  B.int a=1;

  do

  {

  a++:

  }while(a<=10);

  C.int a=1;

  while(a<=10)

  {

  a++:

  }

  D.for(int a=1;a<=10;a++)a++;

  35、 下列關(guān)于棧敘述正確的是( )。

  A.棧頂元素最先能被刪除

  B.棧頂元素最后才能被刪除

  C.棧底元素永遠(yuǎn)不能被刪除

  D.棧底元素最先被刪除

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

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

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

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

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

  37、 下面關(guān)于C++語言的描述錯誤的是( )。

  A.C++語言支持?jǐn)?shù)據(jù)封裝

  B.C++語言中引入友元,沒有破壞封裝性

  C.C++語言允許函數(shù)名和運(yùn)算符重載

  D.C++語言支持動態(tài)聯(lián)編

  38、 在c++語言程序中,對象之間的相互通信通過( )。

  A.繼承實(shí)現(xiàn)

  B.調(diào)用成員函數(shù)實(shí)現(xiàn)

  C.封裝實(shí)現(xiàn)

  D.函數(shù)重載實(shí)現(xiàn)

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

  A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)

  B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲結(jié)構(gòu)

  C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)

  D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)

  40、 下面不屬于需求分析階段任務(wù)的是( )。

  A.確定軟件系統(tǒng)的功能需求

  B.確定軟件系統(tǒng)的性能需求

  C.需求規(guī)格說明書評審

  D.制定軟件集成測試計(jì)劃

  二、基本操作題(18分)

  41、請使用VC6或使用【答題】菜單打開考生文件夾progl下的工程progl,該工程中包含程序文件main. cpp,其中有Salary(“工資”)類和主函數(shù)main的定義。程序中位于每個“//ERROR ****found****”之后的一行語句行有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)為:

  應(yīng)發(fā)合計(jì):3500應(yīng)扣合計(jì):67.5實(shí)發(fā)工資:3432.5

  注意:只修改每個“//ERROR ****found****”下的那一行,不要改動程序中的其他內(nèi)容。

  #include

  using namespace std; class Salary{

  public:

  Salary(const char *id,double the_base,double the bonus,double the_tax) //ERROR **********found**********

 。簍he_base(base),the_bonus(bonus),the_tax(tax) {

  staff_id=new char[strlen(id)+1]; strcpy(staff_id,id);

  }

  //ERROR **********found********** ~Salary(){delete * staff_id;}

  double getGmssPay()const{retum base+bonus;}//返回應(yīng)發(fā)項(xiàng)合計(jì)

  double getNetPay()const}retum getGmssPay()-tax;}//返回實(shí)發(fā)工資額 private:

  char * staff id;//職工號 double base;//基本工資 double bonus;//獎金

  double tax;//代扣個人所得稅 };

  int main(){

  Salary pay(”888888”,3000.0,500.0,67.50);

  cout<<”應(yīng)發(fā)合計(jì):”< cout<<”應(yīng)扣合計(jì):”< //ERROR**********found**********

  cout<<”實(shí)發(fā)工資:”< return 0;

  }

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

  42、請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程包含有一個源程序文件proj2.cpp,其中定義了Stack類和ArrayStack類。

  Stack是一個用于表示數(shù)據(jù)結(jié)構(gòu)“棧”的類,棧中的元素是字符型數(shù)據(jù)。Stack為抽象類,它只定義了棧的用戶接口,如下所示:

  公有成員函數(shù) 功能

  push 入棧:在棧頂位置添加一個元素

  pop 退棧:取出并返回棧頂元素

  ArrayStack是Stack的派生類,它實(shí)現(xiàn)了Stack定義的接口。ArrayStack內(nèi)部使用動態(tài)分配的字符數(shù)組作為棧元素的存儲空間。數(shù)據(jù)成員maxSize表示的是棧的最大容量,top用于記錄棧頂?shù)奈恢。成員函數(shù)push和pop分別實(shí)現(xiàn)具體的入棧和退棧操作。

  請?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a,然后刪除橫線,以實(shí)現(xiàn)上述功能。此程序的正確輸出結(jié)果應(yīng)為:

  a,b,C

  C,b,a

  注意:只在指定位置編寫適當(dāng)代碼,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****料found****”。

  //proj2.cpp

  #include

  using namespacc std;

  class Stack{

  public:

  virtual void push(char C)=0;

  virtual char pop()=0;

  };

  class ArrayStack:public Stack{

  char*P;

  int maxSizc;

  int top;

  public:

  ArravStack(int s)

  {

  top=0;

  maxSize=s:

  //*********found*********

  P=______;

  }

  ~ArrayStack()

  {

  //*********found*********

  _______;

  }

  void push(char c)

  }

  if(top==maxSize){

  cerr<<”Overflow! \n”:

  return;

  }

  //*********found*********

  _______;

  top++:

  }

  char pop()

  {

  if(top==0){

  cerr<<”Underflow!、n”;

  return‘\0’;

  }

  Top--;

  //*********found*********

  ______;

  }

  };

  void f(Stack&sRef)

  {

  char ch[]={‘a’,‘b’,‘c’};

  cout< sRef.push(oh[0]);sRef.push(ch[1]);sRef.push(ch[2]);

  cout< cout< cout< }

  int main()

  {

  ArrayStack as(10);

  f(as):

  return 0:

  }

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

  43、請使用【答題】菜單命令或直接用VC6打開考生文件夾下的工程prog3,其中聲明了ValArray類,該類在內(nèi)部維護(hù)一個動態(tài)分配的整型數(shù)組。ValArray類的復(fù)制構(gòu)造函數(shù)應(yīng)實(shí)現(xiàn)對象的深層復(fù)制。請編寫ValArray類的復(fù)制構(gòu)造函數(shù)。在main函數(shù)中給出了一組測試數(shù)據(jù),此種情況下程序的輸出應(yīng)該是:

  ValArray vl={1,2,3,4,5} ValArray v2={1,2,3,4,5} 要求:

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

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

  //ValArray.h

  #include using namespace std; class ValArray{

  int *v: int size; public:

  ValArray(const int * P,int n):size(n) {

  v=new int[size];

  for(int i=0;i

【計(jì)算機(jī)二級《C++》上機(jī)強(qiáng)化練習(xí)題】相關(guān)文章:

2016計(jì)算機(jī)二級《C++》上機(jī)練習(xí)題06-09

2017計(jì)算機(jī)二級C++強(qiáng)化練習(xí)題08-17

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

2017計(jì)算機(jī)二級C++考前練習(xí)題09-18

2017年計(jì)算機(jī)二級C++強(qiáng)化習(xí)題及答案09-04

計(jì)算機(jī)二級C++考試強(qiáng)化訓(xùn)練題201710-26

2016年9月計(jì)算機(jī)二級《C++》上機(jī)題庫及答案09-01

2016計(jì)算機(jī)二級考試C++練習(xí)題及答案07-15

2017計(jì)算機(jī)二級C++考前練習(xí)題及答案09-11

2017計(jì)算機(jī)二級C++基礎(chǔ)練習(xí)題及答案08-07