東華理工大學(xué) C++程序設(shè)計(jì)試題_第1頁
東華理工大學(xué) C++程序設(shè)計(jì)試題_第2頁
東華理工大學(xué) C++程序設(shè)計(jì)試題_第3頁
東華理工大學(xué) C++程序設(shè)計(jì)試題_第4頁
東華理工大學(xué) C++程序設(shè)計(jì)試題_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專業(yè) 班級(jí) 學(xué)號(hào) 姓名 東華理工大學(xué)軟件學(xué)院 20112012學(xué)年第二學(xué)期試卷A1課程:面向?qū)ο蟪绦蛟O(shè)計(jì) 閉卷 年級(jí)及專業(yè):11級(jí)軟件工程、網(wǎng)絡(luò)工程、數(shù)字媒體題號(hào)一二三四五六七八九總 分分?jǐn)?shù)2040101515得分評(píng)卷人一、填空題(20分,每空1分)1把對(duì)象的屬性和行為結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),這稱為 封裝 。2在C+中建立參數(shù)類型和個(gè)數(shù)不同的同名函數(shù)是可能的,這稱為函數(shù) 重載 。3函數(shù) 重載 能夠定義一個(gè)在不同數(shù)據(jù)類型基礎(chǔ)上完成同一個(gè)任務(wù)的函數(shù)。4類成員的訪問控制屬性可以有以下三種: pravate 、 public 和 protected 。5描述y除5余3的表

