面向?qū)ο蟮某绦蛟O(shè)計(jì)第3階段練習(xí)題答案 2022秋下半年江南大學(xué)限時(shí)機(jī)考考前復(fù)習(xí)資料_第1頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第21頁/共NUMPAGES\*ARABIC21頁江南大學(xué)網(wǎng)絡(luò)教育第三階段練習(xí)題的參考答案選擇為,在文檔最后考試科目:《面向?qū)ο蟮某绦蛟O(shè)計(jì)》第章至第章(總分100分)__________學(xué)習(xí)中心(教學(xué)點(diǎn))批次:層次:專業(yè):學(xué)號(hào):身份證號(hào):姓名:得分:一單選題(共8題,總分值8分,下列選項(xiàng)中有且僅有一個(gè)選項(xiàng)符合題目要求,請(qǐng)?jiān)诖痤}卡上正確填涂。)1.關(guān)于函數(shù)模板,描述錯(cuò)誤的是()。(1分)A.函數(shù)模板必須由程序員實(shí)例化為可執(zhí)行的函數(shù)模板B.函數(shù)模板的實(shí)例化由編輯器實(shí)現(xiàn)C.一個(gè)類定義中,只要有一個(gè)函數(shù)模板,則這個(gè)類是類模板D.類模板的成員函數(shù)都是函數(shù)模板,類模板實(shí)例化后,成員函數(shù)也隨之實(shí)例化2.關(guān)于read()函數(shù)的下列描述中,()是正確的。(1分)A.該函數(shù)只能從鍵盤輸入中獲取字符串B.該函數(shù)只能用于文本文件的操作C.該函數(shù)只能按規(guī)定讀取指定數(shù)目的字符D.從輸入流中讀取一行字符3.在ios類中提供的控制格式標(biāo)志字中,()是轉(zhuǎn)換為十六進(jìn)制形式的標(biāo)志常量。(1分)A.hexB.octC.decD.right4.進(jìn)行文件輸人操作時(shí)應(yīng)包含()文件。(1分)A.ifstream.hB.fstream.hC.ofstream.hD.iostream.h5.關(guān)于異常的描述中,錯(cuò)誤的是()。(1分)A.異常既可以被硬件引發(fā),又可以被軟件引發(fā)B.運(yùn)行異??梢灶A(yù)料,但不能避免,它是由系統(tǒng)運(yùn)行環(huán)境造成的C.異常是指從發(fā)生問題的代碼區(qū)域傳遞到處理問題的代碼區(qū)域的一個(gè)對(duì)象D.在程序運(yùn)行中,一旦發(fā)生異常,程序立即中斷運(yùn)行6.假設(shè)有函數(shù)模板定義如下:template<typenameT>Max(Ta,Tb,T&c){c=a+b;}下列選項(xiàng)正確的是()。(1分)A.floatx,y;floatz;Max(x,y,z);B.intx;floaty,z;Max(x,y,z);C.intx,y;floatz;Max(x,y,z);D.floatx;doubley,z;Max(x,y,z);7.關(guān)于對(duì)getline()函數(shù)的下列描述中,()是錯(cuò)誤的。(1分)A.該函數(shù)所使用的終止符只能是換行符B.該函數(shù)是從鍵盤上讀取字符串的C.該函數(shù)所讀取的字符串的長(zhǎng)度是受限制的D.該函數(shù)讀取字符串時(shí)遇到終止符便停止8.控制輸出格各式的控制符中,()是設(shè)置輸出寬度的。(1分)A.wsB.endsC.setfillD.setw()二多選題(共5題,總分值5分,下列選項(xiàng)中至少有2個(gè)或2個(gè)以上選項(xiàng)符合題目要求,請(qǐng)?jiān)诖痤}卡上正確填涂。)9.在下列選項(xiàng)中()是ostream類的對(duì)象。(1分)A.cinB.cerrC.clogD.cout10.下面()語句以寫的方式打開文件“myfile.dat”。(1分)A.ifstreaminfile("myfile.dat",ios::in);B.fstreaminfile("myfile.dat",ios::app);C.fstreaminfile("myfile.dat",ios::out);D.ofstreaminfile("myfile.dat");11.下面()是標(biāo)準(zhǔn)模板庫(kù)中的主要組件。(1分)A.容器B.迭代器C.文件D.算法12.函數(shù)self(a,ios::adjustifiled)中a的值可以是()。(1分)A.ios::leftB.ios::rightC.ios::hecD.ios::oct13.處理異常用到3個(gè)保留字,除了try外,還有()。(1分)A.catchB.classC.throwD.return三判斷題(共10題,總分值10分正確的填涂“A”,錯(cuò)誤的填涂“B”。)14.在類模板的<模板參數(shù)表>中,必須至少有一個(gè)類參數(shù)。(1分)(

)15.try與catch總是結(jié)合使用的。(1分)(

)16.迭代器就是我們平時(shí)所用的指針。(1分)(

)17.以app方式打開文件時(shí),當(dāng)前指針定位于文件尾。(1分)(

)18.一個(gè)模板函數(shù)能夠被相同函數(shù)名的另外模板函數(shù)重載。(1分)(

)19.一個(gè)異常只能在catch語句中再用throw語句拋出。(1分)(

)20.c++標(biāo)準(zhǔn)庫(kù)中不需要異常類,因?yàn)镃++標(biāo)準(zhǔn)庫(kù)中很少發(fā)生異常。(1分)(

)21.流格式標(biāo)志字的每一位表示一種格式,格式位之間互不影響。(1分)(

)22.拋出異常后一定要馬上終止程序。(1分)(

)23.預(yù)定義的提取符和插入符都是可以重載的。(1分)(

)四名詞解釋題(共2題,總分值6分)24.模板函數(shù)(3分)25.函數(shù)模板(3分)五填空題(共14題,總分值14分)26.在C++的輸人輸出系統(tǒng)中,最核心的對(duì)象是_________________。執(zhí)行輸人和輸出操作的類體系叫_________________(1分)27.C++支持兩種模板,一種是_________________,另一種是_________________。(1分)28.<模板參數(shù)表中包含一個(gè)或多個(gè)用逗號(hào)分開的模板參數(shù)項(xiàng)=""每一項(xiàng)由保留字_________________或_________________開始=""1=""分="">29.運(yùn)行異常,可以_________________,但不能_________________,它是由_________________造成的。(1分)30.異常接口聲明也稱為_________________,已經(jīng)成為函數(shù)界面的一部分。(1分)31.如果某段程序中發(fā)現(xiàn)了自己不能處理的異常,就可以使用throw<表達(dá)式>拋擲這個(gè)異常,其中的<表達(dá)式>表示_________________。(1分)32.c++的異常處理機(jī)制使得異常的引發(fā)和處理_________________在同一函數(shù)中。(1分)33.C++中共有3種文件流,它們是_________________、_________________和_________________。(1分)34.函數(shù)模板實(shí)例化時(shí),_________________普通傳值參數(shù)的類型轉(zhuǎn)換機(jī)制。(1分)35.C++的流類庫(kù)預(yù)定義了4個(gè)流,它們是_________________、_________________、_________________、_________________(1分)36.C++的I/O流類庫(kù)提供了2種控制格式輸入/輸出的方法。一種是用_________________,另一種是_________________。(1分)37.STL容器類庫(kù)中包含7種基本容器。它們可以分成兩組:_________________和_________________。(1分)38.為了使用異常類,需要包含相應(yīng)的頭文件。其中,異常基礎(chǔ)類exception定義于_________________中,bad_alloc定義于_________________中,其他異常類定義于_________________(1分)39.如果打開文件失敗,則流對(duì)象的值為_________________。(1分)六簡(jiǎn)答題(共2題,總分值10分)40.什么叫異常處理?(5分)41.分析說明C++語言的流類庫(kù)中為什么要將ios類作為其派生類的虛基類?(5分)七綜合題(共6題,總分值47分)42.定義一個(gè)分?jǐn)?shù)類fraction,通過重載的運(yùn)算符“<<”以分?jǐn)?shù)形式輸出分?jǐn)?shù)的結(jié)果,如將三分之二輸出為2/3。(7分)43.編寫一個(gè)程序來統(tǒng)計(jì)文件file.txt的字符個(gè)數(shù)。(8分)44.從鍵盤輸入x的值,計(jì)算y=ln(2x+1)的值,要求用異常處“負(fù)數(shù)求對(duì)數(shù)"的清況。(8分)45.用函數(shù)模板實(shí)現(xiàn)求整數(shù)、實(shí)數(shù)平方根的程序。(8分)46.#include<iostream>usingnamespacestd;classNomilk{public:Nomilk();Nomilk(inthow_many);intget_money();private:intcount;};intmain(){intmoney,milk;doubledpg;try{cout<<"Enternumberofmoney:";cin>>money;cout<<"Enternumberofglassesofmilk:";cin>>milk;if(milk<=0)throwNomilk(money);dpg=money/double(milk);cout<<money<<"yuan"<<endl<<milk<<"glassesofmilk."<<endl<<"Youhave"<<dpg<<"yuanforeachglassofmilk."<<endl;}catch(Nomilke){cout<<e.get_money()<<"yuan,andNoMilk!"<<endl<<"Gobuysomemilk."<<endl;}cout<<"Endofprogram."<<endl;return0;}Nomilk::Nomilk(){}Nomilk::Nomilk(inthow_many):count(how_many){}intNomilk::get_money(){returncount;}寫出當(dāng)分別輸人42和40兩組數(shù)后的輸出結(jié)果。(8分)47.#include<iostream>#include<fstream>usingnamespacestd;intmain(){charbuf[80];ofstreamoutfile;outfile.open("data.txt");if(!outfile){cout<<"Can'topenthefile"<endl;exit(1);}outfile<<"Hello,students!"<<endl;outfile<<"Welcomeyoutooop!"<<endl;outfile.close();ifstreaminfile;infile.open("data.txt");if(!infile){cout<<"Can'topenthefile"<<endl;exit(1);}while(!infile.eof()){infile.getline(buf,80);cout<<buf<<endl;}infile.close();return0;}(8分)

