版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【MOOC】《面向?qū)ο蟪绦蛟O(shè)計C++》(東北大學(xué))中國大學(xué)慕課答案
有些題目順序不一致,下載后按鍵盤ctrl+F進行搜索第2章C++簡單程序設(shè)計第1-2章測試1.單選題:C++程序從上機到得到結(jié)果的一般操作步驟依次為()
選項:
A、編輯、編譯、鏈接、運行
B、編譯、編輯、鏈接、運行
C、編譯、編輯、運行、鏈接
D、編輯、鏈接、編譯、運行
答案:【編輯、編譯、鏈接、運行】2.單選題:下面的程序為死循環(huán)的是()
選項:
A、for(inti=0;i<100;){i++;}
B、inti=100;while(i){i--;}
C、inti=100;for(;i;i--);
D、inti=0;do{i=10;}while(i>=0);
答案:【inti=0;do{i=10;}while(i>=0);】3.單選題:逗號表達式(x=2*3,x=x*5),x+25的值為()
選項:
A、25
B、55
C、100
D、45
答案:【55】4.單選題:以下都是C++語言標識符的一組是()
選項:
A、dsfa,df4,f$
B、huhj,a^,k2
C、3k,h,j_9
D、_ok,jk,k8
答案:【_ok,jk,k8】5.單選題:假設(shè)定義了:enumcolor{red=1,orange,yellow,green,blue,purple,black};則blue的值是()
選項:
A、4
B、5
C、3
D、6
答案:【5】第4章類與對象第3-4章測試1.單選題:關(guān)于類和對象,錯誤的說法是()
選項:
A、類是一種類型,它封裝了數(shù)據(jù)和操作
B、對象是類的實例
C、一個類的對象只有一個
D、一個對象必屬于某個類
答案:【一個類的對象只有一個】2.單選題:在類Circle的聲明體外定義成員函數(shù)floatarea()時,函數(shù)頭為()
選項:
A、floatCircle::area()
B、floatCircle:area()
C、Circle::area()
D、Circle::floatarea()
答案:【floatCircle::area()】3.單選題:下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是()
選項:
A、析構(gòu)函數(shù)名與類名完全相同
B、析構(gòu)函數(shù)可以是重載函數(shù)
C、析構(gòu)函數(shù)可以有多個參數(shù)
D、析構(gòu)函數(shù)不能指定返回類型
答案:【析構(gòu)函數(shù)不能指定返回類型】4.單選題:下面對構(gòu)造函數(shù)的不正確描述是()
選項:
A、系統(tǒng)可以提供默認的構(gòu)造函數(shù)
B、構(gòu)造函數(shù)可以有形式參數(shù)和返回值
C、構(gòu)造函數(shù)可以重載
D、構(gòu)造函數(shù)可以設(shè)置默認形參值
答案:【構(gòu)造函數(shù)可以有形式參數(shù)和返回值】5.單選題:在C++中,結(jié)構(gòu)體與類的不同點為()
選項:
A、結(jié)構(gòu)體不能有成員函數(shù)
B、結(jié)構(gòu)體不能繼承
C、默認的訪問權(quán)限不同
D、結(jié)構(gòu)體不能有數(shù)據(jù)成員
答案:【默認的訪問權(quán)限不同】6.單選題:設(shè)有函數(shù)原型:voidcalculate(inta,intb=5,charc='a');則下面函數(shù)調(diào)用中不正確的是()
選項:
A、calculate(3);
B、calculate(3,7);
C、calculate(3,'x');
D、calculate(1,2,'*');
答案:【calculate(3,'x');】[vk-content]第5章數(shù)據(jù)的共享與保護第5章測試1.單選題:下面關(guān)于友元函數(shù)描述正確的是()
選項:
A、友元函數(shù)破壞了類的封裝性和隱藏性
B、友元函數(shù)不能訪問類的私有成員
C、友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義
D、友元函數(shù)是類的成員
答案:【友元函數(shù)破壞了類的封裝性和隱藏性】2.單選題:下面生存期與程序的運行期相同的是()
選項:
A、函數(shù)的形參
B、靜態(tài)局部變量
C、局部變量
D、auto變量
答案:【靜態(tài)局部變量】3.單選題:下列關(guān)于常成員的描述中,錯誤的是()
選項:
A、常成員是用關(guān)鍵字const說明的
B、常成員有常數(shù)據(jù)成員和常成員函數(shù)兩種
C、常數(shù)據(jù)成員的初始化是在類體內(nèi)定義它時進行的
D、常數(shù)據(jù)成員的值是不可以改變的
答案:【常數(shù)據(jù)成員的初始化是在類體內(nèi)定義它時進行的】4.單選題:下列說法中正確的是()
選項:
A、函數(shù)內(nèi)定義的靜態(tài)變量是全局變量
B、函數(shù)參數(shù)是全局變量
C、全局變量具有靜態(tài)生存期
D、主函數(shù)里定義的變量是全局變量
答案:【全局變量具有靜態(tài)生存期】5.單選題:聲明友元函數(shù)時,友元函數(shù)的原型在類聲明體中的位置()
選項:
A、只能在private后面
B、只能在public后面
C、只能在protected后面
D、可以在任意位置
答案:【可以在任意位置】6.單選題:關(guān)于靜態(tài)成員,下面說法正確的是()
選項:
A、每個對象中都有一份靜態(tài)數(shù)據(jù)成員的拷貝
B、只能通過對象名來訪問靜態(tài)成員
C、靜態(tài)數(shù)據(jù)成員在類外定義和初始化
D、靜態(tài)成員函數(shù)可以訪問類中的任意數(shù)據(jù)成員
答案:【靜態(tài)數(shù)據(jù)成員在類外定義和初始化】7.單選題:C++編譯系統(tǒng)不能根據(jù)下面哪一項分辨重載函數(shù)()
選項:
A、const
B、返回類型
C、參數(shù)個數(shù)
D、參數(shù)類型
答案:【返回類型】第6章數(shù)組作業(yè)11.定義一個整形數(shù)集合類Set,請通過創(chuàng)建動態(tài)分配的整數(shù)數(shù)組(使用new運算符)存放整數(shù)值,且數(shù)組的大小要能夠根據(jù)包含元素的個數(shù)動態(tài)的變化。集合中,元素的順序無關(guān)緊要,每個元素至多出現(xiàn)一次。實現(xiàn)如下函數(shù):(1)構(gòu)造函數(shù)創(chuàng)建一個空集;(2)復(fù)制構(gòu)造函數(shù)實現(xiàn)深復(fù)制;(3)add函數(shù)向集合中插入一個整數(shù);(4)析構(gòu)函數(shù)。在main函數(shù)中對上述函數(shù)進行測試。
正確寫出普通構(gòu)造函數(shù)、實現(xiàn)深復(fù)制的復(fù)制構(gòu)造函數(shù)、析構(gòu)函數(shù)和add函數(shù),可得4分,有錯誤的可酌情減分;4個成員函數(shù)只能正確寫出3個的,可得3分;只能正確寫出2個成員函數(shù),可得2分;只能正確寫出1個成員函數(shù),可得1分。主函數(shù)中創(chuàng)建Set類對象,并調(diào)用所有成員函數(shù),可得2分;創(chuàng)建了Set類對象,但是對成員函數(shù)的調(diào)用不正確或者只調(diào)用一部分成員函數(shù),可得1分。數(shù)據(jù)成員正確聲明。參考代碼:#include<iostream>usingnamespacestd;classSet{private:int*elements;//存儲集合元素的動態(tài)數(shù)組intsize;//集合中元素的數(shù)量intcapacity;//數(shù)組的容量//輔助函數(shù):擴展數(shù)組容量voidresize(){capacity*=2;int*newElements=newint[capacity];for(inti=0;i<size;++i){newElements[i]=elements[i];}delete[]elements;elements=newElements;}public://構(gòu)造函數(shù):創(chuàng)建一個空集Set():size(0),capacity(1){elements=newint[capacity];}//復(fù)制構(gòu)造函數(shù):實現(xiàn)深復(fù)制Set(constSet&other):size(other.size),capacity(other.capacity){elements=newint[capacity];for(inti=0;i<size;++i){elements[i]=other.elements[i];}}//析構(gòu)函數(shù)~Set(){delete[]elements;}//add函數(shù):向集合中插入一個整數(shù)voidadd(intvalue){for(inti=0;i<size;++i){if(elements[i]==value){return;//元素已存在,不插入}}if(size==capacity){resize();}elements[size++]=value;}};intmain(){Sets1;s1.add(1);s1.add(2);s1.add(3);Sets2=s1;s2.add(4);return0;}2.讀下面的程序,寫出輸出結(jié)果。#includeclassApple{public:Apple(){i=10;}voiddisplay(){cout<<"Apple:i="<
答案:Apple:i=10print1:A=11print2:A=9Apple:i=10按順序每正確寫出1行輸出結(jié)果,可得1分,全部正確可得4分。順序錯誤的,按照相對順序正確的結(jié)果數(shù)量給分。參考代碼:#include<iostream>usingnamespacestd;classApple{public:Apple(){i=10;}voiddisplay(){cout<<"Apple:i="<<i<<endl;}private:inti;};intmain(){Applea;a.display();intA=11;cout<<"print1:A="<<A<<endl;A=9;cout<<"print2:A="<<A<<endl;a.display();return0;}3.定義一個Tree(樹)類,具有帶形參的構(gòu)造函數(shù),有整型數(shù)據(jù)成員ages(樹齡),成員函數(shù)grow(intyears)對ages加上years,age()顯示Tree類對象的ages值。編寫主函數(shù)對該類進行測試。
寫出完整的類聲明體,能夠完整寫出構(gòu)造函數(shù)、age函數(shù)和grow函數(shù),可得4分,有錯誤可酌情減分;數(shù)據(jù)成員正確聲明,但是只能正確寫出其中2個成員函數(shù),可得3分;只能寫出1個成員函數(shù),可得2分;只寫出數(shù)據(jù)成員聲明,不能寫出成員函數(shù)的實現(xiàn),可得1分。主函數(shù)正確,可得1分。參考答案:#include<iostream>usingnamespacestd;classTree{private:intages;//存儲樹的樹齡public://構(gòu)造函數(shù),接收一個參數(shù)初始化樹齡Tree(intinitAge):ages(initAge){}//grow函數(shù),增加樹齡voidgrow(intyears){ages+=years;}//age函數(shù),顯示樹的樹齡voidage(){cout<<"Theageofthetreeis:"<<ages<<endl;}};intmain(){TreemyTree(5);//創(chuàng)建一個樹齡為5的Tree對象myTree.age();//顯示樹的初始樹齡myTree.grow(3);//讓樹生長3年myTree.age();//顯示樹生長后的樹齡return0;}第6章測試1.單選題:以下有關(guān)字符數(shù)組的用法正確的是()
選項:
A、chars[]="abc";
B、chars[3]="abc";
C、chars[4];s="abc";
D、chars[4]=’abc’;
答案:【chars[]="abc";】2.單選題:關(guān)于虛基類,下列描述正確的是()
選項:
A、虛基類用于解決淺復(fù)制的問題
B、虛基類用于解決訪問二義性的問題
C、虛基類不能解決派生類繼承得到的同一基類成員的多份拷貝問題
D、實例化對象時,所有派生類的構(gòu)造函數(shù)都會調(diào)用虛基類的構(gòu)造函數(shù)
答案:【虛基類用于解決訪問二義性的問題】3.單選題:執(zhí)行完下面的語句后,欲刪除整個數(shù)組,最適當?shù)姆椒ㄊ牵ǎゝloat*pointer=newfloat[10];
選項:
A、delete*pointer;
B、delete[]pointer;
C、deletepointer[];
D、delete&pointer;
答案:【delete[]pointer;】4.單選題:執(zhí)行下列語句之后,正確的是()floatm=100,n=200;float&refer_m=m,&refer_n=n;
選項:
A、&refer_m=n;
B、*refer_m=*refer_n;
C、refer_m=refer_n;
D、&refer_m=&refer_n;
答案:【refer_m=refer_n;】5.單選題:定義如下數(shù)組:intx[3][3]={1,2,3,4,5,6,7,8,9};則x[1][1]的值是()
選項:
A、5
B、1
C、4
D、7
答案:【5】6.單選題:若有定義:inta=100,*p=&a;,則下列說法錯誤的是()
選項:
A、變量p的值為100
B、變量p經(jīng)初始化,獲得變量a的地址
C、變量p只可以指向整型變量
D、聲明變量p,其中*表示p是一個指針變量
答案:【變量p的值為100】第8章多態(tài)性第7-8章測試1.單選題:賦值兼容規(guī)則不包括的情形是()
選項:
A、派生類的對象可以隱含轉(zhuǎn)換為基類對象
B、派生類對象可以初始化基類的引用
C、派生類的指針可以用來調(diào)用派生類的成員函數(shù)
D、派生類的指針可以隱含轉(zhuǎn)換為基類的指針
答案:【派生類的指針可以用來調(diào)用派生類的成員函數(shù)】2.單選題:假設(shè)Shape為抽象類,則下面哪種用法是錯誤的()
選項:
A、Shape*s;
B、voidfunction(Shape*s);
C、voidfunction(Shape&s);
D、Shapes;
答案:【Shapes;】3.單選題:已知可以用d_obj.bm訪問派生類對象d_obj中的基類成員bm,則bm為()
選項:
A、私有繼承的公有成員
B、公有繼承的私有成員
C、公有繼承的公有成員
D、公有繼承的保護成員
答案:【公有繼承的公有成員】4.單選題:下列關(guān)于抽象類的描述中,正確的是()
選項:
A、可以創(chuàng)建抽象類對象
B、抽象類中的純虛函數(shù)需要實現(xiàn)
C、抽象類是只有純虛函數(shù)的類
D、抽象類指針可以指向不同的派生類對象
答案:【抽象類指針可以指向不同的派生類對象】5.單選題:下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是()
選項:
A、繼承性
B、相似性
C、多態(tài)性
D、封裝性
答案:【相似性】6.單選題:Point為一個類,下面的友元運算符重載函數(shù)原型中,正確的是()
選項:
A、friendfloatoperator+(float);
B、friendPointoperator+(floatx,floaty);
C、friendPointoperator+(float,float);
D、friendPoint&operator+(Point,float);
答案:【friendPoint&operator+(Point,float);】7.單選題:下列關(guān)于運算符重載的描述中,正確的是()
選項:
A、雙目運算符只能重載為類的成員函數(shù)
B、前置++和后置++運算符重載為成員函數(shù)時都沒有參數(shù)
C、可以把雙目運算符重載成單目運算符
D、不能重載條件運算符“?:”
答案:【不能重載條件運算符“?:”】8.單選題:某成員函數(shù)在基類中的訪問屬性為public,經(jīng)過保護派生后,其在派生類的訪問屬性為()
選項:
A、private
B、protected
C、public
D、friend
答案:【protected】作業(yè)21.定義一個抽象類Memo,成員數(shù)據(jù)包括:(1)時間begin_time,為string類對象;(2)地點place,string類對象;(3)內(nèi)容content,string類對象。從Memo派生出兩個類:Meeting和Interview。Meeting中還包括結(jié)束時間end_time,為string類對象。Interview還包括被訪問人interviewee,為string類對象。這幾個類都有成員函數(shù)show()來顯示各數(shù)據(jù)成員的值。分別設(shè)計這三個類,并在主函數(shù)中進行測試,實現(xiàn)多態(tài)性。
寫出類Memo、Meeting和Interview的完整類聲明,可得3分,有錯誤可酌情減分;只寫出2個類聲明,得2分;只能寫出一個類聲明,可得1分。在兩個派生類中均正確實現(xiàn)show函數(shù),得2分,只寫出一個的得1分。主函數(shù)中正確聲明各類對象,并正確調(diào)用所有成員函數(shù),可得2分;對某些成員函數(shù)調(diào)用不正確或者沒有調(diào)用所有成員函數(shù),可得1分。繼承關(guān)系正確。定義純虛函數(shù)。參考答案:#include<iostream>#include<string>usingnamespacestd;classMemo{protected:stringbegin_time;stringplace;stringcontent;public:Memo(conststring&bt,conststring&p,conststring&c):begin_time(bt),place(p),content(c){}virtualvoidshow()=0;//純虛函數(shù)};classMeeting:publicMemo{private:stringend_time;public:Meeting(conststring&bt,conststring&p,conststring&c,conststring&et):Memo(bt,p,c),end_time(et){}voidshow()override{cout<<"BeginTime:"<<begin_time<<endl;cout<<"Place:"<<place<<endl;cout<<"Content:"<<content<<endl;cout<<"EndTime:"<<end_time<<endl;}};classInterview:publicMemo{private:stringinterviewee;public:Interview(conststring&bt,conststring&p,conststring&c,conststring&iv):Memo(bt,p,c),interviewee(iv){}voidshow()override{cout<<"BeginTime:"<<begin_time<<endl;cout<<"Place:"<<place<<endl;cout<<"Content:"<<content<<endl;cout<<"Interviewee:"<<interviewee<<endl;}};intmain(){Memo*memo1=newMeeting("9:00","ConferenceRoom1","ProjectDiscussion","10:00");Memo*memo2=newInterview("14:00","Office2","JobInterview","JohnDoe");memo1->show();memo2->show();deletememo1;deletememo2;return0;}2.設(shè)計一個鐘表類Clock,具有hour、minute和second三個私有數(shù)據(jù)成員,具有相應(yīng)的構(gòu)造函數(shù)和設(shè)置時間的函數(shù)setTime和顯示時間的函數(shù)showTime。重載運算符”>”和”<”為成員函數(shù),以實現(xiàn)比較兩個鐘表對象時間的大?。〞r間早的定義為?。?,請編寫主函數(shù)進行測試。
寫出完整的類聲明,正確寫出重載運算符“<”、重載運算符“>”、構(gòu)造函數(shù)成員函數(shù)showTIme和setTime,可得5分,有錯誤可酌情減分;類定義其他部分完整,但是只能寫出一個重載運算符函數(shù)的,可得4分;類定義其他部分完整,但是不能正確寫出所有重載運算符函數(shù)的,可得3分;不能寫出2個重載運算符函數(shù),而且類定義中構(gòu)造函數(shù)或者其他兩個成員函數(shù)不完整的,可得2分;只能寫出一個成員函數(shù)的,可得1分。主函數(shù)正確,創(chuàng)建Clock類對象,并正確調(diào)用所有成員函數(shù),得2分;創(chuàng)建了Clock類對象,但是對成員函數(shù)的調(diào)用不正確,或者沒有調(diào)用所有的成員函數(shù),得1分。參考答案:#include<iostream>usingnamespacestd;classClock{private:inthour;intminute;intsecond;public://構(gòu)造函數(shù)Clock(inth=0,intm=0,ints=0):hour(h),minute(m),second(s){}//設(shè)置時間的函數(shù)voidsetTime(inth,intm,ints){hour=h;minute=m;second=s;}//顯示時間的函數(shù)voidshowTime(){cout<<hour<<":"<<minute<<":"<<second<<endl;}//重載大于運算符booloperator>(constClock&other)const{if(hour>other.hour){returntrue;}elseif(hour==other.hour){if(minute>other.minute){returntrue;}elseif(minute==other.minute){if(second>other.second){returntrue;}}}returnfalse;}//重載小于運算符booloperator<(constClock&other)const{if(hour<other.hour){returntrue;}elseif(hour==other.hour){if(minute<other.minute){returntrue;}elseif(minute==other.minute){if(second<other.second){returntrue;}}}returnfalse;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年離異財產(chǎn)分割與子女撫養(yǎng)協(xié)議
- 2025年美食節(jié)活動餐飲贊助合作協(xié)議3篇
- 2024年預(yù)售商品房合同
- 專業(yè)會議服務(wù)協(xié)議模板細則版
- 2024年物流服務(wù)合同標的及權(quán)利義務(wù)
- 鄭州信息工程職業(yè)學(xué)院《果樹學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 村集體財務(wù)知識培訓(xùn)課件
- 2025年度美容SPA行業(yè)資源整合與推廣合同3篇
- 專業(yè)勞務(wù)中介合同模板2024年適用版B版
- 醫(yī)療保健話務(wù)員總結(jié)
- 2024年《工會法》知識競賽題庫及答案
- 《中國血脂管理指南》考試復(fù)習(xí)題庫(含答案)
- 人教版道德與法治八年級上冊2.1網(wǎng)絡(luò)改變世界課件
- 外研版小學(xué)英語(三起點)六年級上冊期末測試題及答案(共3套)
- 中醫(yī)診療規(guī)范
- 工業(yè)互聯(lián)網(wǎng)平臺 安全生產(chǎn)數(shù)字化管理 第2部分:石化化工行業(yè) 編制說明
- 第14課《葉圣陶先生二三事》導(dǎo)學(xué)案 統(tǒng)編版語文七年級下冊
- 成人手術(shù)后疼痛評估與護理-中華護理學(xué)會團體標準2023 2
- DB15-T 3585-2024 高標準農(nóng)田施工質(zhì)量評定規(guī)程
- 北師大版八年級上冊數(shù)學(xué)期中綜合測試卷(含答案解析)
- 天津濱海新區(qū)2025屆數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
評論
0/150
提交評論