首頁 - 網(wǎng)校 - 萬題庫 - 美好明天 - 直播 - 導(dǎo)航

2018年3月全國(guó)計(jì)算機(jī)二級(jí)C++上機(jī)試題及答案(4)

來源:考試吧 2018-02-08 17:30:04 要考試,上考試吧! 萬題庫
“2018年3月全國(guó)計(jì)算機(jī)二級(jí)C++上機(jī)試題及答案(4)”供考生參考。更多計(jì)算機(jī)等級(jí)考試內(nèi)容請(qǐng)?jiān)L問考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。
第 1 頁:答案與解析

  點(diǎn)擊查看:2018年3月全國(guó)計(jì)算機(jī)二級(jí)C++上機(jī)試題及答案匯總

  一、程序改錯(cuò)題

  使用VC++6.0打開考生文件夾下的源程序文件1.cpp,使其輸出結(jié)果為:

  n=0

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

  試題程序:

  #include

  //********error*******。

  classTC()

  {

  public:

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

  void~TC(){}

  TC(intn)

  {

  cout<<’n’<<’=’<  };

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

  }

  voidmain()

  {

  TCtest(0);

  return;

  }

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

  使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請(qǐng)完成函數(shù)fun(char*str,charch)的定義,本函數(shù)采用二分法,在已按字母次序從小到大排序的字符數(shù)組str中,查找字符ch,若ch在數(shù)組中,函數(shù)返回字符ch在數(shù)組中的下標(biāo),否則返回1。

  二分法查找的思想是初始查找區(qū)間的下界為0,上界為len-1,查找區(qū)間的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,則新的查找區(qū)間的下界不變,上界改為k-1;否則新的查找區(qū)間的下界改為k+1,上界不變。在新區(qū)間內(nèi)繼續(xù)用二分法查找。

  注意:請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。

  試題程序:

  #include(iostream.h>

  intfun(char*str,charch)

  {

  }

  voidmain()

  {

  charstr[]={’a’,’b’,’C’,’d’,’e’,’f’,’9’,’h’,’i,’

  j’,’k’);

  charch;

  cout<<"請(qǐng)輸入一個(gè)字符:"<  cin>>ch;

  cout<<"輸入字符的位置是:"<  return;

  }

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

  使用VC++6.0打開考生文件夾下的源程序文件3.cpp,閱讀下列程序說明和代碼,功能如下:

  從屏幕輸入數(shù)字,然后由大到小插入到指定的鏈中。當(dāng)輸入0時(shí),表示輸出的數(shù)據(jù)已經(jīng)輸入完成,把數(shù)據(jù)打印到屏幕,并釋放內(nèi)存。

  其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。

  (1)在父結(jié)點(diǎn)的Next中保存新插入的結(jié)點(diǎn)的指針,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。

  (2)把pNext的子結(jié)點(diǎn)賦給pNext本身,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。

  (3)判定P的子結(jié)點(diǎn)不為空,如果不為空,則打印P中的數(shù)據(jù)到屏幕,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z句。

  (4)用t1保存動(dòng)態(tài)申請(qǐng)內(nèi)存結(jié)點(diǎn)的鏈表頭,請(qǐng)?jiān)谧⑨?

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

  注意:僅在函數(shù)指定位置添加語句,請(qǐng)勿改動(dòng)主函數(shù)

  main與其他函數(shù)中的任何內(nèi)容。

  試題程序:

  #include

  classTC

  {

  public:

  TC(intdata=O)

  {

  this->data=data;

  this->next=NULL;

  }

  intdata;

  TC*next;

  };

  voidInsert(TC*P,intdata)

  {

  TC*temp=newTC(data);

  TC*pParent=P:

  TC*pNext=p-)next:

  while(pNext)

  {

  if(data>pNext->data)

  {

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

  temp->next=pNexti

  return;

  }

  else

  {

  pParent=pNext;

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

  }

  }

  if(pNext==NULL)

  {

  pParent->next=temp;

  return;

  }

  }

  voidprintf(TC*p)

  {

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

  while()

  {

  coutdata<<"";

  P=P->next;

  }

  cout<  }

  voidDelete(TC*p)

  {

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

  TC*t1=;

  TC*t2;

  while(t1!=NULL)

  {

  t2=t1->next:

  deletetl;

  t1=t2:

  }

  }

  voidmain()

  {

  inti=0;

  TChead:

  do

  {

  intdata;

  cout<<"請(qǐng)輸入一個(gè)數(shù)字:"<  cin>>data;

  if(data==O)break;

  Insert(&head,data);

  }while(1);

  printf(&head);

  Delete(&head):

  return;

  }

  }

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

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

  一、程序改錯(cuò)題

  (1)應(yīng)改為“classTC”。

  (2)應(yīng)改為“~TC(){}”。

  (3)應(yīng)改為“};”。

  【解析】本題第1處的“classTC()”為類的定義,根據(jù)C++中類的定義格式,類名后面是沒有括號(hào)的,所以第1處應(yīng)為“classTC”。第2處的“void~TC(){}”是析構(gòu)函數(shù),C++中析構(gòu)函數(shù)的格式中是沒有函數(shù)類型說明的,所以修改為“~TC(){}”。根據(jù)C++中類的定義,第3個(gè)標(biāo)識(shí)下類結(jié)束的“}”缺少分號(hào),即修改為“};”。

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

  intlow=0;//初始查找區(qū)間的下界

  inthigh;

  intk;

  for(high=0;str[high]!=0;high++)//求字符串長(zhǎng)度

  while(10w  {

  k=(low+high)/2;

  if(str[k]==ch)

  returnk;

  elseif(str[k]>ch)

  high=k-l:

  elselow=k+1:

  }

  if(str[low]==ch)

  returnlow;

  return-1:

  【解析】本題首先初始查找區(qū)間的下界為0,然后求得字符串長(zhǎng)度len,上界為len-1,查找區(qū)間的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功。若list[k]>ch,則新的查找區(qū)間的下界不變,上界改為k-1;否則新的查找區(qū)間的下界改為k+1,上界不變。

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

  (1)應(yīng)添加“pParenl->next=telnp;”。

  (2)應(yīng)添加“pNext=pNext->next;”。

  (3)將“while()”補(bǔ)充完整為“while(P->next!=NULL)”。

  (4)將“TC*t1=;”補(bǔ)充完整為“TC*t1=P->next;”。

  【解析】本題第1處要求“在父結(jié)點(diǎn)的Next中保存新插入的結(jié)點(diǎn)的指針”。對(duì)于指針的操作,pParent->next為pParent的子結(jié)點(diǎn),在父結(jié)點(diǎn)的Next中保存新插入的結(jié)點(diǎn)的指針,即“pParent->next=temp;”。第2處要求“把pNext的子結(jié)點(diǎn)賦給pNext本身”。pNext->next為pNext的子結(jié)點(diǎn),把pNext的子結(jié)點(diǎn)賦給pNext本身,即“pNext=pNext->next;”。注釋3下是判定P的子結(jié)點(diǎn)不為空。P的子結(jié)點(diǎn)是p->next。程序中的“while()”缺乏P的子結(jié)點(diǎn)不為空的判斷條件,所以修改為“while(P->next!=NULL)”。第4處要求“用t1保存動(dòng)態(tài)申請(qǐng)內(nèi)存結(jié)點(diǎn)的鏈表頭”。P為鏈表,P->next為鏈表頭。程序中的語句“TC*t1=;”中t1沒有被賦值,所以修改為“TC*t1=P->next;”。

掃描/長(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
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·?荚囶}
微信掃碼,立即獲取!
掃碼免費(fèi)使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
此欄目下沒有文章
版權(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- 考試吧計(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)技巧