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

2018年12月計算機二級C語言沖刺試題及答案(1)

來源:考試吧 2018-11-26 17:32:04 要考試,上考試吧! 萬題庫
“2018年12月計算機二級C語言沖刺試題及答案(1)”供考生參考。更多計算機等級考試模擬試題等信息請訪問考試吧計算機等級考試網(wǎng)。

  點擊查看:2018年12月計算機二級C語言沖刺試題及答案匯總

  程序改錯題

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

  TC1

  TC2

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

  試題程序:

  #include

  #include  structTCO

  {

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

  virtualvoidfun();

  };

  classTCl:publicTCO

  {

  voidfun()

  {

  cout<<"TCl"<  }

  };

  classTC2:publicTCO

  {

  voidfun()

  {

  cout<<"TC2"<  }

  };

  voidmain()

  {

  TCO"P;

  TClobj1;

  TC2obj2;

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

  p=*obj1;

  p->fun();

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

  p=*obj2;

  p->fun();

  return;

  }

  參考答案:

  (1)應改為“virtualvoidfun()=0;”。

  (2)應改為“p=&obj1;”。

  (3)應改為“p=&obj2;”。

  【解析】如果在基類中不使用這個虛函數(shù),其返回值也是沒有意義的,它應該被定義為純虛函數(shù)。所以虛函數(shù)fun應該是純虛函數(shù),也就是聲明虛函數(shù)時初始化為0的函數(shù)。即第2處的“virtualvoidfun()=0;”。第2處的P為指針變量,將對象obj1賦值給P,實際上蹙P指向對象obj1的地址,所以將“p=*obj1;”修改為“P=&obj1;”。第3處的“P=*obj2;”修改為“p=&obj2;”。

  簡單應用題

  使用VC++6.0打開考生交件夾下的源程序文件2.cpp。閱讀下列函數(shù)說明和代碼,完成空出部分程序。函數(shù)fun(intN[4])的功能是用4個數(shù)字,組成互不相同且無重復數(shù)字的3位數(shù),并將滿足所有條件的數(shù)字輸出到屏幕,

  并且每輸出一個3位數(shù)就換一行。

  程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、0。組成所有的排列后再去掉不滿足條件的排列。如果判定第一個數(shù)字是0,則也去掉。

  試題程序:

  #include

  voidfun(intN[4])

  {

  }

  intmain()

  intN[4]={1,2,3,0};

  fun(N):

  return0;

  }

  參考答案:

  inti,j,k;

  for(i=0;i<4;i++)//百位循環(huán)

  {

  for(j=0;j<4;j++)//十位循環(huán)

  for(k=0;k<4;k++)//個位循環(huán)

  {

  if(i!=j&&j!=k&&k!=i&&N[i]!=0)//

  當三位數(shù)不同,并且百位不為0

  {

  cout<  }

  }

  }

  【解析】本題利用3層循環(huán),對3位數(shù)字是否相同進行判斷。如果3位數(shù)不同,并且百位不為0,那么依次輸出這3 位數(shù),即由3位數(shù)組成的數(shù)字。

  綜合應用題

  使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。

  (1)基類People完成打印功能,定義其中的打印函數(shù)為

  虛函數(shù),請在注釋1后添加適當?shù)恼Z句。

  (2)類Boy繼承于People,在構造函數(shù)中設置性別為1,

  請在注釋2后添加適當?shù)恼Z句。

  (3)類Girl繼承于People,在構造函數(shù)中設置性別為0,請在注釋3后添加適當?shù)恼Z句。

  (4)實現(xiàn)函數(shù)fun,用于傳遞不同的類型,打印出性別,請在注釋4后添加適當?shù)恼Z句。

  輸出的內容如下:

  Sex=Boy

  Sex=Girl

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

  試題程序:

  #include

  classPeople

  {

  public:

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

  voidprint(){}

  intsex;

  };

  classBoy:publicPeople

  {

  publiC:

  Boy()

  {

  //********2********}

  voidprint()

  {

  cout<<"Boy"<  }

  };

  classGirl:publicPeople

  {

  public:

  Girl()

  {

  //********3********}

  voidprint()

  {

  cout<<"Girl"<  }

  };

  //********4********{

  cout<<"Sex=";

  p.print();

  }

  intmain()

  {

  Boym:

  fun(m);

  Girln:

  fun(n);

  return0;

  }

  參考答案:

  (1)將“voidprint(){};”補充完整為“virtualvoidprint(){};”。

  (2)應添加“sex=1;”。

  (3)應添加“sex=0;”。

  (4)應添加“voidfun(People&p)”。

  【解析】第1處要求“基類People完成打印功能,定義其中的打印函數(shù)為虛函數(shù)”。虛函數(shù)是函數(shù)的一種,定義虛函數(shù),在函數(shù)名前聲明virtual就可以了,所以將第1處的“voidprint(){}”語句修改為“virtualvoidprint(){}”。第2處要求“類Boy繼承于People,在構造函數(shù)中設置性別為l”;怭eople中變量sex用來存放性別,Boy繼承People,所以Boy中性別的變量可以使用基類中的sex變量,設置性別為1,即“sex=1;”。第3處要求“類Girl繼承于People,在構造函數(shù)中設置性別為0”。在第3處添加語句“sex=0;”。第4處要求“實現(xiàn)函數(shù)fun,用于傳遞不同的類型,打印出性別”。根據(jù)“P.print();”語句知道,fun函數(shù)的形參為指針P,由于它調用了基類People中的成員函數(shù)print,所以P的基類為People,即添加函數(shù)fun的定義為“voidfun(People&p)”。

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

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

  相關推薦:

  2018年12月全國計算機等級考試必做試題匯總

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

  各地2018年12月全國計算機等考準考證打印時間匯總

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

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

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習
·免費真題 ·?荚囶}
微信掃碼,立即獲!
掃碼免費使用
版權聲明:如果計算機等級考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網(wǎng)內容,請注明出處。
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