季學(xué)期《C++程序設(shè)計(jì)》作業(yè)
《季學(xué)期《C++程序設(shè)計(jì)》作業(yè)》由會員分享,可在線閱讀,更多相關(guān)《季學(xué)期《C++程序設(shè)計(jì)》作業(yè)(10頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、2012 年春季學(xué)期C+程序設(shè)計(jì)作業(yè) 作業(yè)提交格式要求:請同學(xué)們把答案集中單獨(dú)寫在一個(gè).doc 文檔中,作為附件上傳(不 要把答案直接填寫在題目的空中)。特規(guī)定格式如下: 一、 ABCDD AAAAA 二、 題號 1 2 3 4 5 6 7 8 9 10 結(jié)果 三、 (1) BeiJing ShangHai (2) x=8,y=7 (3) r=k:i+j=90 以上只是舉例,不是正確的輸出結(jié)果。請按上述規(guī)定書寫和提交作業(yè)結(jié)果,不符合以 上規(guī)定的作業(yè)將作為 0 分處理。 鼓勵獨(dú)立完成作業(yè),嚴(yán)懲抄襲。 第一部分(C+第 1-7、8、9 章) 一、單選題 1、C+是從早期的 C 語言逐漸發(fā)展演變來的
2、,與 C 語言相比,它在求解問題方法上最大 的改進(jìn)是( B ) 。 A 面向過程 B. 面向?qū)ο?C. 安全性 D. 復(fù)用性 2、下列關(guān)于 this 指針的敘述中,正確的是 ( D ) A. 任何與類相關(guān)的函數(shù)都有 this 指針 B. 類的成員函數(shù)都有 this 指針 C. 類的友元函數(shù)都有 this 指針 D. 類的非靜態(tài)成員函數(shù)才有 this 指針 3、若有以下類 Z 聲明,函數(shù) fStatic 的正確定義是( B )。 class Z int a; public: void fStatic(Z ; A. void Z:fStatic(Z B. void Z:fStatic(Z C. v
3、oid Z:fStatic(Z D. void Z:fStatic(Z 4、在 C+中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中, ( D)是正確的。 A不允許設(shè)置缺省參數(shù)值; B只能在函數(shù)的定義中指定參數(shù)的缺省值; C在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù); D設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置; 5、關(guān)于友元函數(shù)的描述中,錯(cuò)誤的是( D ) 。 A友元函數(shù)說明在類體內(nèi) B友元函數(shù)不是成員函數(shù) C友元函數(shù)必須用對象來引用 D友元函數(shù)可以直接訪問類中的私有成員 6、對于類,下面哪個(gè)是不正確的( D )。 A. 類是對象的設(shè)計(jì)藍(lán)圖 B. 使用關(guān)鍵字 Class 創(chuàng)建類結(jié)構(gòu) C. 類被聲明后,
4、類名成為類型名并且可以用來聲明變量 D. 類與結(jié)構(gòu)體相同,它們之間沒有區(qū)別 7、下列是構(gòu)造函數(shù)的特點(diǎn),( C )是錯(cuò)誤的。 A. 構(gòu)造函數(shù)是一種成員函數(shù),它具有一般成員函數(shù)的特點(diǎn)。 B. 構(gòu)造函數(shù)的名稱與其類名相同。 C. 構(gòu)造函數(shù)必須指明其類型。 D. 一個(gè)類中可以定義一個(gè)或多個(gè)構(gòu)造函數(shù)。 8、已知:p 是一個(gè)指向類 A 數(shù)據(jù)成員 m 的指針,a 是類 A 的一個(gè)對象。在給 m 賦值為 5 的下列表達(dá)式中,( C )是正確的。 A. a.p=5 B. a-p=5 C. a.*p=5 D. *a.p=5 9、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的選項(xiàng)是( C )。 A. 靜態(tài)成員可以在類體內(nèi)進(jìn)行初
5、始化 B. 靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用 C. 靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用 D. 靜態(tài)數(shù)據(jù)成員不可以直接用類名調(diào)用 10、下列關(guān)于 new 運(yùn)算符的描述中,錯(cuò)誤的是(B )。 A. new 運(yùn)算符組成的表達(dá)式的值是地址值 B. 創(chuàng)建對象時(shí)不調(diào)用構(gòu)造函數(shù) C.用它創(chuàng)建的對象須用 delete 來刪除 D.可用它來創(chuàng)建動態(tài)的對象和對象數(shù)組 二、判斷題 1. 子對象的初始化可以不放在該類的構(gòu)造函數(shù)中。T 2. 如果一個(gè)類中沒有定義任何構(gòu)造函數(shù),則該類的對象便無法初始化。F 3. 構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。F 4. 如果一個(gè)成員函數(shù)只存取一個(gè)類的靜態(tài)數(shù)據(jù)成員,則可將該成員函數(shù)說明為靜態(tài) 成
6、員函數(shù)。T 5. 構(gòu)造函數(shù)和析構(gòu)函數(shù)都是系統(tǒng)自動調(diào)用的。F 6. 可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。F 7. 友元函數(shù)是成員函數(shù),它可以訪問類中私有成員。F 8. 對象數(shù)組的元素必須是同一個(gè)類的對象。T 9. 用 class 定義的類中,默認(rèn)的訪問權(quán)限是公有的。F 10. 運(yùn)算符 new 可以創(chuàng)建變量或?qū)ο螅?也可以創(chuàng)建數(shù)組。 F 三、寫出下列程序的輸出結(jié)果: 1、 #include using namespace std; class Test public: Test() cout”constructor of Test”endl; ; Test a; int main() c
7、out”main() start”endl; Test b; return 0; constructor of Test main()start constructor of Test 2、 #include class Student public: Student(int i=0,double j=0) num=i;score=j; void print() coutnum,scoreendl; friend void fun(Student private: int num; double score; ; void fun(Student rs.score=80; rs.print()
8、; void main() Student s1(1002,50),s2; s1.print(); fun(s2); 1002,50 1100,80 3、 #include class A private: int a; public: A(int aa)a=aa; A()cout”Destructor A!”aendl; ; class B:public A private: int b; public: B(int aa = 0, int bb = 0):A(aa) b = bb; B()cout”Destructor B!”bendl; ; void main() B obj1(5),
9、obj2(6,7); return; ; Destructor B!7 Destructor A!6 Destructor B!0 Destructor A!5 4、 #include class A public: A(int i=0) m=i; cout”Constructor called.”mendl; void Set(int i) m=i; void Print() const coutmendl; A() cout”Destructor called.”mendl; private: int m; ; void main() const int N=5; A my; my=N;
10、my.Print(); Constructor called.0 Constructor called.5 5 Destructor called.5 Destructor called.5 第二部分(C+第 10、11 章) 一、單選題 1、在 C+中,類與類之間的繼承關(guān)系具有( C )。 A. 自反性 B. 對稱性 C. 傳遞性 D. 反對稱性 2、int Func(int,int);不可與下列哪個(gè)函數(shù)構(gòu)成重載( A ) 。 A INT FUNC(INT,INT , INT) B DOUBLE FUNC(INT,INT) C DOUBLE FUNC(DOUBLE,DOUBLE) D DOU
11、BLE FUNC(INT,DOUBLE); 3、關(guān)于基類和派生類的描述中,錯(cuò)誤的是( A ) 。 A 基類和派生類間是包含關(guān)系 B派生類中可以定義自己的成員 C基類成員在派生類中的訪問權(quán)限與繼承方式有關(guān) D一個(gè)派生類可以從一個(gè)基類派生,也可以從多個(gè)基類派生。 4、下列對運(yùn)算符重載的描述中,正確的是( D )。 A. 運(yùn)算符重載可以改變結(jié)合性 B. 運(yùn)算符重載可以改變優(yōu)先級 C. 運(yùn)算符重載可以改變操作數(shù)的個(gè)數(shù) D. 運(yùn)算符重載不改變優(yōu)先級和結(jié)合性 5、下列函數(shù)中,( D )不能重載。 A. 成員函數(shù) B. 非成員函數(shù) C. 構(gòu)造函數(shù) D. 析構(gòu)函數(shù) 6、當(dāng)一個(gè)類某個(gè)函數(shù)被說明為 virtual
12、 時(shí),該函數(shù)在該類的所有派生類中( A )。 A. 都是虛函數(shù) B. 只有 被重新說明時(shí)才識虛函數(shù) C. 只有被重新說明為 virtual 時(shí)才是虛函數(shù) D. 都不是虛函數(shù) 7、實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性采用( D ) A. 重載函數(shù) B. 構(gòu)造函數(shù) C. 析構(gòu)函數(shù) D. 虛函數(shù) 8、關(guān)于動態(tài)聯(lián)編的下列描述中,( A )是錯(cuò)誤的。 動態(tài)聯(lián)編是在編譯時(shí)確定操作函數(shù)的 動態(tài)聯(lián)編是以虛函數(shù)為基礎(chǔ)的 動態(tài)聯(lián)編是在繼承的前提下的一種多態(tài)性 動態(tài)聯(lián)編時(shí)要求類的繼承是公有的 二、判斷題 1C+支持運(yùn)算符重載,所有運(yùn)算符都可以重載。 2在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的。 3基類中的保護(hù)成員
13、在其派生類中可以訪問,而派生類對象不可訪問。 4運(yùn)算符重載不能改變運(yùn)算符的運(yùn)算優(yōu)先級、結(jié)合方向。 5派生類的對象不可以給基類對象賦值。 6靜態(tài)聯(lián)編是在運(yùn)行時(shí)進(jìn)行的,動態(tài)聯(lián)編是在編譯時(shí)進(jìn)行的。 7. 派生類的構(gòu)造函數(shù)中應(yīng)包含直接基類的構(gòu)造函數(shù)。 8私有繼承方式下,基類中公有成員和保護(hù)成員在派生類中都是私有的。 9抽象類不能定義對象,可以定義對象引用和對象指針。 10一個(gè)對象在創(chuàng)建時(shí),總是要被初始化的。 三、寫出下面程序的輸出結(jié)果。 1、 #include class BASE public: void get( int i,int j,int k,int l ) a = i; b = j; x
14、= k; y = l; void print() cout a = a t b = b t x = x t y = y endl; int a,b; protected: int x, y; ; class A: public BASE public: void get( int i, int j, int k, int l ) BASE obj3; obj3.get( 50, 60, 70, 80 ); obj3.print(); a = i; b = j; x = k; y = l; u = a + b + obj3.a ; v = y - x + obj3.b; void print()
15、 cout a = a t b = b t x = x t y = y endl; cout u = u t v = v endl; private: int u, v ; ; void main() BASE obj1; A obj2; obj1.get( 10, 20, 30, 40 ); obj2.get( 30, 40, 50, 60 ); obj1.print(); obj2.print(); 2、 #include class A public: A(int i,int j) a1=i; a2=j; virtual void Print() couta1+a2endl; prote
16、cted: int a1,a2; ; class B:public A public: B(int i,int j):A(i,j) void Print() couta1*a2endl; ; void fun(A void main() int m=10,n=2; B b(m,n); fun(b); 3、 #include class B public: B() B(int i) b=i; virtual void virfun() cout”B:virfun() called.n”; private: int b; ; class D:public B public: D() D(int i
17、,int j):B(i) d=j; private: int d; void virfun() coutvirfun(); void main() B *pb=new B; fun(pb); D *pd=new D; fun(pd); 第三部分(VC+ ) 一、單選題 1.下面關(guān)于API的描述錯(cuò)誤的是( ) A.API是用來控制Windows各個(gè)元素的外觀和行為的一套預(yù)定義的Windows函數(shù)。 B .創(chuàng)建應(yīng)用程序,打開窗口、描繪圖形都要調(diào)用API函數(shù)。 C .Windows操作系統(tǒng)構(gòu)建在API函數(shù)上 D.早期,windows程序員編寫程序只能使用API函數(shù) 2.下面關(guān)于API的描述錯(cuò)誤的是(
18、 ) AAPI函數(shù)構(gòu)建在Windows操作系統(tǒng)上 B創(chuàng)建應(yīng)用程序,打開窗口、描繪圖形都要調(diào)用API函數(shù)。 CAPI是用來控制Windows各個(gè)元素的外觀和行為的一套預(yù)定義的Windows函數(shù)D Windows應(yīng) 用程序構(gòu)建在API函數(shù)上。 D.現(xiàn)在,Windows程序員編寫程序只能使用API函數(shù)。 3.下面描述句柄的語句,錯(cuò)誤的是() A 句柄是WINDOWS用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù) B 句柄中存放了Windows對象的數(shù)據(jù) C 句柄能區(qū)分不同的應(yīng)用程序?qū)ο?D句柄具有多種類型 4.在Windows中,窗口句柄的類型是 () A.HINSTANCE B. HFONT C.
19、HDC D.HWND 5.在Windows中,字體句柄的類型是 () A.HINSTANCE B. HFONT C.HDC D.HWND 6.對消息循環(huán)描述錯(cuò)誤的是() AGetMessage函數(shù)在消息隊(duì)列非空時(shí),取得消息并返回。 B.若GetMessage取得的是WM_CLOSE消息則返回0,否則返回非0. CGetMessage函數(shù)在消息隊(duì)列為空時(shí),將一直空閑。 DDispatchMessage 將當(dāng)前消息發(fā)送到對應(yīng)的窗口過程中去。 7.下面四個(gè)MFC類中哪一個(gè)是管理MFC應(yīng)用程序的 ( ) A. CWinApp B. CMainFrame C. CDocument D. CView 8.
20、下列類中不屬于MFC框架基本類的是 ( ) A. CWinApp B. CFrameWnd C. CView D. CObject 9.關(guān)于GDI的描述錯(cuò)誤的是( ) A.GDI指圖像設(shè)備接口。 B.GDI 負(fù)責(zé)用戶和繪圖程序之間的信息交換 C.GDI控制在輸出設(shè)備上顯示圖形或文字。 D采用了GDI,編程時(shí)還需關(guān)心顯示卡或打印機(jī)的驅(qū)動程序。 10.關(guān)于設(shè)備上下文的描述錯(cuò)誤的是( ) A.設(shè)備上下文是一種包含有關(guān)某個(gè)設(shè)備的繪制屬性的Windows數(shù)據(jù)結(jié)構(gòu)。 B.設(shè)備上下文允許在Windows中進(jìn)行與設(shè)備無關(guān)的繪制。 C.設(shè)備上下文可以用于繪制到屏幕,打印機(jī)但不能繪制到圖元文件。 D.設(shè)備上下文對
21、象封裝了繪制線條、形狀和文本等的 Windows API. 二、填空題 1.SendMessage 和 PostMessage 都會向窗體發(fā)送一個(gè)消息,但 SendMessage 而 PostMessage 。 2.使用 MFC AppWizard 產(chǎn)生的應(yīng)用程序的類型主要包括 、 、 . 3、VC+的工作區(qū)窗口包含 3 個(gè)視圖,分別是 , , 。 4. 封裝畫刷的 GDI 類是 ,封裝畫筆的 GDI 類是 ,封裝字體的 GDI 類是 ,封 裝位圖的 GDI 類是 。 5. Windows應(yīng)用程序的消息來源主要包括 和 6.Windows 應(yīng)用程序的消息按處理方式主要包括 、 和 。 7. 在 Visual C+中,創(chuàng)建控件有兩種方法:一種是 ,另一種是 。 8、按鈕控件對應(yīng) 類,靜態(tài)文本控件對應(yīng) 類,單選和復(fù)選按鈕對應(yīng) 類。 9、在 MFC 的眾多類中, 是所有 MFC 類的原始基類。 10、消息處理函數(shù) OnLButtonDown 響應(yīng) 消息。 三、簡答題 1.什么是句柄?它在 Windows 程序中的作用是什么? 2. CPaintDC, CClientDC,CWindowDC 的區(qū)別?
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版五上《小數(shù)乘整數(shù)》ppt課件
- 蘇教版一年級數(shù)學(xué)上冊《數(shù)一數(shù)》ppt課件
- 江南1優(yōu)秀課件
- 提高印字質(zhì)量課件
- 服務(wù)分銷策略課件
- 數(shù)學(xué)必修蘇教版互斥事件課件3(共32張PPT)
- 第三章要素費(fèi)用的核算PPT優(yōu)秀資料
- 元素的質(zhì)量分?jǐn)?shù)計(jì)算答案
- 圖形的欣賞與設(shè)計(jì)
- 八年級下期Uuit10SectionA課件
- 部編七年級語文下冊4孫權(quán)勸學(xué)課件
- 部編一年級語文下冊端午粽課件
- 超市防損的技能課件
- 表彰班會教學(xué)課件教學(xué)課件
- 第17講中考數(shù)學(xué)專題復(fù)習(xí) 函數(shù)的綜合應(yīng)用中考數(shù)學(xué)專題復(fù)習(xí)課件課件各版通用