![大學(xué)C++期末考試試卷_第1頁](http://file4.renrendoc.com/view/6a7ccc6f6229d7440ec527686a754706/6a7ccc6f6229d7440ec527686a7547061.gif)
![大學(xué)C++期末考試試卷_第2頁](http://file4.renrendoc.com/view/6a7ccc6f6229d7440ec527686a754706/6a7ccc6f6229d7440ec527686a7547062.gif)
![大學(xué)C++期末考試試卷_第3頁](http://file4.renrendoc.com/view/6a7ccc6f6229d7440ec527686a754706/6a7ccc6f6229d7440ec527686a7547063.gif)
![大學(xué)C++期末考試試卷_第4頁](http://file4.renrendoc.com/view/6a7ccc6f6229d7440ec527686a754706/6a7ccc6f6229d7440ec527686a7547064.gif)
![大學(xué)C++期末考試試卷_第5頁](http://file4.renrendoc.com/view/6a7ccc6f6229d7440ec527686a754706/6a7ccc6f6229d7440ec527686a7547065.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)一、單項(xiàng)選擇題(每題2分,共40分)1.______不是屬于面向?qū)ο蟪绦蛟O(shè)計(jì)的特性A.抽象性B.數(shù)據(jù)相關(guān)性C.多態(tài)性D.繼承性2.將對某一類數(shù)據(jù)的處理算法應(yīng)用到另一類數(shù)據(jù)的處理中,要用到C++的______A.類B.虛函數(shù)C.運(yùn)算符重載D.模板3.C++與C語言最根本的不同之處在于_______A.使用了類B.能夠?qū)崿F(xiàn)變量自動(dòng)初始化C.支持軟件重用D.支持接口重用4.動(dòng)態(tài)內(nèi)存分配的主要目的是_______A.使程序按動(dòng)態(tài)聯(lián)編方式運(yùn)行B.正確合理的使用內(nèi)存C.提高程序的運(yùn)行速度D.提高程序的可維護(hù)性5.在C++函數(shù)的形參前加const關(guān)鍵字,是為了提高函數(shù)的_______A.數(shù)據(jù)封裝性B.可理解性C.可維護(hù)性D.可重用性6.函數(shù)重載的目的是________A.實(shí)現(xiàn)共享B.使用方便,提高可讀性C.提高速度D.減少空間7.從程序片斷:charname[]="C++";course(name);可判斷函數(shù)course的調(diào)用采用的是_______A.傳值調(diào)用B.帶缺省參數(shù)值的函數(shù)調(diào)用C.引用調(diào)用D.傳址調(diào)用8.用來說明類中公有成員的關(guān)鍵字是________A.publicB.privateC.protectedD.friend9.如果一個(gè)類的成員函數(shù)print()不修改類的數(shù)據(jù)成員值,則應(yīng)將其聲明為A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);10.下列關(guān)于構(gòu)造函數(shù)的論述中,不正確的是_______A.構(gòu)造函數(shù)的函數(shù)名與類名相同B.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)C.構(gòu)造函數(shù)的返回類型缺省為int型D.構(gòu)造函數(shù)可以重載11.在程序代碼:A::A(inta,int*b){this->x=a;this->y=b;}中,this的類型是______A.intB.int*C.AD.A*12.內(nèi)存泄漏是指_______A.內(nèi)存中的數(shù)據(jù)出現(xiàn)丟失B.試圖釋放一個(gè)已經(jīng)釋放了的動(dòng)態(tài)分配的堆內(nèi)存C.函數(shù)中局部變量所占的棧內(nèi)存沒有及時(shí)回收D.動(dòng)態(tài)分配的堆內(nèi)存在程序退出后始終被占用13.從程序片斷:studentzhangsan("張三","M",22);zhangsan.id("");可判斷id是一個(gè)________A.私有成員數(shù)據(jù)B.私有成員函數(shù)C.公有成員數(shù)據(jù)D.公有成員函數(shù)14.友元函數(shù)_______A.可以被聲明為constB.沒有this指針C.可以用類名或?qū)ο竺麃碚{(diào)用D.只能用對象名來調(diào)用15.若一個(gè)類的成員函數(shù)前用static關(guān)鍵字修飾,則該成員函數(shù)________A.可以被聲明為constB.沒有this指針C.可以訪問該類的所有成員D.只能用對象名來調(diào)用16.C++是用_______實(shí)現(xiàn)接口重用的A.內(nèi)聯(lián)函數(shù)B.虛函數(shù)C.重載函數(shù)D.模板函數(shù)17.公有繼承的派生類對象可以訪問其基類的________A.公有成員B.公有成員及受保護(hù)成員C.受保護(hù)成員D.私有成員18.設(shè)置虛基類的目的是________A.簡化程序B.使程序按動(dòng)態(tài)聯(lián)編方式運(yùn)行C.提高程序運(yùn)行效率D.消除二義性19.下列關(guān)于純虛函數(shù)和抽象類的描述中,不正確的是________A.純虛函數(shù)是一個(gè)沒有具體實(shí)現(xiàn)的虛函數(shù)B.抽象類是包括純虛函數(shù)的類C.抽象類只能作為基類,其純虛函數(shù)的實(shí)現(xiàn)在派生類中給出D.可以定義一個(gè)抽象類的對象20.關(guān)于運(yùn)算符重載的不正確的描述是________A.運(yùn)算符重載函數(shù)是友元函數(shù)B.體現(xiàn)了程序設(shè)計(jì)的多態(tài)性C.增加新的運(yùn)算符D.使運(yùn)算符能對對象操作二、下面的程序是關(guān)于CBook類的一個(gè)定義,試改正程序中的錯(cuò)誤。(共10分)#include<iostream.h>#include<math.h>#inlcude<string>classCBook{private:char*p_book;public: p_book=newchar[strlen(p_val)+1]CBook(constchar*p_val){p_book=newchar[strlen(p_val)];strcpy(p_book,p_val);}voidprint()const{cout<<p_book<<endl;}~CBook(){delete[]p_book;}};voidmain(){charbook_title[60];CBook*p_book_obj;cout<<“Enterbooktitle:”;cin>>p;CBookabook(p);p_book_obj=&abook;p_book_obj->print();}三、根據(jù)如下所示程序,回答下列問題(共10分)#include<iostream.h>classCJournal{public:CJournal(){cout<<“Journaldefaultconstructor”<<endl;}virtualvoidsubscribe()=0;voidread(){cout<<“Readpaper”<<endl;}~CJournal(){cout<<“Journaldefaultdestructor”<<endl;}};classCComputerDesign:publicCJournal{public:CComputerDesign(){cout<<“《ComputerDesign》defaultconstructor”<<endl;}virtualvoidsubscribe(){cout<<“Subscribing《ComputerDesign》”<<endl;}voidread(){cout<<“Reading《ComputerDesign》”<<endl;}~CComputerDesign(){cout<<“《ComputerDesign》defaultdestructor”<<endl;}};voidmain(){CComputerDesignjournal1;CJournal*p_journal;journal1.subscribe();journal1.read();//①p_journal=&journal1;p_journal->subscribe();p_journal->read();}1.當(dāng)程序運(yùn)行到①處時(shí),寫出程序運(yùn)行的輸出結(jié)果(3分)2.當(dāng)程序結(jié)束時(shí),程序會(huì)在第1問的基礎(chǔ)上增加哪些輸出。(4分)3.若在主函數(shù)中定義一個(gè)對象CJournaljournal;程序編譯時(shí)會(huì)否出錯(cuò)?為什么?(3分)四、編程題(共40分)1.定義一個(gè)商品類CGoods,其中包含商品號(hào)(longno)、商品名(char*p_name)、商品價(jià)格(doubleprice)三個(gè)數(shù)據(jù)成員,以及相應(yīng)的構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)、析構(gòu)函數(shù)、打印數(shù)據(jù)成員的成員函數(shù)。(10分)#include<iostream>#include<string.h>usingnamespacestd;classCCourse{private: longno; char*p_name; floatcredit;public: CCourse(longno_val,charp_val,floatcredit_val); CCourse(constCCourse&r_course); ~CCourse(){deletep_name;} voidprint()const;};CCourse:CCourse(longno_val,charp_val,floatcredit_val) { no=no_val; p_name=newchar[strlen(p_val)+1]; strcpy(p_name,p_val); credit=credit_val; }CCourse:CCourse(constCCourse&r_course) { no=r_course.no; p_name=newchar[strlen(r_course.p_name)+1]; strcpy(p_name,r_course.p_name); credit=r_course.credit; } voidCCourse:print()const { cout<<"Coursenumber"<<no<<endl; cout<<"Coursename"<<p_name<<endl; cout<<"Coursecredit"<<credit<<endl; }2.為CGoods類增加一個(gè)商品總數(shù)(intcount)數(shù)據(jù)成員,并增加一個(gè)成員函數(shù)getCount()獲取count的值,編寫一個(gè)友元函數(shù)getName()獲取商品名稱p_name。做如上修改后,重新實(shí)現(xiàn)CGoods類(與第1問相同的不用再重復(fù))。(10分)3.為CGoods類定義小于運(yùn)算符(‘<’)和不小于運(yùn)算符(‘>=’)兩個(gè)運(yùn)算符重載函數(shù)。CGoods類對象大小的比較是根據(jù)其商品價(jià)格(price)的值的大小來實(shí)現(xiàn)的。(與第2問相同的不用再重復(fù))(10分)4.以CGoods類為基類,派生出服裝類CClothes和食品類CFood兩個(gè)派生類,并在這兩個(gè)類中分別增加一個(gè)表示品牌的指針數(shù)據(jù)成員(char*p_brand)和表示用途的成員函數(shù)(voidusedFor()——可分別輸出一條表示服裝和食品用途的信息)。寫出CClothes類和CFood類的完整定義(包括構(gòu)造、析構(gòu)和usedFor()成員函數(shù)的實(shí)現(xiàn))。(10分)五、附加題(共30分。注意:確?;绢}成績能達(dá)到75分以上,再嘗試做附加題!)1.在基本題第四題的基礎(chǔ)上,在CGoods類增加總商品數(shù)(longtotal_goods)和商品總價(jià)格(doubletotal_price)兩個(gè)數(shù)據(jù)成員,以及相應(yīng)的獲取這兩個(gè)數(shù)據(jù)成員值的成員函數(shù)getTotalGoods()和getTotalPrice()。(注意說明數(shù)據(jù)成員和成員函數(shù)的存儲(chǔ)類型,以便能夠用類名來調(diào)用getTotalGoods()和getTotalPrice()這兩個(gè)函數(shù))。為了能夠采用動(dòng)態(tài)聯(lián)編的方式調(diào)用派生類的usedFor()成員函數(shù),應(yīng)該在CGoods類及其派生類CClothes和CFood類中作何改動(dòng)?(15分)2.編寫一個(gè)實(shí)現(xiàn)兩個(gè)數(shù)交換的函數(shù)模板swap,然后使用該函數(shù)模板再編寫一個(gè)對具有n個(gè)數(shù)組元素(通用類型)的數(shù)組采用冒泡排序算法進(jìn)行排序的函數(shù)模板。(15分)一、單項(xiàng)選擇題1-5.BDABC6-10.BDAAC11-15.CADBB16-20.CADDA(每小題答對2分,不答0分,答錯(cuò)0分)二、#include<math.h>改為#include<string.h>p_book=newchar[strlen(p_val)]改為p_book=newchar[strlen(p_val)+1]CBookabook;改為CBookabook(p);p_book_obj=abook改為p_book_obj=&abook;p_book_obj.print()改為p_book_obj->print();(該對得2分,未改或改錯(cuò)得0分,正確之處該成錯(cuò)誤倒扣1分)三、1.Journaldefaultconstructor<<ComputerDesign>>defaultconstructorSubscribing<<ComputerDesign>>Reading<<ComputerDesign>>(全部答對得3分,答錯(cuò)或漏答一條輸出扣1分)2.Subscribing<<ComputerDesign>>Readingpaper<<ComputerDesign>>defaultdestructorJournaldefaultdestructor(全部答對得4分,答錯(cuò)或漏答一條輸出扣1分)3.會(huì)出錯(cuò),因?yàn)镃Journal中包含有純虛函數(shù),故CJournal是抽象類,不能定義抽象類對象。(答對編譯會(huì)出錯(cuò)得1分,答對原因得2分。)四、1.#include<iostream>#include<string.h>usingnamespacestd;classCCourse{private:longno;char*p_name;floatcredit;public:CCourse(longno_val,char*p_val,floatcredit_val);CCourse(constCCourse&r_course);~CCourse(){deletep_name;}voidprint()const;};CCourse::CCourse(longno_val,char*p_val,floatcredit_val){no=no_val;p_name=newchar[strlen(p_val)+1];strcpy(p_name,p_val);credit=credit_val;}CCourse::CCourse(constCCourse&r_course){no=r_course.no;p_name=newchar[strlen(r_course.p_name)+1];strcpy(p_name,r_course.p_name);credit=r_course.credit;}voidCCourse::print()const{cout<<"Coursenumber:"<<no<<endl;cout<<"Coursename:"<<p_name<<endl;cout<<"Coursecredit:"<<credit<<endl;}(數(shù)據(jù)成員定義正確得2分,部分正確得1分,不正確得0分每個(gè)成員函數(shù)定義正確得2分,每個(gè)成員函數(shù)有小錯(cuò)誤扣1分,完全不正確不得分)2.在classCCourse定義中增加一條:private:staticinttotal_course;(答對得1分,未加static得0分)在類外部增加一條:intCCourse::total_course=0;(答對得1分,答錯(cuò)或漏答得0分)在CCourse類的構(gòu)造函數(shù)中增加一條:total_course++;(答對得1分)在CCourse類的拷貝構(gòu)造函數(shù)中增加一條:total_course++;(答對得1分)在CCourse類的析構(gòu)函數(shù)中增加一條:total_course--;(答對得1分)在classCCourse定義中增加一條:public:staticgetTotalCourse(){returntotal_course;}(答對得2分,未加static得1分)在classCCourse定義中增加一條:friendchar*getCourseName(constCCourse&r_course);(答對得1分,未加friend得0分)在類外部定義:char*getCourseName(constCCourse&r_course){returnr_course.p_name;(答對得2分)3.在classCCourse定義中增加一條:public:booloperator<(constCCourse&r_course);(答對得2分)在類外部定義:boolCCourse::operator<(constCCourse&r_course){if(credit<r_course.credit)returntrue;elsereturnfalse;(答對得3分)在classCCourse定義中增加一條:public:booloperator>=(constCCourse&r_course);(答對得2分)在類外部定義:boolCCourse::operator>=(constCCourse&r_course){if(credit>=r_course.credit)returntrue;elsereturnfalse;}(答對得3分)4.classCHLP:publicCCourse{private:char*p_openby;public:CHLP(longno_val,char*p_val,floatcredit_val,char*p_open):CCourse(no_val,p_val,credit_val){p_openby=newchar[strlen(p_open)+1];strcpy(p_openby,p_open);}~CHLP(){deletep_openby;}voidstudyFor(){cout<<"Studyforstructuredprogramming"<<endl;}};(答對得5分,其中構(gòu)造函數(shù)3分,析構(gòu)函數(shù)1分,studyFor()函數(shù)1分)classCOOP:publicCCourse{private:char*p_openby;public:COOP(longno_val,char*p_val,floatcredit_val,char*p_open):CCourse(no_val,p_val,credit_val){p_openby=newchar[strlen(p_open)+1];strcpy(p_openby,p_open);}~COOP(){deletep_openby;}voidstudyFor(){cout<<"Studyforobjectorientedprogramming"<<endl;}};(答對得5分,其中構(gòu)造函數(shù)3分,析構(gòu)函數(shù)1分,studyFor()函數(shù)1分)五、1.在classCCourse定義中增加一條:public:virtualvoidstudyFor(){cout<<"studyfordegree\n";}(答對得2分)增加:#include<stdlib.h>主函數(shù)可定義為:voidmain(){charchoice,instructor[10];floatcredit;longid;CCourse*p_course;cout<<"Selectcourse:\n";cout<<"1.forHighLevelLanguageProgramming\n";cout<<"2.forObjectOrientedProgramming\n";cin>>choice;co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國防火面料行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 2024-2026年中國手寫板行業(yè)市場供需格局及行業(yè)前景展望報(bào)告
- 堆浸行業(yè)深度研究報(bào)告
- 臨滄稅務(wù)咨詢合同范本
- 2025年度文化娛樂場所租賃及運(yùn)營管理合同
- 傳媒公司拍攝合同范本
- 532裝修合同范本
- 城區(qū)房屋租賃合同范本
- 2025年膨化食品生產(chǎn)線行業(yè)深度研究分析報(bào)告
- 礦山生產(chǎn)承包合同范本
- 廣東省梅州市梅縣區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 護(hù)理人員的職業(yè)安全防護(hù)
- 2024數(shù)據(jù)中心綜合布線工程設(shè)計(jì)
- 胸外科講課全套
- 醫(yī)療器械GSP相關(guān)
- 2023年海南省公務(wù)員錄用考試《行測》真題卷及答案解析
- 電力工程施工售后保障方案
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 多源數(shù)據(jù)整合
- 新人教版高中數(shù)學(xué)必修第二冊第六章平面向量及其應(yīng)用教案 (一)
- 校園招聘活動(dòng)策劃方案(6篇)
評論
0/150
提交評論