一單選題(共8題,總分值8分,下列選項(xiàng)中有且僅有一個(gè)選項(xiàng)符合題目要求,請(qǐng)?jiān)诖痤}卡上正確填涂。)1.參考答案選擇為:A解析過程:函數(shù)模板的實(shí)例化是由編譯系統(tǒng)在處理函數(shù)調(diào)用時(shí)自動(dòng)完成的。2.參考答案選擇為:C解析過程:read()函數(shù)的作用是從輸入流中讀取指定數(shù)目的字符串,它主要用于二進(jìn)制文件的操作。3.參考答案選擇為:A解析過程:4.參考答案選擇為:B解析過程:5.參考答案選擇為:D解析過程:在小型程序中,一發(fā)生異常,一般是將程序立即中斷運(yùn)行。對(duì)于大型程序來說,運(yùn)行中一旦發(fā)生異常,應(yīng)該允許恢復(fù)和繼續(xù)運(yùn)行。6.參考答案選擇為:A解析過程:函數(shù)模板實(shí)例化時(shí),實(shí)際參數(shù)類型替換模板參數(shù)。雖然這種參數(shù)替換具有類型檢查功能,卻沒有普通傳值參數(shù)的類型轉(zhuǎn)換機(jī)制,所以程序運(yùn)行時(shí),B、C和D會(huì)出錯(cuò)。7.參考答案選擇為:A解析過程:getline()函數(shù)的作用是從輸人流中讀取一行字符。函數(shù)要么在讀取到指定個(gè)字符后終止,要么在讀取到指定的終止符時(shí)終止。getline()函數(shù)使用的終止符可以是換行符,也可以是其他字符。8.參考答案選擇為:D解析過程:二多選題(共5題,總分值5分,下列選項(xiàng)中至少有2個(gè)或2個(gè)以上選項(xiàng)符合題目要求,請(qǐng)?jiān)诖痤}卡上正確填涂。)9.參考答案選擇為:B,C,D解析過程:10.參考答案選擇為:B,C,D解析過程:ios:app方式表示以追加方式打開文件,ios::out方式表示以寫方式打開文件,如果用ofstream類來創(chuàng)建一個(gè)文件流對(duì)象,則隱含為輸出流,所以B、C、D語句都是以寫的方式打開文件“myfile.dat”。11.參考答案選擇為:A,B,D解析過程:12.參考答案選擇為:A,B解析過程:13.參考答案選擇為:A,C解析過程:三判斷題(共10題,總分值10分正確的填涂“A”,錯(cuò)誤的填涂“B”。)14.參考答案選擇為:T解析過程:15.參考答案選擇為:T解析過程:16.參考答案選擇為:F解析過程:迭代器并不僅僅是指針。指針可以指向內(nèi)存中的一個(gè)地址,然后通過這個(gè)地址訪問相應(yīng)的內(nèi)存單元;而迭代器更為抽象,它可以指向容器中的一個(gè)位置,然后就可以直接訪問這個(gè)位置的元素。17.參考答案選擇為:T解析過程:18.參考答案選擇為:T解析過程:19.參考答案選擇為:F解析過程:如果異常處理程序捕獲到異常后,還無法完全確定異常的處理方式,這時(shí)才可能需要在catch語句中拋出該異常。20.參考答案選擇為:F解析過程:c++標(biāo)準(zhǔn)庫(kù)中仍需要異常類,因?yàn)檫@些異常類可以為程序設(shè)計(jì)人員,特別是自定義類庫(kù)的開發(fā)人員提供一些經(jīng)驗(yàn)。21.參考答案選擇為:F解析過程:流格式標(biāo)志字的每一位表示一種格式,格式位之間會(huì)有依賴關(guān)系。例如,dec、oct和hex在一個(gè)時(shí)刻只能有一個(gè)位被設(shè)置。22.參考答案選擇為:F解析過程:拋出異常后并不是馬上終止程序。當(dāng)異常被拋出以后,catch處理程序按其在try塊后出現(xiàn)的順序被檢查。如果沒有找到合適的處理程序,則繼續(xù)檢查外層的try塊。此處理持續(xù)到最外層封閉try塊被檢查完為止。如果匹配的處理程序未找到,則運(yùn)行函數(shù)terminate()將被自動(dòng)調(diào)用,從而終止程序。如果找到了一個(gè)匹配的catch處理程序,catch處理程序被執(zhí)行,接下來程序跳轉(zhuǎn)到所有catch塊之后執(zhí)行后續(xù)語句。23.參考答案選擇為:T解析過程:四名詞解釋題(共2題,總分值6分)24.參考答案選擇為:函數(shù)模板通過參數(shù)實(shí)例化構(gòu)造出的具體函數(shù)稱為模板函數(shù)。解析過程:25.參考答案選擇為:帶類屬參數(shù)的函數(shù)稱為函數(shù)模板。解析過程:五填空題(共14題,總分值14分)26.參考答案選擇為:流,流類解析過程:27.參考答案選擇為:函數(shù)模板,模板解析過程:28.參考答案選擇為:class,typename解析過程:29.參考答案選擇為:預(yù)料,避免,系統(tǒng)運(yùn)行環(huán)境解析過程:30.參考答案選擇為:拋出列表解析過程:31.參考答案選擇為:異常類型解析過程:32.參考答案選擇為:不必解析過程:33.參考答案選擇為:輸入文件流,輸出文件流,輸入輸出文件流解析過程:34.參考答案選擇為:沒有解析過程:35.參考答案選擇為:cin,cout,cerr,clog解析過程:36.參考答案選擇為:ios類的成員函數(shù),使用控制符解析過程:37.參考答案選擇為:順序容器,關(guān)聯(lián)容器解析過程:38.參考答案選擇為:<exception>,<new>,<stdexcept>解析過程:39.參考答案選擇為:0解析過程:六簡(jiǎn)答題(共2題,總分值10分)40.參考答案選擇為:異常處理是一種程序定義的錯(cuò)誤,它對(duì)程序的邏輯錯(cuò)誤進(jìn)行設(shè)防,對(duì)運(yùn)行異常加以控制。在C++中,異常處理是對(duì)所能預(yù)料的運(yùn)行錯(cuò)誤進(jìn)行處理的一套實(shí)現(xiàn)機(jī)制。解析過程:41.參考答案選擇為:從流類庫(kù)的基本結(jié)構(gòu)可以看到,ios類是istream類和ostream類的基類,從ios類公有派生istream和ostream兩個(gè)類,而iostream類通過多重繼承istream類和ostream類而產(chǎn)生的。如果不將ios類作為其派生類的虛基類,可能會(huì)產(chǎn)生二義性。解析過程:七綜合題(共6題,總分值47分)42.參考答案選擇為://xt81.cpp#

