【阿花兒】小白保命秘籍(十六)
第五章 程序設(shè)計
1.程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法。
2.算法的特征
①有窮性。任意一個算法在執(zhí)行有窮個計算步驟后必須終止。
②確定性。每一個步驟都是精確定義,無二義性。
③可行性。有限多個步驟應(yīng)該在一個合理的范圍內(nèi)進行。精度要在要求的范圍內(nèi)進行。
④輸入。一般有0個或者多個輸入。
⑤輸出。反應(yīng)輸入數(shù)據(jù)加工后的結(jié)果,沒有輸出結(jié)果的算法是無意義的。
3.三大基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。
4.變量命名規(guī)則:字母、漢字或者下劃線開頭、后跟字母、數(shù)字、下劃線組成;不能使用語言規(guī)定的保留字。
5.二分法查找的平均時間為 。采用二分法查找時,數(shù)據(jù)必須是有序的。
6.預處理:處理一般是指在程序源代碼被翻譯為目標代碼的過程中,生成二進制代碼之前的過程。典型地,由預處理器對程序源代碼文本進行處理,得到的結(jié)果再由編譯器核心進一步編譯。
7.常用的預處理命令有:#define 宏定義 ????#include 文件包含 ???#if #else #endif 條件編譯
8.目前最常用的程序設(shè)計方法有兩個:結(jié)構(gòu)化程序設(shè)計方法和面向?qū)ο蟪绦蛟O(shè)計方法。
9.結(jié)構(gòu)化程序設(shè)計主要包括兩個方面:
①在軟件設(shè)計和實現(xiàn)過程中,提倡采用自頂向下、逐步細化的模塊化程序設(shè)計原則;
②在代碼編寫時,強調(diào)采用單入口單出口的三種基本控制結(jié)構(gòu)(即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))
10.對象是構(gòu)成程序系統(tǒng)的基本單位,他有兩要素:屬性和方法(行為)。
①對象名:每個對象應(yīng)該有一個名字以區(qū)別其他對象;
②屬性:用一組狀態(tài)來描述對象的某些特征;
③方法:對對象屬性的各種操作,每一個操作決定對象的一種功能或行為。
11.在面向?qū)ο蟮南到y(tǒng)中,對象與對象之間并不是彼此孤立的,他們之間存在練習。對象之間的聯(lián)系是通過消息來傳遞的。
12.事件就是一些能夠激活對象功能的動作。
13.事件驅(qū)動是指:在面向?qū)ο蟮某绦蛟O(shè)計中,程序是由若干個規(guī)模較小的事件過程組成的。當程序處于運行狀態(tài)時,特定事件的發(fā)生將引發(fā)對象執(zhí)行相應(yīng)的事件過程。
14.面向?qū)ο箝_發(fā)過程
①面向?qū)ο蠓治觯∣bject Oriented Analyzing,OOA);
②面向?qū)ο笤O(shè)計(Object Oriented Designing,OOD);
③面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP)。
15.繼承、多態(tài)和封裝合稱為面向?qū)ο蟮娜蠡咎卣鳌?/p>
16.①繼承:使子類具有父類的屬性和方法,或者重新定義,追加屬性等。
17.②多態(tài):多態(tài)就是多種狀態(tài),接口的不同種實現(xiàn)方式。
18.③封裝:隱藏對象的細節(jié),僅對外公開接口。