2014電大面向?qū)ο蟪绦蛟O(shè)計期末復習題及答案_第1頁
2014電大面向?qū)ο蟪绦蛟O(shè)計期末復習題及答案_第2頁
2014電大面向?qū)ο蟪绦蛟O(shè)計期末復習題及答案_第3頁
2014電大面向?qū)ο蟪绦蛟O(shè)計期末復習題及答案_第4頁
2014電大面向?qū)ο蟪绦蛟O(shè)計期末復習題及答案_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計期末復習題一、單項選題1.設(shè)x和y均為bool量,則x&&y為真的條件是()。A.它們均為真B.其中一個為真C.它們均為假D.其中一個為假2.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為()。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.73.假定p是具有int**類型的指針變量,則給p賦值的正確語句為()。A.p=newint;B.p=newint*;C.p=newint**;D.p=newint[10];4.以下關(guān)于函數(shù)模板敘述正確的是()。A.函數(shù)模板也是一個具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型5.在多文件結(jié)構(gòu)的程序中,通常把類的聲明單獨存放于()中。A.主文件B.實現(xiàn)文件C.庫文件D.頭文件6.假定有定義“intb[10];int*pb;”,則不正確的賦值語句為()。A.pb=b;B.pb=&b[0];C.pb=newint;D.pb=b[5];7.假定一個類的構(gòu)造函數(shù)為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執(zhí)行“Ax(0);”語句后,x.a和x.b的值分別為()。A.0和0B.0和1C.1和0D.1和18.假定AA為一個類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,x為該類的一個對象,則訪問x對象中數(shù)據(jù)成員a的格式為()。A.x.aB.x.a()C.x->GetValue()D.x.GetValue()9.C++的繼承性允許派生類繼承基類的()。A.部分特性,并允許增加新的特性或重定義基類的特性B.部分特性,但不允許增加新的特性或重定義基類的特性C.所有特性,并允許增加新的特性或重定義基類的特性D.所有特性,但不允許增加新的特性或重定義基類的特性10.假定AB為一個類,則執(zhí)行“ABx;”語句時將自動調(diào)用該類的()。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)11.定義p并使p指向動態(tài)空間中的包含30個整數(shù)的數(shù)組所使用的定義語句為()。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];12.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,則正確的語句為()。A.strcpy(book->title,”WangTao”);B.strcpy(book.title,”WangTao”);C.strcpy(*book.title,”WangTao”);D.strcpy((*book)->title,”WangTao”);13.假定有定義“intb[10];int*pb;”,則不正確的賦值語句為()。A.pb=b;B.pb=&b[0];C.pb=newint;D.pb=b[5];14.假定指針變量p定義為“int*p=newint(100);”,要釋放p所指向的動態(tài)內(nèi)存,應使用語句()。A.deletep;B.delete*p;C.delete&p;D.delete[]p;15.軟件產(chǎn)品在需求發(fā)生變化、運行環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品本身的錯誤或不足時進行相應的軟件更新的難易程度叫做軟件的()。A.可維護性B.可復用性C.兼容性D.正確性16.若需要把一個類外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù),則必須把關(guān)鍵字()放在函數(shù)原型或函數(shù)頭的前面。A.inB.inlineC.inLineD.InLiner17.在關(guān)鍵字public后面定義的成員為類的()成員。A.私有B.公用C.保護D.任何18.假定AA為一個類,a()為該類公有的函數(shù)成員,x為該類的一個對象,則訪問x對象中函數(shù)成員a()的格式為()。A.x.aB.x.a()C.x->aD.x->a()19.假定AA為一個類,inta()為該類的一個成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為()。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()20.在多文件結(jié)構(gòu)的程序中,通常把類的定義單獨存放于()中。A.主文件B.實現(xiàn)文件C.庫文件D.頭文件二、填空題1.假定x=5,y=6,則執(zhí)行表達式y(tǒng)+=x--計算后,x和y的值分別為__________和__________。2.執(zhí)行char*p=newchar(’a’)操作后,p所指向的數(shù)據(jù)對象的值為________。3.變量v定義為“doublev=23.4;”,要使指針pv指向v,則定義pv的語句為______________。4.若在類的定義體中只給出了一個成員函數(shù)的原型,則在類外給出完整定義時,其函數(shù)名前必須加上________和兩個冒號分隔符。5.假定用戶只為類AB定義了一個構(gòu)造函數(shù)"AB(intaa,intbb=0){a=aa;b=bb;}",則定義該類的對象時,其實參表中至少帶有_________個實參。6.假定用戶沒有給一個名為AB的類定義析構(gòu)函數(shù),則系統(tǒng)為其定義的析構(gòu)函數(shù)為__________。7.一個二維字符數(shù)組a[10][20]能夠存儲________個字符串,每個字符串的長度至多為________。8.重載一個函數(shù)的條件是:該函數(shù)必須在參數(shù)的個數(shù)或參數(shù)對應的__________上與其它同名函數(shù)不相同。9.一個指針類型的對象占用內(nèi)存的________個字節(jié)的存儲空間。10.假定一個數(shù)據(jù)對象為int*類型,則指向該對象的指針類型為_______。11.假定p所指對象的值為25,p+1所指對象的值為42,則*++p的值為________。12.假定p所指對象的值為25,p+1所指對象的值為42,則執(zhí)行*(p++)或*p++運算后,p所指對象的值為________。13.一個數(shù)組的數(shù)組名實際上是指向該數(shù)組________元素的指針,并且在任何時候都不允許________它。14.重載一個函數(shù)的條件是:該函數(shù)必須在參數(shù)的________或參數(shù)對應的__________上與其它同名函數(shù)不相同。15.指針變量pv和pc定義為“void*pv=”Hello,word!”;char*pc;”,要將pv值賦給pc,則正確的賦值語句是pc=___________pv。16.若p指向x,則________與x的表示是等價的。17.假定p為指向二維數(shù)組intd[4][6]的指針,則p的類型為________。18.若y是x的引用,則對y的操作就是對_______的操作。19.執(zhí)行char*p=newchar(’a’)操作后,p所指向的數(shù)據(jù)對象的值為________。20.執(zhí)行________操作將釋放由p所指向的動態(tài)分配的數(shù)據(jù)空間。三、程序填充題,根據(jù)題意在橫線上填寫合適的內(nèi)容。2、已知一維數(shù)組類ARRAY的定義如下,ARRAY與普通一維數(shù)組區(qū)別是:其重載的運算符[]要對下標是否越界進行檢查。classARRAY{ int*v;//指向存放數(shù)組數(shù)據(jù)的空間 ints;//數(shù)組大小public: ARRAY(inta[],intn);~ARRAY(){delete[]v;}intsize(){returns;} int&operator[](intn);};___(1)___operator[](intn)//[]的運算符成員函數(shù)定義{ if(n<0||___(2)___){cerr<<"下標越界!";exit(1);}return___(3)___;}(1)(2)(3)3.類A的定義classA{char*a;public:A(){a=NULL;}A(char*aa){a=___(1)____char[strlen(aa)+1];strcpy(a,aa);}___(2)______//定義析構(gòu)函數(shù),刪除a所指向的動態(tài)存儲空間};(1)(2)4.已知一個類的定義如下:#include<iostream.h>classAA{ inta[10]; intn;public: voidSetA(intaa[],intnn);//用數(shù)組aa初始化數(shù)據(jù)成員a, //用nn初始化數(shù)據(jù)成員n intMaxA();//從數(shù)組a中前n個元素中查找最大值voidSortA();//采用選擇排序的方法對數(shù)組a中前n個元素//進行從小到大排序voidInsertA();//采用插入排序的方法對數(shù)組a中前n個元素進行從小到大排序 voidPrintA();//依次輸出數(shù)組a中的前n個元素};該類中MaxA()函數(shù)的實現(xiàn)如下,請在標號位置補充適當?shù)膬?nèi)容。int____(1)_____{ intx=a[0]; for(inti=1;i<n;i++) if(a[i]>x)___(2)___; ___(3)___;}(1)(2)(3)四、理解問答題,寫出程序運行結(jié)果或程序(或函數(shù))所能實現(xiàn)的功能。1.#include<iostream.h>voidmain(){ inti,s=0; for(i=2;i<=30;i+=2)s+=i*i; cout<<"s="<<s<<endl;}函數(shù)功能:2.#include<iostream.h>doublef1(intn){ doublesign=1,s=1; for(inti=2;i<=n;i++){ s+=sign/(i*i); sign*=-1; } returns;}voidmain(){inta; cin>>a; cout<<f1(a)<<endl;}函數(shù)功能:3.#include<iostream.h>classA{inta,b;public:A(){a=b=0;}A(intaa,intbb){a=aa;b=bb;}intSum(){returna+b;}int*Mult(){int*p=newint(a*b);returnp;}};voidmain(){Ax(4,5),*p;p=newA(2,3);cout<<x.Sum()<<’’<<*(x.Mult())<<endl;cout<<p->Sum()<<’’<<*(p->Mult())<<endl;}運行結(jié)果:4.#include<iostream.h>voidmain(){ inta[10]={76,83,54,62,40,75,90,92,77,84}; intb[4]={60,70,90,101}; intc[4]={0}; for(inti=0;i<10;i++){ intj=0; while(a[i]>=b[j])j++; c[j]++; } for(i=0;i<4;i++)cout<<c[i]<<’’; cout<<endl;}運行結(jié)果:五、編程題根據(jù)下面類中拷貝構(gòu)造函數(shù)的原型寫出它的類外定義。classArray{int*a;//指向動態(tài)分配的整型數(shù)組空間intn;//記錄數(shù)組長度public:Array(intaa[],intnn);//構(gòu)造函數(shù),利用aa數(shù)組長度nn初始化n,//利用aa數(shù)組初始化a所指向的數(shù)組空間Array(Array&aa);//拷貝構(gòu)造函數(shù)};參考答案一、單選題1.A2.C3.B4.C5.D6.D7.A8.D9.C10.B11.A12.A13.D14.A15.B16.B17.B18.B19.A20.D二、填空題1.4112.‘a(chǎn)’3.double*pv=&v;4.類名5.16.~AB(){}

溫馨提示

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

評論

0/150

提交評論