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

試題

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

時(shí)間:2025-04-05 03:07:01 試題 我要投稿
  • 相關(guān)推薦

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

  以下是百分網(wǎng)小編為大家整理的2016年計(jì)算機(jī)二級(jí)《C++》上機(jī)考前沖刺題,希望對(duì)大家的考試有所幫助!

  一、選擇題(每小題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í)行這個(gè)程序的輸出結(jié)果是( )。

  A.BBB

  B.BBD

  C.DBB

  D.DBD

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

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

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

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

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

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

  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)類繼承的敘述中,錯(cuò)誤的是( )。

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

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

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

  D.派生類沒(méi)有繼承基類的私有成員

  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.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化

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

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

  D.以上說(shuō)法都不正確

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

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

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

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

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

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

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

  B.自動(dòng)變量和外部變量的作用域?yàn)檎麄(gè)程序

  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.編譯出錯(cuò)

  B.9

  C.21

  D.9.0

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

  A.&&

  B.!=

  C..

  D.++

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

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

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

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

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

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

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

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

  C.虛函數(shù)

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

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

  A.參數(shù)類型

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

  C.返回值類型

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

  17、 對(duì)類成員訪問(wèn)權(quán)限的控制,是通過(guò)設(shè)置成員的訪問(wèn)控制屬性實(shí)現(xiàn)的,下列不是訪問(wè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)鍵字不能用來(lái)聲明類的訪問(wèn)權(quán)限的是(  )。

  A.publiC

  B.statiC

  C..proteCted

  D.private

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

  A.++a;

  B.f一一;

  C.c++;

  D.8++;

  二、基本操作題(18分)

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

  ConstruCtor Called. The value is 10

  Copy ConstruCtor Called. The value is 10

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

  //pwjl.Cpp

  #inClude ’using namespaCe std; Class MyClass{

  publiC:

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

  MyClass(int i)

  {value=i;Cout<<”ConstruCtor Called.” < //ERROR**********found********** MyClass(eonst MyClass P)

  {

  value = P.value;

  eout<<”Copy ConstruCtor Called.”< }

  void Print()

  {Cout<<”The value is” < //ERROR**********found********* void-MyClass()

  {Cout<<”DestruCtor Called.”< private:

  int value;

  }; int main()

  { MyChas objl

  owl.Print();

  MyClmss obj2(owl); obj2.Print();

  retum 0;

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

  42、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾pr092下的工程pros2。此工程中包含一個(gè)程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個(gè)“職工”對(duì)象,他們屬于同一部門。程序展示,當(dāng)該部門改換辦公室后,這兩個(gè)人的辦公室也同時(shí)得到改變。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:

  改換辦公室前:

  職工號(hào):0789姓名:張三部門:人事處辦公室:521

  職工號(hào):0513姓名:李四部門:人事處辦公室:521

  改換辦公室后:

  職工號(hào):0789姓名:張三部門:人事處辦公室:311

  職工號(hào):0513姓名:李四部門:人事處辦公室:311

  注意:只在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****found****”。

  #include

  using namespace std;

  class Department{ //“部門”類

  public:

  Department(const char*name,const char*office){

  strcpy(this一>name,nanle);

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

  }

  const char*getName()const{return name;}//返回部門名稱

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

  const char*getOffice()const{________} //返回辦公室房號(hào)

  void changeOfficeTo(const char*office){ //改換為指定房號(hào)的另一個(gè)辦公室

  strcpy(this一>office,office);

  }

  private:

  char name[20];//部門名稱

  char office[20];//部門所在辦公室房號(hào)

  };

  class staff{//“職工”類

  public:

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

  Staff(const char*my—id,const char木my_name,Department&my_dept):——{

  strcpy(this一>staff id,my_id);

  strcpy(this一>name,my_name);

  }

  const char*getlD()const{return staff_id;}

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

  Department getDepartment()const{return dept;} char staff=id[10];//職工號(hào)

  char name[20];//姓名

  Department&dept;//所在部門

  }; void showStaff(Staff&staff){

  cout<<”職工號(hào):”< cout<<”姓名:”< cout<<”部門:”< cout<<”辦公室:”< int main(){

  Department dept(”人事處”,”521”);

  Staff Zhang(”0789”,”張三”,dept),Li(”0513”,”李四”,dept);

  cout<<”改換辦公室前:”< showStaff(Zhang); showStaff(Li);

  //人事處辦公室由521搬到311 //**********found********** ———————————————————————一

  cout<<”改換辦公室后:”< showStaff(Zhang); showStaff(Li);

  return 0; }

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

  43、

  請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj3下的工程proj3,其中包含了類IntegerSet和主函數(shù)main的定義。一個(gè)IntegerSet對(duì)象就是一個(gè)整數(shù)的集合,其中包含0個(gè)或多個(gè)無(wú)重復(fù)的整數(shù);為了便于進(jìn)行集合操作,這些整數(shù)按升序存放在成員數(shù)組elem的前若干單元中。成員函數(shù)add的作用是將一個(gè)元素添加到集合中(如果集合中不存在該元素),成員函數(shù)remove從集合中刪除指定的元素(如果集合中存在該元素)。請(qǐng)編寫成員函數(shù)remove。在main函數(shù)中給出了一組測(cè)試數(shù)據(jù),此時(shí)程序的正確輸出結(jié)果應(yīng)為:

  2 3 4 5 27 28 31 66 75

  2 3 4 5 6 27 28 31 56 75

  2 3 4 5 6 19 27 28 31 66 75

  3 4 5 6 19 27 28 31 66 75

  3 4 5 6 19 27 28 31 66 75

  要求:

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

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

  //IntegorSet.h

  #ifndef INTEGERSET

  #define INTEGERSET

  #include

  using namespace std;

  const int MAXELEMENTS=100;

  //集合最多可擁有的元素個(gè)數(shù)

  class IntegerSet{

  int elem[MAXELEMENTS];

  //用于存放集合元素的數(shù)組

  int counter; //用于記錄集合中元素個(gè)數(shù)的計(jì)數(shù)器

  puhlic:

  IntegerSet():counter(0){}

  //創(chuàng)建一個(gè)空集合

  IntegerSet(int data[],int size);

  //利用數(shù)組提供的數(shù)據(jù)創(chuàng)建一個(gè)整數(shù)集合

  void add(int element);

  //添加一個(gè)元素到集合中

  void remeve(int element);

  //刪除集合中指定的元素

  int getCount()const{return counter;}

  //返回集合中元素的個(gè)數(shù)

  int getElement(int i)const{retum elem[i];}//返回集合中指定的元素

  void show()const;

  };

  void WriteToFile(char*);

  #endif

  //main.cpp

  #include”IntegerSet.h”

  #include

  IntegerSet::IntegerSet(int data[],int size):counter(0){

  for(int i=0;i add(data[i]);

  }

  }

  void IntegerSet::add(int element){

  int j;

  //從后往前尋找第一個(gè)小于等于element的元素

  for(j=counter;j>0;j-)

  if(element>=elem[j一1])break;

  //如果找到的是等于element的元素,說(shuō)明要添加的元素已經(jīng)存在,直接返回

  if(j>0)

  if(element==elem[j-1])return;

  //如果找到的是小于element的元素,j就是要添加的位置

  //該元素及其后面的元素依次后移,騰出插入位置

  for(int k=counter;k>j;k一)

  elem[k]=elem[k一1];

  elem[j]=element;//將element插入到該位置

  counter++; //計(jì)數(shù)器加l

  }

  void IntegerSet::remove(int element){

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

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

  void IntegerSet::show()const{

  for(int i=0;i cout< cout< }

  int main(){

  int d[]={5,28,2,4,5,3,2,75,27,66,31};

  IntegerSet S(d,11);S.show();

  S.add(6); s.show();

  S.add(19); S.show();

  S.remove(2); s.show();

  S.add(4); S.show();

  writeToFile(””);

  return 0;

  }

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

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

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

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

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

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

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

計(jì)算機(jī)二級(jí)考試C++考前沖刺試題05-16

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

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