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

試題

計算機二級C++模擬試題及答案五

時間:2024-07-08 20:47:01 試題 我要投稿
  • 相關(guān)推薦

2015年計算機二級C++模擬試題及答案(五)

  2015年3月全國計算機等級考試已經(jīng)結(jié)束,9月份的考試現(xiàn)在也可以復(fù)習了,下面應(yīng)屆畢業(yè)生網(wǎng)小編專門為你準備了計算機等級考試的模擬試題,供你考前練習:

2015年計算機二級C++模擬試題及答案(五)

  一、選擇題

  1.算法分析的目的是( )

  A.找出數(shù)據(jù)結(jié)構(gòu)的合理性

  B.找出算法中輸入和輸出之間的關(guān)系

  C.分析算法的易懂性和可靠性

  D.分析算法的效率以求改進

  【參考答案】D

  2.在單鏈表中,增加頭結(jié)點的目的是( )

  A.方便運算的實現(xiàn)

  B.使單鏈表至少有一個結(jié)點

  C.標識表結(jié)點中首結(jié)點的位置

  D.說明單鏈表是線性表的鏈式存儲實現(xiàn)

  【參考答案】A

  3.軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于( )

  A. 硬件資源

  B.通信資源

  C. 支持軟件

  D.輔助資源

  【參考答案】D

  4.分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是( )

  A.數(shù)據(jù)分布性和邏輯整體性

  B.位置透明性和復(fù)制透明性

  C.分布性

  D.數(shù)據(jù)冗余

  【參考答案】D

  5.下列數(shù)據(jù)模型中,有堅實理論基礎(chǔ)的是( )

  A. 層次模型

  B.網(wǎng)狀模型

  C. 關(guān)系模型

  D.以上3個都是

  【參考答案】C

  6.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是( )

  A.ABCED

  B.DCBEA

  C.DBCEA

  D.CDABE

  【參考答案】B

  7.在結(jié)構(gòu)化程序設(shè)計思想提出之前,在程序設(shè)計中曾強調(diào)程序的效率。與程序的效率相比,人們更重視程序的( )

  A. 安全性

  B.一致性

  C. 可理解性

  D.合理性

  【參考答案】C

  8.軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成( )

  A. 定義、開發(fā)、運行維護

  B.設(shè)計階段、編程階段、測試階段

  C. 總體設(shè)計、詳細設(shè)計、編程調(diào)試

  D.需求分析、功能定義、系統(tǒng)設(shè)計

  【參考答案】A

  9.數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有( )

  A.特定的數(shù)據(jù)模型

  B.數(shù)據(jù)無冗余

  C.數(shù)據(jù)可共享

  D.專門的數(shù)據(jù)管理軟件

  【參考答案】A

  10.實體是信息世界中廣泛使用的一個術(shù)語,它用于表示( )

  A.有生命的事物

  B.無生命的事物

  C.實際存在的事物

  D.一切事物

  【參考答案】C

  11.下列關(guān)于C++語言類的描述錯誤的是( )

  A.類用于描述事物的屬性和對事物的操作

  B.類與類之間通過封裝而具有明確的獨立性

  C.類與類之間必須是平等的關(guān)系,而不能組成層次結(jié)構(gòu)

  D.類與類之間可以通過一些方法進行通信和聯(lián)絡(luò)

  【參考答案】C

  12.以下敘述中正確的是( )

  A.構(gòu)成C++語言程序的基本單位是類

  B.可以在一個函數(shù)中定義另一個函數(shù)

  C.main()函數(shù)必須放在其他函數(shù)之前

  D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義

  【參考答案】A

  13.以下程序的輸出結(jié)果是( )

  #include

  void reverse(int a[],int n)

  { int i,t;

  for(i=0;i

  { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

  }

  void main()

  { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;

  reverse(b,8);

  for(i=6;i<10;i++)s+=b[i];

  cout<

  }

  A.22

  B.10

  C.34

  D.30

  【參考答案】A

  14.設(shè)有數(shù)組定義:char array[]=″China″;,則數(shù)組array所占的空間為( )

  A.4個字節(jié)

  B.5個字節(jié)

  C.6個字節(jié)

  D.7個字節(jié)

  【參考答案】C

  15.下面的哪個選項不能作為函數(shù)的返回類型?( )

  A.void

  B.int

  C.new

  D.long

  【參考答案】C

  16.下面程序輸出的結(jié)果是( )

  #include

  void main()

  { int i;

  int a[3][3]={1,2,3,4,5,6,7,8,9};

  for(i=0;i<3;i++)

  cout<

  }

  A.1 5 9

  B.7 5 3

  C.3 5 7

  D.5 9 1

  【參考答案】B

  17.下列描述中哪個是正確的?( )

  A.私有派生的子類無法訪問父類的成員

  B.類A的私有派生子類的派生類C無法初始化其祖先類A對象的屬性,因為類A的成員對類C是不可訪問的

  C.私有派生類不能作為基類派生子類

  D.私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員

  【參考答案】B

  18.如果友元函數(shù)重載一個運算符時,其參數(shù)表中沒有任何參數(shù)是說明該運算符是( )

  A.一元運算符

  B.二元運算符

  C.選項A和選項B都可能  來源:考試大網(wǎng)

  D.重載錯誤

  【參考答案】D

  19.下列關(guān)于模板的說法正確的是( )

  A.模板的實參在任何時候都可以省略

  B.類模板與模板類所指的是同一概念

  C.類模板的參數(shù)必須是虛擬類型的

  D.類模板中的成員函數(shù)全部都是模板函數(shù)

  【參考答案】D

  20.下面程序段的運行結(jié)果是( )

  void main()

  {int t,a,b,c;

  a=1;b=2;c=2;

  while(a

  { t=a;a=b;b=t;c--;}

  cout<

  A.1,2,0

  B.2,1,0

  C.1,2,1

  D.2,1,1

  【參考答案】A

  21.若定義int k=7,x=12;,則能使值為3的表達式是( )

  A.x%=(k%=5)

  B.x%=(k-k%5)

  C.x&=k-k%5

  D.(x%=k)-(k%=5)

  【參考答案】D

  22.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點a之后的語句是( )

  struct node

  { char data;

  struct node *next;

  } a,b,*p=&a,*q=&b;

  A.a.next=q;

  B.p.next=&b;

  C.p->next=&b;

  D.(*p).next=q;

  【參考答案】B

  23.以下都是C++語言標識符的是( )

  A.dsfa,df4,f$

  B.huhj,a^,k2

  C.3k,h,j_9

  D._ok,jk,k8

  【參考答案】D

  24.設(shè)以下變量均為int類型,則值不等于7的表達式是( )

  A.(x=y=6,x+y,x+1)

  B.(x=y=6,x+y,y+1)

  C.(x=6,x+1,y=6,x+y)

  D.(y=6,y+1,x=y,x+1)

  【參考答案】C

  25.while和do-while循環(huán)的主要區(qū)別是( )

  A.do-while的循環(huán)體至少無條件執(zhí)行一次

  B.while的循環(huán)控制條件比do-while的循環(huán)控制條件更 嚴格

  C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

  D.do-while的循環(huán)體不能是復(fù)合語句

  【參考答案】A

  26.若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中相對位置的公式為(假設(shè)a[0][0]位于數(shù)組的第一個位置上)( )

  A.i*m+j

  B.j*m+i

  C.i*m+j-1

  D.i*m+j+1

  【參考答案】A

  27.下面敘述不正確的是( )

  A.派生類一般都用公有派生

  B.對基類成員的訪問必須是無兩義性的

  C.賦值兼容則也適用于多重繼承的組合

  D.基類的公有成員在派生類中仍然是公有的

  【參考答案】D

  28.關(guān)于友元的概念錯誤的是( )

  A.友元函數(shù)沒有this指針

  B.調(diào)用友元函數(shù)時必須在它的實參中給出要訪問的對象

  C.一個類的成員函數(shù)也可以作為另一個類的友元函數(shù)

  D.只能在類的公有段聲明友元

  【參考答案】D


  29.下面程序的結(jié)果是( )

  #include

  class test{ private:

  int num;

  public:

  test();

  int getint() {return num;}

  ~test();};

  test::test()

  { num =0;}

  test::~test()

  { cout<<″Destructor is active″<

  void main()

  { test x[3];

  cout<<″Exiting main″<

  A.Exiting is actice

  Destructor is active

  Destructor is active

  Destructor is active

  B.Exiting main

  Destructor is active

  Destructor is active

  C.Exiting main

  Destructor is active

  D.Exiting main

  【參考答案】A

  30.下列語句不能夠用于打開C根目錄下文件test.txt的語句是( )

  A.ifstream fin;fin.open(″C:\\test.txt″);

  B.ifstream fin(″C:\\test.txt″);

  C.A和B  

  D.ifstream fin;fin(″C:\\test.txt″);

  【參考答案】D

  31.下列關(guān)于C++函數(shù)的描述中正確的是( )

  A.主函數(shù)是程序的入口,它由用戶定義的函數(shù)調(diào)用

  B.函數(shù)在調(diào)用之前必須先被聲明

  C.每個用戶定義的函數(shù)只能被其他函數(shù)調(diào)用一次

  D.函數(shù)是C++中面向?qū)ο蟪绦蛟O(shè)計框架的基本組成單元

  【參考答案】B

  32.下列程序的運行結(jié)果為( )

  #include

  class Location {

  protected:

  int X,Y;

  public:

  void SetX(int myx) {X=myx;}

  void SetY(int myy) {Y=myy;}

  void showxy() {cout<<″X=″<

  class Rectangle:public Location{

  private:

  int H,W;

  public:

  void SetH(int myh) {H=myh;}

  void SetW(int myw) {W=myw;}

  void show() {cout<<″X=″<

  ?Y<<″ ″<<″H=″<

  void main()

  { Rectangle r1;

  r1.SetX(3);

  r1.SetY(5);

  r1.SetH(4);

  r1.SetW(6);

  r1.showxy();

  r1.show();}

  A.X=3 Y=5 X=3 Y=5 H=4 W=6

  B.X=3 Y=5

  X=3 Y=5 H=3 W=6

  C.X=3 Y=5

  D.X=3 Y=5X=3 Y=4 H=4 W=6

  X=3 Y=3 H=4 W=6

  【參考答案】A

  33.有以下程序

  #include

  void main()

  { int a=5,b=0,c=0;

  if(a=b+c)cout<<″***″<

  else cout<<″$$$″<

  下列選項敘述正確的是( )

  A.有語法錯不能通過編譯

  B.可以通過編譯但不能通過連接

  C.輸出***

  D.輸出$$$

  【參考答案】D

  34.以下程序中循環(huán)體總的執(zhí)行次數(shù)是( )

  int i,j;

  for(i=6;i>1;i--)

  for(j=0;j

  {……}

  A.20

  B.261

  C.15

  D.25

  【參考答案】A

  35.下列程序的輸出結(jié)果是( )

  #include

  void main()

  { int a[3],i,j,k=2;

  for(i=0;i<3;i++)a[i]=i;

  for(i=0;i

  for(j=0;j

  a[j]=a[i];

  cout<

  A.2

  B.3

  C.1

  D.0

  【參考答案】A


  二、填空題

  1.將代數(shù)式

  ______________ 換成程序設(shè)計中的表達式為 【1】。

  ╱ X*X+Y*Y

  Z= ╱ ----------

  ╲╱ a+b

  【參考答案】

  【1】SORT(x^2+y^2)/(a+b)

  2.【2】是數(shù)據(jù)庫設(shè)計的核心。

  【參考答案】

  【2】數(shù)據(jù)模型

  3.測試的目的是暴露錯誤,評價程序的可靠性;而【3】的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。

  【參考答案】

  【3】調(diào)試

  4.在面向?qū)ο蟮脑O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【4】。

  【參考答案】

  【4】消息

  5.常用的黑箱測試有等價分類法、【5】、因果圖法和錯誤推測法4種。

  【參考答案】

  【5】邊值分析法

  6.【6】是C++語言程序的入口。

  【參考答案】

  【6】main()函數(shù)

  7.C++語言的基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和【7】。

  【參考答案】

  【7】循環(huán)結(jié)構(gòu)

  8.函數(shù)重載要求重載的函數(shù)必須有和原函數(shù)一樣的【8】。

  【參考答案】

  【8】函數(shù)名

  9.設(shè)置虛基類的目的是【9】,通過【10】表示虛基類。

  【參考答案】

  【9】解決二義性問題

  【10】用關(guān)鍵字virtual

  10. 語句cout<<′\n′還可表示為【11】。

  【參考答案】

  【11】cout<< p>

  11.若已知a=10,b=20,則表達式!a< p>

  【參考答案】

  【12】1

  12.友元類的所有成員函數(shù)都是另一個類的【13】。

  【參考答案】

  【13】友元函數(shù)

  13.表達式x.operator++()還可寫成【14】。

  【參考答案】

  【14】++x

  14.若要在C盤根目錄下作為二進制文件打開文件test.dat,則應(yīng)該用的語句是:

  【參考答案】

  【15】ifstream fin(″C:\test.dat″,ios_binary);或ifstream fin;fin.open(c:\test.dat″,ios_bin

  三、改錯題

  使用VC6打開考生文件夾下的工程kt2_1,此工程包含一個源程序文件kt2_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結(jié)果如下:

  Vehiclemessage

  Carmessage

  Vehiclemessage

  源程序文件kt2_1.cpp清單如下:

  #include

  classvehicle

  {

  intwheels;

  floatweight;

  public:

  voidmessage(void){cout<<"Vehiclemessage\n";}

  };

  classcar:publicvehicle

  {

  intpassenger_load;

  public:

  voidmessage(void){cout>>"Carmessage\n";}

  };

  classtruck:publicvehicle

  {

  intpassenger_load;

  floatpayload;

  public:

  intpassengers(void){returnpassenger_load;}

  };

  voidmain()

  {

  vehicle*unicycle;

  unicycle=newvehicle;

  unicycle.message();

  deleteunicycle;

  unicycle=newcar;

  unicycle->message();

  deleteunicycle;

  unicycle=newtruck;

  unicycle->message();

  deleteunicycle;

  }

  【參考答案】

  (1)將void message(void){ cout<<"Vehicle message\n";}

  改為:virtual void message(void){ cout<<"Vehicle message\n";}

  (2)將void message (void){cout>>"Car message\n";}

  改為:void message (void){cout<<"Car message\n";}

  (3)將unicycle.message();

  改為:unicycle->message();

  【試題解析】

  (1)主要考查對虛函數(shù)使用規(guī)則的掌握,要實現(xiàn)對函數(shù)message的動態(tài)聯(lián)編應(yīng)該使用虛函數(shù),否則產(chǎn)生的是靜態(tài)聯(lián)編,調(diào)用的函數(shù)輸出結(jié)果就與要求不符;

  (2)主要考查對流輸出操作的掌握,該處錯誤的使用了流輸入操作;

  (3)主要考查對象和對象指針的概念,對象指針使用"->"調(diào)用成員函數(shù),而對象使用"."調(diào)用成員函數(shù)。

  四、簡單應(yīng)用題

  編寫類AA的成員函數(shù)intCompare(AAb),該函數(shù)用于比較*this與b的大小,若兩者含有元素的個數(shù)n相同,并且數(shù)組中前n個元素值對應(yīng)相同,則認為兩者相等返回1,否則返回0。注意:用數(shù)組方式及for循環(huán)來實現(xiàn)該函數(shù)。輸出結(jié)果如下:

  a=b

  a<>c

  注意:部分源程序已存在文件kt2_2.cpp中。

  請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)Compare的花括號中填寫若干語句。

  文件kt2_2.cpp的內(nèi)容如下:

  #include

  #include

  classAA{

  int*a;

  intn;

  intMS;

  public:

  voidInitAA(intaa[],intnn,intms)

  {

  if(nn>ms)

  {\cout<<"Error!"<< p>

  exit(1);}

  MS=ms;

  n=nn;

  a=newint[MS];

  for(inti=0;i< p>

  }

  intCompare(AAb);

  };

  intAA::Compare(AAb)

  {

  }

  voidmain()

  {AAa,b,c;

  intx[]={1,2,3,4,5};

  inty[]={1,2,3,6,7};

  intz[]={1,2,5,7,9};

  a.InitAA(x,3,5);

  b.InitAA(y,3,5);

  c.InitAA(z,3,5);

  if(a.Compare(b))

  cout<<"a=b"<< p>

  else

  cout<<"a<>b"<< p>

  if(a.Compare(c))

  cout<<"a=c"<< p>

  else

  cout<<"a<>c"<< p>

  【參考答案】

  int AA::Compare(AA b)

  {if(n!=b.n) return 0;

  for(int i=0; i<>

  if(a[i]!=b.a[i]) return 0;

  return 1;}

  【試題解析】

  本題考查應(yīng)用for循環(huán)、if條件控制語句等基本控制結(jié)構(gòu)解決實際問題的能力。

  五.綜合應(yīng)用題

  使用VC6打開考生文件夾下的工程test17_3,此工程包含一個源程序文件kt2_3.cpp,其中定義了用于表示點的類Point和表示內(nèi)容的類Text以及二者的派生類CircleWithText,但它們的定義并不完整。請按要求完成下列操作,將它們的定義補充完整。

  (1)定義類Point的構(gòu)造函數(shù),請使用參數(shù)列表的形式將成員函數(shù)x和y分別初始化為參數(shù)x1和y1的值。請在注釋“//**1**”之后添加適當?shù)恼Z句。

  (2)完成類Text的構(gòu)造函數(shù)Text(char*str)的定義,將char型的str指向的內(nèi)容賦值給text并且輸出str所指向的內(nèi)容,請在注釋“//**2**”之后添加適當?shù)恼Z句。

  (3)定義類CircleWithText的構(gòu)造函數(shù)CircleWithText(intcx,intcy,char*msg),int型的cx和cy用于賦值給x和y,char型的指針*msg用于賦值給text,請在注釋“//**3**”之后添加適當?shù)恼Z句。

  輸出結(jié)果如下:

  Point:34

  hello

  注意:除在指定位置添加語句之外,請不要改動程序中的其他內(nèi)容。

  源程序如下:

  #include

  #include

  classPoint

  {intx,y;

  public:

  //**1**

  {cout<<"Point:"<<<''<<<'\N';}< p>

  ~Point(){}};

  classText

  {chartext[100];

  public:

  Text(char*str)

  {//**2**}

  ~Text(){}};

  classCircleWithText:publicPoint,publicText

  {public:

  //**3**

  {}

  ~CircleWithText(){}};

  voidmain()

  {CircleWithTextcm(3,4,"hello");}

  【參考答案】

  (1)Point(int x1=0, int y1=0) :x(x1), y(y1)

  (2)strcpy(text,str);

  cout<<<"\N";< p>

  (3)CircleWithText(int cx,int cy, char *msg):Point(cx,cy),Text(msg)

  【試題解析】

  本題主要考查考生對于多繼承中類的定義和派生類構(gòu)造函數(shù)的定義的掌握。注意學會使用參數(shù)列表的形式定義派生類的構(gòu)造函數(shù),在列表中的格式是基類名1(向基類傳遞的參數(shù)列表),基類名2(向基類傳遞的參數(shù)列表)。

【計算機二級C++模擬試題及答案五】相關(guān)文章:

計算機二級C++模擬試題及答案09-22

計算機二級C++模擬題及答案05-12

計算機二級模擬試題及答案08-12

2017計算機二級C++模擬題及答案06-22

計算機二級《VB》模擬試題及答案11-01

計算機二級模擬試題含答案10-23

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

2017計算機二級MSoffice模擬試題及答案10-20

計算機二級C語言模擬試題及答案07-04

2016計算機二級《Access》模擬試題與答案09-13