2、達(dá)式是 5 % y = 3 。6int i=2,j=3,k; k=i+>j+?i:+j; 則k的值是 5 。 7struct data int i; char s2;g ; 假設(shè)int類型占4個(gè)字節(jié),則語句cout<<sizeof(data);的輸出結(jié)果是 6 。8每個(gè)對(duì)象都維護(hù)了一個(gè)指向自身的指針,這個(gè)指針稱為 this 。如果類A想直接訪問類B的私有成員,可以將A設(shè)置為B的 友元 類。 9如果一個(gè)類包含一個(gè)或多個(gè)純虛函數(shù),則稱該類為 抽象類 。10標(biāo)識(shí)符的首字符必須是字母或者 下劃線 。 C+程序有兩種注釋符,一種是/*/,另一種是 / 。 二維數(shù)組的元素在內(nèi)存中按 順序

3、存放。 11. 對(duì)象是 事件 的實(shí)例,對(duì)象之間通過發(fā)送 行為 進(jìn)行通信。12. 如果函數(shù)的類型是void,表示該函數(shù) 返回值的類型為空 。13C+程序的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇和 循環(huán)結(jié)構(gòu) 。14. 在運(yùn)算符重載中,后置單目運(yùn)算符,重載函數(shù)需要有一個(gè)整型形參,對(duì)于_雙目運(yùn)算符的重載_, 重載函數(shù)沒有形參。 二、選擇題(40分,每題2分)1C+對(duì)C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A、增加了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說明必須用原型;D、引進(jìn)了類和對(duì)象的概念;2下列描述中,( C)是錯(cuò)誤的。A、內(nèi)聯(lián)函數(shù)

4、主要解決程序的運(yùn)行效率問題;B、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前;C、內(nèi)聯(lián)函數(shù)中可以包括各種語句;D、對(duì)內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明;3在C+中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中,( B)是正確的。A、不允許設(shè)置缺省參數(shù)值;B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù);C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;D、設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置;4( D )不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D、構(gòu)造函數(shù)必須指定類型說明。5( D)是析構(gòu)函數(shù)的特征。 A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù);

5、 B、析構(gòu)函數(shù)名與類名不同; C、析構(gòu)函數(shù)的定義只能在類體內(nèi); D、一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù);6關(guān)于成員函數(shù)特征的下列描述中,( A)是錯(cuò)誤的。 A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù); B、成員函數(shù)可以重載; C、成員函數(shù)可以設(shè)置缺省參數(shù)值;D、成員函數(shù)可以是靜態(tài)的;7下列靜態(tài)數(shù)據(jù)成員的特性中,(B)是錯(cuò)誤的。 A、說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static; B、靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化; C、靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的; D、引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加<類名>和作用域運(yùn)算符;8友元的作用是(A)。 A、提高程序的運(yùn)用效率; B、加強(qiáng)類的封裝性; C、實(shí)現(xiàn)數(shù)據(jù)的

6、隱藏性; D、增加成員函數(shù)的種類;9關(guān)于new運(yùn)算符的下列描述中,(D)是錯(cuò)誤的。 A、它可以用來動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組; B、使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除; C、使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值;10關(guān)于delete運(yùn)算符的下列描述中,(C)是錯(cuò)誤的。 A、它必須用于new返回的指針; B、使用它刪除對(duì)象時(shí)要調(diào)用析構(gòu)函數(shù); C、對(duì)一個(gè)指針可以使用多次該運(yùn)算符;D、指針名前只有一對(duì)方括號(hào)符號(hào),不管所刪除數(shù)組的維數(shù)。11const int *p說明不能修改(A)。 A、p指針; B、p指針指向的變量; C、p指針指向的數(shù)據(jù)類型;

7、D、上述A、B、C三者;12已知:print()函數(shù)是一個(gè)類的常成員函數(shù),它無返回值,下列表示中( C)是正確的; A、void print() const; B、const void print(); C、void const print();D、void print(const);13派生類的對(duì)象對(duì)它的基類成員中(A)是可以訪問的。 A、公有繼承的公有成員; B、公有繼承的私有成員;C、公有繼承的保護(hù)成員;D、私有繼承的公有成員;14設(shè)置虛基類的目的是(B)。 A、簡(jiǎn)化程序; B、消除二義性;C、提高運(yùn)行效率;D、減少目標(biāo)代碼;15下列描述中,正確的是(C) A、虛函數(shù)是一個(gè)static

8、類型的成員函數(shù); B、虛函數(shù)是一個(gè)非成員函數(shù);C、抽象類是指具有純虛函數(shù)的類;D、抽象類可以說明其對(duì)象;16若有以下語句:static char x =”12345”;static char y =1,2,3,4,5;則正確的說法是_C_。Ax數(shù)組和y數(shù)組的長度相同 Bx數(shù)組的長度大于y數(shù)組的長度Cx數(shù)組的長度小于y數(shù)組的長度 Dx數(shù)組與y數(shù)組等價(jià)17以下有關(guān)宏替換的敘述中,錯(cuò)誤的是_D_。A宏替換不占用運(yùn)行時(shí)間 B宏名無類型C宏替換只是字符替換 D宏名必須用大寫字母表示18要判斷char型變量m是否是數(shù)字,可以使用下列表達(dá)式_B_。A0<=m && m<=9 B0

9、<=m && m<=9C”0”<=m && m>=”9” D以上都錯(cuò)誤19若int i=10;接著執(zhí)行完下列程序后,變量i的正確結(jié)果是_D_。switch ( i ) case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1;A 10 B 11 C 12 D1320數(shù)組作為函數(shù)的形參時(shí),把數(shù)組名作為實(shí)參,傳遞給函數(shù)的是_A_。A該數(shù)組的首地址 B該數(shù)組的元素個(gè)數(shù)C該數(shù)組中的各元素值 D該數(shù)組的大小三、程序填空。(每空2分,共10分)1 以下程序是輸入二個(gè)整數(shù),通過遞歸函數(shù)power

10、調(diào)用,求x的y次方。 #include<iostream.h>long power(int x,int y )long f;if(_y=1_)f=x;else_f=power(x,y-1)*x_; return f;void main( )int x,y;long z;cin>>x>>y;_z=power(x,y)_; cout<<"z="<<z<<endl;2class A int * a; public: A(int aa=0) a=_new class_;/用aa初始化a所指向的動(dòng)態(tài)對(duì)象 A()_

11、delete *a_;/釋放動(dòng)態(tài)存儲(chǔ)空間;四讀程題,寫出程序的運(yùn)行結(jié)果。(每小題5分,共15分)1#include <iostream.h> void main( ) int b=10; int &p=b; cout<<b<<endl; p+;cout<<b<<endl; 10112#include <iostream.h> template<class T> T f(T *a, T *b, int n) T s=0; for(int i=0;i<n;i+) s+=ai*bi; return s;

12、 void main() double c5=1.1,2.2,3.3,4.4,5.5,d5=10.0,100.0,1000.0; cout<<d4<<endl; cout<<f(c,d,5)<<endl; 035313#include<iostream.h>#include<string.h>class person int age; char name10;public:person(int i=0, char *str=”Z”)age=i; strcpy(name,str);void display()cout<

13、<name<<” is ”<<age<<” years old.n”; ;void main() person d1; d1.display(); person d2(30,”li-ming”); d2.display();Z is 0 years oldli-ming is 30 years old五、程序設(shè)計(jì)題(15分)1、設(shè)計(jì)一個(gè)類。屬性有初值(整型)、終值(整型)和總和(長整型),行為有g(shù)et(顯示屬性值),set(設(shè)置屬性值)和求和。(6分)#include<iostream.h>Class addInt add;Public:V

14、oid getadd()Void setadd();2、編寫一個(gè)基類building,屬性有floors(表示樓房層數(shù))、areas(表示建筑面積)和name(表示建筑名稱)。建立派生類house表示居住樓,增加成員ds表示單元數(shù)。建立派生類office表示辦公樓,增加成員cs表示公司數(shù)。為每個(gè)類定義一個(gè)輸出函數(shù)print,輸出該類的相關(guān)信息;為每個(gè)類設(shè)計(jì)一個(gè)構(gòu)造函數(shù),用于初始化數(shù)據(jù)成員。(9分)#include<iostream>#include<string>using namespace std;class buildingprivate:int floors;f

15、loat areas; string name;public:building(int Floors = 0, float Areas = 0, string Name = "") floors = Floors; areas = Areas; name = Name; /*int getfloors() return floors; float getareas() return areas; string getname() return name; */ void print() cout << "樓層數(shù):" << floo

16、rs << "面積:" << areas << "樓名:" << name << endl; ;class house :public buildingprivate:int floors,ds;float areas;string name;public:house(int Floors = 0, float Areas = 0, string Name = "", int Ds = 0) floors = Floors; areas = Areas; name = Nam

17、e; ds = Ds; void print() cout<<"樓層數(shù):" << floors<<"面積:" << areas<<"樓名:" << name<<"單元數(shù):" <<ds<< endl; ;class office :public buildingprivate:int floors, cs;float areas;string name;public:office(int Floors = 0, float Areas = 0, string Name = "", int Cs = 0) floors = Floors; areas = Areas; name = Name; cs = Cs; void print() cout <<

溫馨提示

  • 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. 人人文庫網(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)論