首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 美好明天 - 直播 - 導(dǎo)航

2018年3月計(jì)算機(jī)二級(jí)C++過(guò)關(guān)練習(xí)題及答案(6)

來(lái)源:考試吧 2018-02-06 14:57:10 要考試,上考試吧! 萬(wàn)題庫(kù)
“2018年3月計(jì)算機(jī)二級(jí)C++過(guò)關(guān)練習(xí)題及答案(6)”供考生參考。更多計(jì)算機(jī)等級(jí)考試相關(guān)信息請(qǐng)關(guān)注考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。

  點(diǎn)擊查看:2018年3月計(jì)算機(jī)二級(jí)C++過(guò)關(guān)練習(xí)題及答案匯總

  點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)考試C++過(guò)關(guān)練習(xí)題及答案匯總

  1[判斷題]常數(shù)據(jù)成員在常成員函數(shù)中的值是不允許改變的,而在非常成員函數(shù)中是允許改變的。

  參考答案:錯(cuò)

  2[單選題]有如下程序:

  該程序段的輸出結(jié)果是 (  )。

  A.987B.876C.8765D.9876

  參考答案:B

  參考解析:注意到n--的運(yùn)算順序,知道第一次輸出的應(yīng)是8,據(jù)此就可以很快排除A和D。然后判斷循環(huán)幾次結(jié)束,由于當(dāng)n-6時(shí),while的條件判斷已經(jīng)不成立了,直接跳過(guò)循環(huán)體結(jié)束程序了。故當(dāng)n=9,8,7時(shí)執(zhí)行了循環(huán)體,故答案為B。

  3[單選題]

  參考答案:A

  4[單選題] 在公有派生情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,下列敘述不正確的是( )。

  A.派生類的對(duì)象可以賦給基類的對(duì)象

  B.派生類的對(duì)象可以初始化基類的引用

  C.派生類的對(duì)象可以直接訪問(wèn)基類中的成員

  D.派生類的對(duì)象的地址可以賦給指向基類的指針

  參考答案:C

  參考解析:公有繼承的派生類和基類是子類型的關(guān)系,所謂子類型是類型間一般和特殊的關(guān)系,即派生類是基類的子類型或者說(shuō)基類的操作可以被用于操作派生類的對(duì)象。

  5[單選題]

  A. 

  B. 

  C.  

  D.  

  參考答案:B

  6[單選題]下列關(guān)于線性鏈表的描述中,正確的是(  )。

 �、�、只含有一個(gè)指針域來(lái)存放下一個(gè)元素地址

  Ⅱ、指針域中的指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件l

 �、�、結(jié)點(diǎn)由兩部分組成:數(shù)據(jù)域和指針域。

  A.僅Ⅰ、ⅡB.僅Ⅰ、ⅢC.僅Ⅱ、ⅢD.全部

  參考答案:D

  參考解析:在定義的鏈表中,若只含有一個(gè)指針域來(lái)存放下一個(gè)元素地址,稱這樣的鏈表為單鏈表或線性鏈表。

  在鏈?zhǔn)酱鎯?chǔ)方式中,要求每個(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。

  7[單選題] 下列關(guān)于類和對(duì)象的敘述中,錯(cuò)誤的是(  )。

  A.一個(gè)類只能有一個(gè)對(duì)象

  B.對(duì)象是類的具體實(shí)例

  C.類是對(duì)某一類對(duì)象的抽象

  D.類和對(duì)象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系

  參考答案:A

  參考解析:本題考查類和對(duì)象的概念。類是用戶定義的一種類型,程序員可以使用這個(gè)類型來(lái)說(shuō)明多個(gè)變量,即對(duì)象。

  8[單選題] 下列有關(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)有繼承基類的私有成員

  參考答案:D

  參考解析:本題考查類繼承。派生類繼承了基類的全部數(shù)據(jù)成員和私有成員,只是基類的私有成員在派生類中是隱藏的,只能在基類內(nèi)部訪問(wèn)。

  9[簡(jiǎn)答題](1)應(yīng)改為“catch(char*s)”。

  (2)應(yīng)改為“cateh(inti)”。

  (3)應(yīng)改為“catch(…)”。

  【解析】本題中第1個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw("error");”,其中的類型為字符串。所以對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,而程序中給出的語(yǔ)句“catch(chars)”是字符型的,所以第1處的語(yǔ)句修改為“catch(char*S)”。第2個(gè)標(biāo)識(shí)前的異常拋出語(yǔ)句為“throw((int)0);”,其中的類型為int。對(duì)應(yīng)的異常捕捉語(yǔ)句catch中應(yīng)該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配的catch塊,系統(tǒng)就會(huì)調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處的語(yǔ)句修改為“catch(inti)”。如果在catch子句中沒(méi)有指定異常信息的類型,那么就用刪節(jié)號(hào)“…”表示它可以捕捉任何類型的異常信息,即修改為“catch(…)”。

  參考解析:使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)catch必須拋出執(zhí)行的任何異常。

  程序異常,輸出信息為

  error

  O

  ERROR

  注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。

  試題程序:

  #include

  intmain()

  {

  try

  {

  throw("error");

  }

  //********error********

  catch(chars)

  {

  cout<

  }

  try

  {

  throw((int)0);

  }

  //********error********

  catch()

  {

  cout<

  }

  try

  {

  throw(O);

  throw("error");

  }

  //********error********

  catch()

  {

  cout<<"ERROR"<

  }

  return0;

  }

  10[簡(jiǎn)答題]使用VC++6.0打開(kāi)考生文件夾下的源程序文件2.cpp。請(qǐng)完成以下兩個(gè)函數(shù)。

  (1)funl(intn)求出n的階乘,必須使用遞歸調(diào)用。

  (2)fun2(intn)求出n的階乘,不能使用遞歸調(diào)用。如果n小于1則返回0。

  注意:不能修改函數(shù)的其他部分。

  試題程序:

  #include

  //必須使用遞歸

  intfunl(intn)

  {

  }

  //不能使用遞歸

  intfun2(intn)

  {

  }

  voidmain()

  {

  inti;

  cout<<"請(qǐng)輸入一個(gè)整數(shù):"<

  cin>>i;

  cout<<"輸入數(shù)字的階乘是:"<

  cout<<"輸入數(shù)字的階乘是:"<

  return;

  }%

  參考解析:

  //必須使用遞歸

  jntfunl(intn)

  {

  if(n<=0)

  return0;

  if(n==1)

  return1;

  returnn*funl(n-1);

  };

  //不能使用遞歸

  intfun2(intn)

  {

  if(n<=0)

  retturn0;

  intres=1:

  for(inti=1;i<=n;i++)

  {

  res*=i;

  }

  returnres;

  }

  【解析】本題考查的是遞歸函數(shù)和階乘算法。遞歸的階乘算法可以通過(guò)判斷傳入?yún)?shù),如果大于1,則返回n*funl(n-1),意思是返回n乘以n-1的階乘;如果等于1,則返回1。這樣遞歸下去就能最終得出n的階乘。非遞歸算法可以先建立一個(gè)累乘變量,并初始化為1,然后循環(huán)遍歷1~n,將遍歷的數(shù)累乘到變量中即可。

掃描/長(zhǎng)按二維碼幫助考試通關(guān)
2018年等考報(bào)考資訊
2018等考各科通關(guān)技巧
2018各科最新預(yù)測(cè)試卷
2018等考各科備考資料

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關(guān)推薦:

  2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)

  2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)

  2018計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間|各地報(bào)名入口|報(bào)名條件

  2018年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間|教材目錄(2018年版)

  2018全國(guó)計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總

  報(bào)名方法|考試內(nèi)容|考試大綱|2018計(jì)算機(jī)等級(jí)考試科目

  歷年真題匯總|考試吧策劃:2018年計(jì)算機(jī)等級(jí)考試報(bào)考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬(wàn)題庫(kù)小程序
萬(wàn)題庫(kù)小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·�?荚囶}
微信掃碼,立即獲��!
掃碼免費(fèi)使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
此欄目下沒(méi)有文章
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004-2025 考試吧計(jì)算機(jī)等級(jí)考試網(wǎng) 出版物經(jīng)營(yíng)許可證新出發(fā)京批字第直170033號(hào)  
京ICP證060677 京ICP備05005269號(hào) 中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