首頁(yè)考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級(jí)
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級(jí)
GMAT考試
公共英語(yǔ)
職稱日語(yǔ)
新概念英語(yǔ)
專四專八
博思考試
零起點(diǎn)英語(yǔ)
托?荚
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級(jí)
零起點(diǎn)德語(yǔ)
等級(jí)考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢
營(yíng) 銷 師
司法考試
國(guó)際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會(huì)計(jì)職稱
法律顧問
ACCA考試
注冊(cè)會(huì)計(jì)師
資產(chǎn)評(píng)估師
審計(jì)師考試
高級(jí)會(huì)計(jì)師
注冊(cè)稅務(wù)師
國(guó)際內(nèi)審師
理財(cái)規(guī)劃師
美國(guó)注冊(cè)會(huì)計(jì)師
一級(jí)建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級(jí)建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊(cè)測(cè)繪師
質(zhì)量工程師
巖土工程師
造價(jià)員考試
注冊(cè)計(jì)量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評(píng)價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評(píng)價(jià)師
土地登記代理人
繽紛校園 實(shí)用文檔 英語(yǔ)學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
計(jì)算機(jī)等級(jí)考試

2013年計(jì)算機(jī)二級(jí)考試C++練習(xí)題及答案(4)

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

  請(qǐng)編寫一個(gè)函數(shù)intpattern_index(charsubstr[],charstr[]),該函數(shù)執(zhí)行含通配符"?"的字符串的查找時(shí),該通配符可以與任一個(gè)字符匹配成功。當(dāng)子串substr在str中匹配查找成功時(shí),返回子串substr在str中的位置,否則返回值為0。要求使用for循環(huán)實(shí)現(xiàn)。輸出結(jié)果如下:

  子串起始位置:5

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

  請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)pattern_index的花括號(hào)中填寫若干語(yǔ)句。

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

  #include

  intpattern_index(charsubstr[],charstr[])

  {

  }

  voidmain()

  {

  char*substring,*string;

  intsame;

  substring="???gram";

  string="thisprogramreturnindexofsubstring";

  same=pattern_index(substring,string);

  if(same)

  cout<<"子串起始位置:"<

  else

  cout<<"匹配不成功"<

  }

  【參考答案】

  int pattern_index(char substr[],char str[])

  {int i,j,k;

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

  for(j=i,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++)

  if(!substr[k+1])

  return(i);

  return(0);}

  【試題解析】

  本題主要考查使用for循環(huán)和一維數(shù)組的能力。對(duì)于復(fù)雜查找,往往使用for的多重循環(huán)。

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

  使用VC6打開考生文件夾下的工程kt5_3,此工程包含一個(gè)源程序文件kt5_3.cpp,其中定義了用于表示復(fù)數(shù)的類comp,但類comp的定義并不完整。請(qǐng)按要求完成下列操作,將類comp的定義補(bǔ)充完整。

  (1)定義comp的構(gòu)造函數(shù),函數(shù)含參數(shù)x和y,它們都是int型的數(shù)據(jù),默認(rèn)值都為0,請(qǐng)使用參數(shù)列表的形式分別將類數(shù)據(jù)成員a和b初始化x和y的值。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

  (2)完成類comp的成員函數(shù)input(intx,inty)的定義,將int型的參數(shù)x和y分別賦值給數(shù)據(jù)成員a和b,請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句;

  (3)完成類comp的友元函數(shù)friendcompplus(comp&x,comp&y)的定義,該函數(shù)首先要定義一個(gè)comp類的對(duì)象c,然后將參數(shù)x和y的數(shù)據(jù)成員a與b分別相加并分別賦值給c的成員a和b,最后返回c的值,請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。輸出結(jié)果如下:

  10+20i

  2+3i

  result:12+23i

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

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

  #include

  classcomp

  {inta;  

  intb;

  public:

  //**1**

  friendcompplus(comp&x,comp&y);

  voidinput(intx,inty)

  {//**2**}

  voidoutput()

  {cout<

  compplus(comp&x,comp&y)

  {//**3**

  c.b=x.b+y.b;

  returnc;}

  voidmain()

  {compx(10,20),y,z;

  y.input(2,3);

  z=plus(x,y);

  x.output();

  y.output();

  cout<<"result:";

  z.output();}

  【參考答案】

  (1)comp(int x=0,int y=0):a(x),b(y){}

  (2)a=x;

  b=y;

  (3)comp c;

  c.a=x.a+y.a;

  【試題解析】

  本題主要考查類的定義和友元函數(shù)定義的。

文章搜索
版權(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)注明出處。