版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程面向?qū)ο蟪绦蛟O(shè)計(jì)考試形式(閉卷,考試)判斷題(正確的敘述打“/”,錯(cuò)誤的敘述打“X”,每題1分共10分)在C++中,所有運(yùn)算符均可重載。(X)面向?qū)ο蟪绦蛟O(shè)計(jì)的三大特征是:封裝、繼承和多態(tài)。(V)函數(shù)原型:f(int*&p);中的形參p是對(duì)指針變量的引用。(V)一個(gè)類的常數(shù)據(jù)成員對(duì)該類的所有對(duì)象來(lái)說(shuō),其值都是相同的。(X)類的友元函數(shù)、構(gòu)造函數(shù)和析構(gòu)函數(shù)均屬于類的成員函數(shù)。(X)類的靜態(tài)成員函數(shù)只能直接引用該類中說(shuō)明的靜態(tài)成員。(V)子類的對(duì)象可以賦值給基類對(duì)象,通過(guò)這個(gè)基類對(duì)象可訪問(wèn)到子類新增加的成員。(X)C++類族中,構(gòu)造函數(shù)和析構(gòu)函數(shù)不能被派生類繼承。(V)在一個(gè)類族中,構(gòu)造函數(shù)不能定義為虛函數(shù),但析構(gòu)函數(shù)可以定義為虛函數(shù)。(V)若類A是類B的友元,類B是類C的友元,則類A是類C的友元。(X)填空題(每格1分共14分)C++中的數(shù)據(jù)類型bool型的值域是:{false,true}。在已經(jīng)定義了整型指針變量ip后,為了動(dòng)態(tài)得到一個(gè)存儲(chǔ)20個(gè)int型數(shù)的存儲(chǔ)空間并由ip所指向,應(yīng)使用語(yǔ)句:ip=newint[20];釋放這些存儲(chǔ)空間應(yīng)使用語(yǔ)句:delete[]ip;。假定classA為一個(gè)類,則執(zhí)行“classAa1[15],a2[25];”語(yǔ)句時(shí),系統(tǒng)自動(dòng)調(diào)用該類的構(gòu)造函數(shù)的總次數(shù)為:40。在C++中不使用宏替換去定義符號(hào)常量Pai的值為3.14159可使用語(yǔ)句:constfloatPai=3.14159;已知fun()的函數(shù)原型為:intfun(float);現(xiàn)要定義一個(gè)指向該函數(shù)的指針變量pf,貝°pf的定義語(yǔ)句為:int(*pf)(float)=&fun;設(shè)函數(shù)max是由函數(shù)模板實(shí)現(xiàn)的,并且max(3.5,5,8)和max(10,14.3,5)都是正確的函數(shù)調(diào)用,則該函數(shù)模板具有—個(gè)類型參數(shù)。在一個(gè)鏈表中,最后一個(gè)節(jié)點(diǎn)的指針域的值通常是:0(或NULL)。對(duì)于long類型的數(shù)據(jù)256873存儲(chǔ)為文本文件占用£個(gè)字節(jié)。含有純電數(shù)的類叫抽象類。它的一個(gè)重要特點(diǎn)是不能實(shí)例化,它的主要
作用是作為一個(gè)類族的接口。一個(gè)類的常成員函數(shù),通常作為常對(duì)象的對(duì)外接口。C++的I/O系統(tǒng)通過(guò)魚的機(jī)制實(shí)現(xiàn)文件和控制臺(tái)的輸入輸出操作。在OOP中多態(tài)是指同樣的消息被不同對(duì)象接收時(shí)可產(chǎn)生不同的行為三單項(xiàng)選擇題(把答案填在下表內(nèi),否則不得分。每題2分共20分)題號(hào)12345678910答案ADCABBDCAB在C++中不能實(shí)現(xiàn)對(duì)屬性與操作封裝的是:(A)A)枚舉B)類C)結(jié)構(gòu)體D)共用體在下面的字符數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤?(D)A) chara[10]="abcdefg”;B)chara[]="x+y=55.”C)chara[15]; D)chara[20]=’A’;在C++中,下列關(guān)鍵詞中不是運(yùn)算符的是:(C)D)deleteA)sizeofB)newC)volatileD)delete關(guān)于構(gòu)造函數(shù)的說(shuō)法,正確的是(A)A)它在對(duì)象被創(chuàng)建時(shí)由系統(tǒng)自動(dòng)調(diào)用 B)可返回值C) 其名可由用戶命名,可與類名無(wú)關(guān)D) 沒(méi)有定義構(gòu)造函數(shù)時(shí),系統(tǒng)將不會(huì)作任何處理。對(duì)于"int(*pa)[5];”的描述中,(B)是正確的。A) pa是一個(gè)指向某數(shù)組中第5個(gè)元素的指針,該元素是int型變量B) pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組包含5個(gè)int型元素C) pa[5]表示數(shù)組的第5個(gè)元素的值,是int型的值D) pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針有如下類聲明:則A類的成員x的訪問(wèn)屬性是:(B)classA{intx;};A)公有數(shù)據(jù)成員 B)私有數(shù)據(jù)成員C)保護(hù)數(shù)據(jù)成員D)不能確定不屬于多態(tài)技術(shù)的是:classA{intx;};A)公有數(shù)據(jù)成員 B)私有數(shù)據(jù)成員C)保護(hù)數(shù)據(jù)成員D)不能確定不屬于多態(tài)技術(shù)的是:(D)A)模板技術(shù)B)重載技術(shù)C)虛函數(shù)技術(shù)D)內(nèi)聯(lián)函數(shù)技術(shù)在類的外部,通過(guò)該類對(duì)象,可以被訪問(wèn)的成員有:(C)A)所有類成員C)public的類成員B)private的類成員D)public或protected的類成員9.已知:display()函數(shù)是一個(gè)類的常成員函數(shù),它無(wú)返回值并無(wú)參,下列表示中,能正確表示其函數(shù)原型的是(A)A)voiddisplay()const;C)voidconstdisplay();B)D)constvoiddisplay();voiddisplay(const);10.下面描述中,表達(dá)錯(cuò)誤的是(B)公有繼承時(shí)基類中的public成員在派生類中仍是public的公有繼承時(shí)基類中的private成員在派生類中仍是private的公有繼承時(shí)基類中的protected成員在派生類中仍是protected的私有繼承時(shí)基類中的public成員在派生類中是private的四.寫出程序的運(yùn)行結(jié)果(每題5分共20分,不是全對(duì)時(shí),可按正確數(shù)的占比酌情給分)注意:必須嚴(yán)格按程序中輸出語(yǔ)句設(shè)置的輸出格式寫出運(yùn)行結(jié)果。1.#include<iostream>usingnamespacestd;intg=100;voidf(intg,intx){staticinty=150;::g+=10;y+=10;cout<<"g="<<g<<",x="<<x<<",y="<<y<<",::g="<<::g<<endl;}voidmain(){inta=200;cout<<"First:";f(g,a);a+=20;g+=20;cout<<"Second:";f(g,a);}運(yùn)行結(jié)果:First:g=100,x=200,y=160,::g=110Second:g=130,x=220,y=170,::g=1402.#include<iostream>usingnamespacestd;voidswap(int&a,int&b,int*c,int*d,inte,intf){inttmp;tmp=a;a=b;b=tmp;tmp=e;e=f;f=tmp;tmp=*c;*c=*d;*d=tmp;cout<<"a,b,c,d,e,f="<<a<<","<<b<<","<<*c<<","<<*d<<","<<e<<","<<f<<endl;}voidmain(){inti=10,j=20,k=30,m=40,n=50,p=60;swap(i,j,&k,&m,n,p);cout<<"i,j,k,m,n,p="<<i<<","<<j<<","<<k<<","<<m<<","<<n<<","<<p<<endl;}運(yùn)行結(jié)果:a,b,c,d,e,f=20,10,40,30,60,50i,j,k,m,n,p=20,10,40,30,50,603.#include<iostream>usingnamespacestd;classCB(public:inta;CB(intx){a=x;}voidshowa(){cout<<"ClassCB--a="<<a<<endl;}};classCD:publicCB{public:inta;CD(intx,inty):CB(x){a=y;}voidshowa(){cout<<"ClassCD--a="<<a<<endl;}voidprint2a(){cout<<"a="<<a<<endl;cout<<"CB::a="<<CB::a<<endl;}};voidmain(){CBCBobj(100);CBobj.showa();CDCDobj(300,600);CDobj.showa();CDobj.CB::showa();CDobj.print2a();}運(yùn)行結(jié)果:ClassCB--a=100ClassCD--a=600ClassCB--a=300a=600CB::a=3004.#include<iostream>#include<math.h>usingnamespacestd;classPoint{public:Point(floatxx=0,floatyy=0){X=xx;Y=yy;}voidprint(){cout<<”(”<<X<<”,”<<Y<<”)”;}friendfloatfDist(Point&a,Point&b);Pointoperator+(Point&p)(Pointtemp;temp.X=(X+p.X)/2;temp.Y=(Y+p.Y)/2;returntemp;}private:floatX,Y;};floatfDist(Point&p1,Point&p2)(doublex=double(p1.X-p2.X);doubley=double(p1.Y-p2.Y);returnfloat(sqrt(x*x+y*y));}classCircle:publicPoint(public:Circle(floatx=0,floaty=0,floatr=0):Point(x,y)(R=r;}floatarea()(return3.14*R*R;}voidprint()(cout<<"[";Point::print();coutvv”,"vvRvv"]"vvendl;}private:floatR;};voidmain()(Pointp1(1,1),p2(4,5),midp;coutvv"Thedistanceis:"vvfDist(p1,p2)vvendl;midp=p1+p2;midp.print();coutvvendl;Circlemyc(2,3,10);myc.print();coutvv"Area="vvmyc.area()vvendl;}運(yùn)行結(jié)果:Thedistanceis:5(2.5,3)[(2,3),10]Area=314
五.程序設(shè)計(jì)(共36分)1.使用窮舉法編程序解決搬磚問(wèn)題。有36塊磚,由成年男、女和小孩共30人來(lái)搬,男子每人搬4塊,女子每人搬3塊,兩個(gè)小孩抬一塊,要求一次全搬完,求需要男、女、小孩的全部可能人數(shù)。(8分)#include<iostream>usingnamespacestd;voidmain()(intmen,women,child;for(men=0;men<=9;men++)(1分)(1分)for(women=0;women<=12;women++)for(child=0;child<=36;child+=2)(1分)(1分)#include<iostream>usingnamespacestd;voidmain()(intmen,women,child;for(men=0;men<=9;men++)(1分)(1分)for(women=0;women<=12;women++)for(child=0;child<=36;child+=2)(1分)(1分)(1分)if(men*4+women*3+child/2==36&&men+women+child==30)cout<<"men:"<<men<<"women:"<<women<<"child:"<<child<<endl;(3分)2.編寫程序?qū)崿F(xiàn)在屏幕上顯示一個(gè)文本文件的內(nèi)容;要求被顯示內(nèi)容的文件名與路徑由命令行參數(shù)來(lái)提供(即main函數(shù)需帶參數(shù)),即在命令行下能夠執(zhí)行如下格式的命令:命令名文本文件名;當(dāng)命令行格式錯(cuò)誤時(shí),能輸出提示信息。(12分)#include<iostream>#include<fstream>#include<process.h>usingnamespacestd;voidmain(intargc,char*argv[])((2分)(1分)if(argc!=2)(cout<<"命令行書寫格式錯(cuò)誤"<<endl;exit(1);ifstreamfin(argv[1],ios::binary);charch;fin.get(ch);while(!fin.eof())((3分)(1分)cout<<ch;fin.get(ch);(4分)fin.close();(1分)3.設(shè)計(jì)一個(gè)棧類(stack),其特點(diǎn)為:只有一個(gè)對(duì)數(shù)據(jù)進(jìn)行存入和取出的端口;數(shù)據(jù)后進(jìn)者先出,即最后被存入的數(shù)據(jù)將首先被取出。要求:該棧能處理一定個(gè)數(shù)的float型數(shù)據(jù),具有構(gòu)造函數(shù)、判斷空棧和滿棧函數(shù)、壓棧、彈棧等基本的成員函數(shù);并重載輸出運(yùn)算符“<<”實(shí)現(xiàn)棧內(nèi)數(shù)據(jù)全部彈出并顯示在屏幕上;用戶操作非法時(shí),有相應(yīng)提示信息;無(wú)需書寫main#include<iostream>usingnamespacestd;constintmaxsize=6; (1分)classstack(private:floatdata[maxsize];inttop; (2分)public:stack(void);boolempty(void);boolfull(void);voidpush(floata);floatpop(vo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024展覽會(huì)場(chǎng)保安服務(wù)與展覽會(huì)期間衛(wèi)生防疫合同3篇
- 2024年度商標(biāo)專用權(quán)轉(zhuǎn)讓及許可使用合同協(xié)議3篇
- 2024年度職業(yè)院校校服定制及學(xué)生制服配套服務(wù)合同3篇
- 部隊(duì)訓(xùn)練安全教案
- 防火安全巡查和檢測(cè)的重要性
- 2023年新七年級(jí)歷史開學(xué)分班自學(xué)反饋拔高題檢測(cè)卷(解析版)
- 2023-2024學(xué)年初中九年級(jí)上學(xué)期期末道法試題及答案
- 2024年茶藝師(四級(jí))理論知識(shí)考試題庫(kù)(附答案)
- 簽訂保險(xiǎn)協(xié)議合同范例
- 商鋪乙方解約合同范例
- 燃?xì)獍惭b人員管理制度
- 省份簡(jiǎn)稱課件
- 公民科學(xué)素質(zhì)調(diào)查問(wèn)卷
- 《城市規(guī)劃原理試題》(附答案)
- 小學(xué)健康教育試題-及答案
- 110kV升壓站構(gòu)支架組立施工方案
- 鋼構(gòu)件應(yīng)力超聲檢測(cè)技術(shù)規(guī)程
- 何以中國(guó):公元前的中原圖景
- 小學(xué)英語(yǔ)-Unit3What would you likePartB Let's talk教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 自然環(huán)境對(duì)聚落的影響
- 河南省洛陽(yáng)市偃師區(qū)2023-2024學(xué)年四年級(jí)數(shù)學(xué)第一學(xué)期期末經(jīng)典模擬試題含答案
評(píng)論
0/150
提交評(píng)論