include<iostream.h>classFraction{public:Fraction(int

x=0,int

y=1);friend

ostream&

operator<<(ostream&,F(xiàn)raction&);//重載運(yùn)算符"<<"private:int

den;//分子int

num;//分母};Fraction::Fraction(int

x,int

y){den=

x;num=

y;}ostream&

operator<<(ostream&

os,F(xiàn)raction&

fr){os<<fr.den<<'/'<<fr.num;

return

os;}int

main(){Fraction

fenshu(2,3);cout<<"fenshu="<<

fenshu<<

endl;return

0;}【輸出結(jié)果】fenshu=

2/3解析過程:按重載插入符和提取符的規(guī)則重載運(yùn)算符“<<”。43.參考答案選擇為://方法1xt8_3_1.cpp#include<iostream>#include<fstream>usingnamespacestd;intmain(){intcount=0;ifstreaminfile("file.txt");//以輸入方式打幵文件file.txtif(!infile){cout<<“Filecannotbeopened”<<endl;return0;}While(!infile.eof());//從文件file.txt中湊出數(shù)據(jù){infile.get();count=count+1;}cout<<"文件有:"<<count<<"個(gè)字符"<<endl;infile.close();return0;}//方法2xt8_3_2.cpp#include<iostream>#include<fstream>usingnamespacestd;intmain(){intcount=0;streamposstart,end;ifstreaminfile("file.txt");//以輸入方式打開文件file.txtif(!infile){cout<<"Filecannotbeopened."<<endl;return0;}infile.seekg(0,ios::beg);//將讀指針定位到文件頭start=infile.tellg();infile.seekg(0,ios::end);//將讀指針定位到文件尾end=infile.tellg();cout<<"文件有:"<<end-start<<"個(gè)字符";infile.close();return0;}【輸出結(jié)果】測(cè)試吋,file.txt的內(nèi)容為“Thisisatest!!!”,此時(shí)輸出結(jié)果如下:文件有:17個(gè)字符解析過程:方法1:文件在正確打開后,通過get()函數(shù)從頭開始讀出文件中的字符,每讀出一個(gè)字符,計(jì)數(shù)器加1,直到文件尾為止。方法2:文件在正確打開后,通過seekg()函數(shù)移動(dòng)讀指針,并通過tellg()函數(shù)得到文件的頭部和尾部位置,然后相減即可。44.參考答案選擇為://xt9_1.cpp#include<iostream>#include<cmath>usingnamespacestd;classCln{public:Cln(doublex);doubleget_y();private:doubley;};intmain(){doublex,y,z;try{cout<<"Enteradoublenumber:";cin>>x;y=2*x+1;if(y<0)throwCln(y);z=log(y);cout<<"y=ln("<<2*x+1<<")="<<z<<endl;}catch(C1ne){cout<<e.get_y()<<":負(fù)數(shù)求對(duì)數(shù)"<<endl;}cout<<"Endofprogram."<<endl;return0;}Cln::Cln(doublex):y(x){}doubleCln::get_y(){returny;}【輸出結(jié)果】Enteradoublenumber:2.2Y=ln(5.4)=1.6864Endofprogram.解析過程:按異常處理的語法組織程序。45.參考答案選擇為://xt7_1.cpp#include<iost

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論