首頁 - 網(wǎng)校 - 萬題庫 - 美好明天 - 直播 - 導(dǎo)航
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 模擬試題 > 正文

2018年3月全國計算機二級C++上機試題及答案(1)

來源:考試吧 2018-02-08 17:20:18 要考試,上考試吧! 萬題庫
“2018年3月全國計算機二級C++上機試題及答案(1)”供考生參考。更多計算機等級考試內(nèi)容請訪問考試吧計算機等級考試網(wǎng)。
第 1 頁:答案與解析

  點擊查看:2018年3月全國計算機二級C++上機試題及答案匯總

  一、程序改錯題

  使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正程序中的錯誤,使得程序輸出為

  10

  TC1

  注意:不要改動main函數(shù),不能增加或刪除行,也不能

  更改程序的結(jié)構(gòu),錯誤的語句在//******error******的下面。

  試題程序:

  #include

  classTC1

  {

  public:

  TC1()

  {

  }

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

  private:

  virtual~TC1()

  {

  usingnamespacestd;

  cout<<"TCl"<  }

  };

  classTC2:publicTC1

  {

  public:

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

  explicitTC2(inti)

  {

  m_i=i;

  }

  TC2&operator()(inti)

  {

  this->m_i=i;

  }

  voidprint()

  {

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

  cout<  }

  private:

  intm_i;

  };

  voidfun(TC2C1)

  {

  C1.print();

  }

  intmain()

  {

  fun(TC2(10));

  return0;

  }

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

  使用VC++6.0打開考生文件夾下的源程序文件

  2.cpp。請完成函數(shù)fun(intx),該函數(shù)的功能是將X的值轉(zhuǎn)換成二進制數(shù)輸出到屏幕,并且在函數(shù)中調(diào)用寫函數(shù)WriteFile將結(jié)果輸出到2.txt文件中。

  例如x=6,6的二進制數(shù)為110,則輸出到屏幕的數(shù)為110。

  注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

  試題程序:

  #include(iostream)

  #include(fstream)

  #include(cmath)

  usingnamespacestd;

  voidWriteFile(char*str)

  {

  ofstreamout1;

  out1.open("2.txt",ios—base::binary|ios_base::app);

  for(inti=0;str[i]!=0;i++)

  out1.put(str[i]);

  out1.close();

  }

  voidfun(intx)

  {

  }

  voidClearFile()

  {

  ofstreamout1;

  out1.open("2.txt");

  out1.close();

  }

  intmain()

  {

  ClearFile();

  fun(13);

  return0;

  }

  三、綜合應(yīng)用題

  用vc++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了多個類,其中定義的類并不完整,按照要求完成下列操作,將類的定義補充完整;使其輸出如下:

  TC2

  TC3

  TCl

  (1)類TC2公共繼承于TC1,請在注釋1后添加適當(dāng)?shù)恼Z句。

  (2)print函數(shù)為虛函數(shù),請在注釋2后添加適當(dāng)?shù)恼Z句。

  (3)修改語句,使得p指定對象0bj3,請在注釋3后添加

  適當(dāng)?shù)恼Z句。

  (4)修改語句,利用P調(diào)用print函數(shù),完成輸出信息,在注釋4后添加適當(dāng)?shù)恼Z句。

  注意:僅在函數(shù)指定位置添加語句,請勿改動主函數(shù)main與其他函數(shù)中的任何內(nèi)容。

  試題程序:

  #include

  usingnamespacestd;

  classTCl

  {

  public:

  voidprint()

  {

  cout<<"TCl"<  }

  };

  //********1********

  classTC2

  {

  public:

  //********2********

  voidprint()

  {

  cout<<"TC2"<  }

  };

  classTC3:publicTC2

  {

  public:

  voidprint()

  {

  cout<<"TC3"<  }

  };

  intmain()

  {

  TC20bj2;

  TC30bj3;

  TC1*P;

  obj2.print();

  obj3.print();

  //********3********

  p=obj3;

  //********4********

  P.print();

  return0;

  }

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

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

  一、程序改錯題

  (1)刪除“private:”語句。

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

  (3)應(yīng)改為“std::cout<  【解析】本題中第1處的“virtual~TC1()”語句是TC1析構(gòu)函數(shù),不是私有函數(shù),所以刪除“private:”。第2處“ex-plicitTC2(inti)”構(gòu)造函數(shù)語句中的“explicit”是禁止隱式轉(zhuǎn)換。程序中無法實現(xiàn)對類TC2的直接使用,所以這里應(yīng)該將其刪除。即“TC2(inti)”。在第3處實現(xiàn)fun函數(shù)中m-i的標(biāo)準輸出,即在屏幕上輸出10。在程序中用到C++標(biāo)準庫時,要使用std標(biāo)準命名空間進行限定。cout為標(biāo)準庫函數(shù),所以要聲明cout是在命名空間std中定義的流對象,即“std::cout<  二、簡單應(yīng)用題

  charstr[32];

  inti;

  for(i=30;i>=0;i--)//計算二進制

  {

  if(x%2)str[i]=’1’;//求余,如果余不為零字符串

  str第i位為1

  elsestr[i]=’0’;//否則為0

  x>>=1;

  if(!x)break;

  }

  str[31]=’\0’;//串加尾符

  cout<<&str[i]<  writeFile(&str[i]);

  【解析】本題要求定義存放二進制的字符串str。利用for循環(huán)對十進制數(shù)字x進行取余運算,直到余數(shù)為0結(jié)束。如果取余結(jié)果為0,則二進制字符串這個字符位的值為0,否則為1。調(diào)用WriteFile,將運算結(jié)果存入文件。

  三、綜合應(yīng)用題

  (1)將“classTC2”補充完整為“classTC2:publicTCl”。

  (2)將“voidprint()”補充完整為“virtualvoidprint()”。

  (3)將“p=obj3;”修改為“p=&obj3;”。

  (4)將“P.print();”修改為“p->print();”。

  【解析】本題中第1處要求“類TC2公共繼承于TC1”。從已有的類產(chǎn)生一個新的子類,成為類的派生。聲明派生類的一般形式為“class派生類名:[繼承方式]基類名”。根據(jù)題目中的要求以及派生類的一般形式,在第1處添加語

  句“ClaSSTC2:publicTC1”。第2處要求“print函數(shù)為虛函數(shù)”。在C++中,用virtual聲明的函數(shù)為虛函數(shù)。因此第2處的語句應(yīng)修改為“virtualvoidprint()”。第3處要求“使得P指定對象obj3”。p為指針變量,obj3為類的對象,將一個指針變量指向另一個變量,只要把被指向的變量的地址賦給指針變量即可。取對象obj3地址的語句為&obj3,所以這里補全語句為“p=&obj3;”。第4處要求“利用P調(diào)用print()函數(shù)”。C++中用“->”運算符實現(xiàn)成員訪問,因此調(diào)用print函數(shù),應(yīng)將第4處的語句修改為“p->print();”。

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

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

  相關(guān)推薦:

  2018年全國計算機等級考試必做試題匯總(各科目)

  2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)

  2018計算機等級考試報名時間|各地報名入口|報名條件

  2018年全國計算機等級考試時間|教材目錄(2018年版)

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

  報名方法|考試內(nèi)容|考試大綱|2018計算機等級考試科目

  歷年真題匯總|考試吧策劃:2018年計算機等級考試報考指南

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