第一篇:Visual_C++面向?qū)ο笈c可視化程序設(shè)計課后答案第三章
1.Windows 編程中窗口的含義是什么?
Windows應(yīng)用程序基本的操作單元,系統(tǒng)管理應(yīng)用程序的基本單位,應(yīng)用程序與用戶之間交互的接口環(huán)境
2.事件驅(qū)動的特點是什么?
Windows程序設(shè)計是針對事件或消息的處理進行。Windows程序的執(zhí)行順序取決于事件發(fā)生的順序,程序的執(zhí)行順序是由順序產(chǎn)生的消息驅(qū)動的,但是消息的產(chǎn)生往往并不要求有次序之分。事件驅(qū)動編程方法對于編寫交互式程序很有用處,它避免了死板的操作模式。
4.句柄的作用是什么?請舉例說明
句柄是整個windows編程的基礎(chǔ),是一個4字節(jié)長的數(shù)值,用于標識應(yīng)用程序中不同的對象和同類對象中不同的實例。應(yīng)用程序通過句柄訪問相應(yīng)的對象信息。
TypedefstructtagPOINT{LONG X;LONG Y;}POINT
5.一個windows應(yīng)用程序的最基本構(gòu)成有哪些部分
(5)部分組成,1).C語言源程序文件c或者cpp2).頭文件h
3).模塊定義文件def4).資源描述文件rc5).項目文件vcproj
6.應(yīng)用windows API函數(shù)編程有什么特點
1)為應(yīng)用程序提供Windows系統(tǒng)特殊函數(shù)及數(shù)據(jù)結(jié)構(gòu) 2)Win應(yīng)用程序可以利用標準大量API函數(shù)調(diào)用系統(tǒng)功能 3)是Win系統(tǒng)與Win應(yīng)用程序間的標準程序接口。
功能:窗口管理函數(shù):實現(xiàn)窗口的創(chuàng)建、移動和修改功能,系統(tǒng)服務(wù)函數(shù):實現(xiàn)與操作系統(tǒng)有關(guān)的多種功能,圖形設(shè)備(GDI)函數(shù):實現(xiàn)與設(shè)備無關(guān)的圖形操作功能
7.Windows編程中有哪些常用的數(shù)據(jù)類型
LONG 32 位有符號整數(shù),DWORD 32 位無符號整數(shù),UINT 32 位無符號整數(shù),BOOL布爾值,LPTSTR 指向字符串的 32 位指針,LPCTSTR 指向字符串常量的 32 位指針,LPSTR 指向字符串的 32 位指針,LPCSTR 指向字符串常量的 32 位指針。
9.簡述winmain函數(shù)和窗口函數(shù)的結(jié)構(gòu)及功能
三個基本的組成部分:函數(shù)說明、初始化和消息循環(huán),功能:注冊窗口類,建立窗口及執(zhí)行必要的初始化,進入消息循環(huán),根據(jù)接受的消息調(diào)用相應(yīng)的處理過程,當消息循環(huán)檢索到WM_QUIT時終止程序運行。窗口函數(shù)定義了應(yīng)用程序?qū)邮盏降牟煌⒌捻憫?yīng),包含了對各種可能接收到的消息的處理過程。WndProc函數(shù)由一系列case語句組成。每一條case語句對應(yīng)一種消息,當應(yīng)用程序接收到一個消息時,相應(yīng)的case語句被激活并執(zhí)行相應(yīng)的響應(yīng)程序模塊。
10.初始化
窗口類的定義:定義窗口的形式與功能LoadIcon應(yīng)用程序中加載一個窗口圖標,LoadCursor應(yīng)用程序中加載一個窗口光標,GetStockObject獲取系統(tǒng)提供的背景刷。
窗口類的注冊:窗口類必須先注冊后使用RegisterClassEx()
創(chuàng)建窗口實例:CreateWindow
顯示窗口:ShowWindow,UpdateWindow
第二篇:Visual_C++面向?qū)ο笈c可視化程序設(shè)計填空題
17、面向?qū)ο蟪绦蛟O(shè)計有四個主要特點,即抽象、封裝、繼承、多態(tài)性。
18、非成員函數(shù)應(yīng)聲明為類的__友元__函數(shù)才能訪問這個類的private成員。
19、派生類中的成員不能直接訪問基類中的__私有__成員。
20、在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認訪問權(quán)限是_private或私有___。
21、運算符重載函數(shù)可能是類的__成員函數(shù),也可以是類的_友元___函數(shù),還可以是普通函數(shù)。
22、用流對象的成員函數(shù)控制輸出格式時,用于設(shè)置字段寬度的流成員函數(shù)的名稱是_width,與之作用相同的控制符名稱是__setw___。
23、含有純虛函數(shù)的類稱為__抽象類
1、類和對象的關(guān)系可表述為:類是對象的抽象,而對象則是類的實例。
2、靜態(tài)成員函數(shù)沒有隱含的this指針,所以,在C++程序中,靜態(tài)成員函數(shù)主要用來訪問靜態(tài)數(shù)據(jù)成員,而不訪問非靜態(tài)成員。
3、在圖1中,A,B,C,D,E,F(xiàn)均是類,其中屬于單繼承的派生類有E,屬于多繼承的派生類有 D、F,類F的基類有A、B、C、D、E,類A的派生類有 D、F。
4、如果只想保留公共基類的一個復制,就必須使用關(guān)鍵字 virtual 把這個公共基類聲明為虛基類。
5、從實現(xiàn)的角度來講,多態(tài)性可以劃分為兩類:靜態(tài)多態(tài)性和動態(tài)多態(tài)性。
6、如果一個類包含一個或多個純虛函數(shù),則該類稱為抽象類。
7、若要把void fun()定義為類A的友元函數(shù),則應(yīng)在類A的定義中加入語句friend void fun(A &a)。
8、列出C++中的兩種代碼復用方式:繼承和組合或模板。
9、析構(gòu)函數(shù)的作用是在對象被系統(tǒng)釋放之前做一些內(nèi)存清理工作
10、假定A是一個類名,則該類的拷貝構(gòu)造函數(shù)的原型說明語句為:A(const A&)。
11、后置自增運算符“++”重載為類的成員函數(shù)(設(shè)類名為A)的形式為:A operator++(int)。
1.this指針是一個const指針, 不能在程序中修改或賦值。
2.聯(lián)編是指將函數(shù)調(diào)用與相應(yīng)函數(shù)體代碼彼此關(guān)聯(lián)的過程。若此過程在程序開始運行前的編譯時完成,則稱之為靜態(tài)聯(lián)編。
3.在C++中,可以通過在運算符函數(shù)參數(shù)表中是否插入關(guān)鍵字int來區(qū)分前綴和后綴這兩種方式。
4.構(gòu)造函數(shù)是一種特殊的成員函數(shù),它主要用來為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行對象的其他內(nèi)部管理操作。
5.如果在一個類中說明了常數(shù)據(jù)成員,那么構(gòu)造函數(shù)就只能通過成員初始化列表對該數(shù)據(jù)成員進行初始化, 任何其他函數(shù)都不能對該成員賦值。
6.拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),其形參是本類對象的引用;其作用是使用一個已經(jīng)存在的對象去初始化另一個同類的對象。
7.在說明引用時用const修飾的引用為常引用,它所引用的對象不允許更改。
8.一個非成員函數(shù)必須聲明為一個類的 friend 才有可能存取該類的私有數(shù)據(jù)成員。
9.類的對象成員的構(gòu)造函數(shù)的調(diào)用次序取決于這些對象成員在類中聲明的次序,與它們在初始化列表中出現(xiàn)的次序無關(guān)。
10.運行時多態(tài)性主要是通過虛函數(shù)來實現(xiàn)的。
第三篇:Java面向?qū)ο蟪绦蛟O(shè)計課后答案
Java面向?qū)ο蟪绦蛟O(shè)計課后答案
Java面向?qū)ο蟪绦蛟O(shè)計 清華大學出版社
(編著 耿祥義 張躍平)習題解答
建議使用文檔結(jié)構(gòu)圖
(選擇Word菜單→視圖→文檔結(jié)構(gòu)圖)習題1 1.James Gosling、、、、2.
(1)使用一個文本編輯器編寫源文件。
(2)使用Java編譯器(javac.exe)編譯Java源程序,得到字節(jié)碼文件。(3)使用Java解釋器(java.exe)運行Java程序
3.Java的源文件是由若干個書寫形式互相獨立的類組成的。應(yīng)用程序中可以沒有public類,若有的話至多可以有一個public類。4.系統(tǒng)環(huán)境path Djdkbin;系統(tǒng)環(huán)境classpath Djdkjrelibrt.jar;.;5.
B 6. Java源文件的擴展名是.java。Java字節(jié)碼的擴展名是.class。
7.D 8.(1)Speak.java(2)生成兩個字節(jié)碼文件,這些字節(jié)碼文件的名字Speak.class 和 Xiti8.class(3)java Xiti8(4)執(zhí)行java Speak的錯誤提示
Exception in thread “main” java.lang.NoSuchMethodError: main 執(zhí)行java xiti8得到的錯誤提示
Exception in thread “main” java.lang.NoClassDefFoundError: xiti8(wrong name: Xiti8)執(zhí)行java Xiti8.class得到的錯誤提示
Exception in thread “main” java.lang.NoClassDefFoundError: Xiti8/class 執(zhí)行java Xiti8得到的輸出結(jié)果 I'm glad to meet you 9.屬于操作題,解答略。習題2 1.
D 2.【代碼1】
【代碼2】 錯誤
//【代碼3】更正為 float z=6.89F;3.float型常量后面必須要有后綴“f”或“F”。
對于double常量,后面可以有后綴“d”或“D”,但允許省略該后綴。4.public class Xiti4{ public static void main(String args[ ]){ char ch1='你',ch2='我',ch3='他';System.out.println(“”“+ch1+”“的位置:”+(int)ch1);System.out.println(“”“+ch2+”“的位置:”+(int)ch2);System.out.println(“”“+ch3+”“的位置:”+(int)ch3);} } 5.數(shù)組名字.length 6.數(shù)組名字.length 7. 【代碼1】A,65 【代碼2】-127 【代碼3】
123456.783,123456.78312 8.
【代碼1】false 【代碼2】true 【代碼3】false 【代碼4】3 【代碼5】4.4 【代碼6】8.8習題3 輸出110 if-else語句書寫的不夠規(guī)范,復合語句缺少大括號“{}”,代碼不夠清晰。2.你好好酷!3.
public class Xiti3_3 {
public static void main(String args[ ]){ int startPosition=0,endPosition=0;char cStart='а',cEnd='я';startPosition=(int)cStart;//cStart做int型轉(zhuǎn)換據(jù)運算,并將結(jié)果賦值給startPosition endPosition=(int)cEnd;
//cEnd做int型轉(zhuǎn)換運算,并將結(jié)果賦值給endPosition
System.out.println(“俄文字母表:”);for(int i=startPosition;i<=endPosition;i++){ char c='