1、計算機程序的基本理解 經常聽別人說在計算機上寫程序,寫代碼,那你知道什么是計算機程序么? 計算機程序,最簡單的理解,其實就是“數據結構+算法”的綜合體,這也是最經典的關于計算機程序的一種表述。那什么是數據結構呢?什么又是算法呢? 假設讓計算機處理某個任務,數據結構就是在該任務中抽象出來的可運算的一堆數據,這堆數據可以輸入到計算機中, ?算法則是對這堆數據進行加工整理及計算的?法,以達到完成任務解決問題的目的。 由此可?, 在計算機程序中,數據結構是基礎(基本部件),而算法則是靈魂(完成任務)。 2、數據結構及其表示形式 數據結構在程序中負責管理及存儲各種數據,根據數據的復雜程度,可分為基本數據類型和復合數據類型。為方便說明,下面以C語言為對象進行說明。 計算機中能夠處理的基本數據類型包括:字符型、 整型、 單精度浮點型、 雙精度浮點型和空類型。 在不同的操作系統或硬件平臺中, 這些數據類型的取值范圍和所占?的內存大小又有所不同。除void 類型外, 基本類型的前?還可以加各種修飾符,?來改變基本類型的意義, 以便更準確地適應各種情況的需求。 如signed、short、long和unsigned等修飾符可?于字符和整數兩種基本類型,而long修飾符還可用于 double。unsigned 和 signed修飾符分別表??正負值符號和有正負值符號的數據類型。 而復合數據類型是在基本數據類型的基礎上,進一步組合演變來的能夠存儲復雜的數據結構,如C/C++語言中的數組、 結構體、 共用體 (聯合體) 、位域和枚舉、甚至指針類型等。 3、算法與流程圖 算法是在計算機上為完成特定的任務,對數據結構進行加工處理的方法。而方法的具體實現過程可用流程圖來進行描述。計算機程序中的每個處理步驟都可??個?何圖形表?,如矩形表??般的賦值或計算,菱形表?判斷。 流程之間?線連接,并且使?箭頭標明程序的處理?向。 基本流程圖的形狀如下圖所?。 對于現代的高級編程語言如以C語?為代表的結構化語?,都提供了3種最基本的程序結構,分別為順序結構、 選擇結構和循環結構。任何計算機算法都可化簡為這3種基本結構的組合, 基本結構間可以并?,也可以相互包含,但是不允許交叉。
順序結構是簡單的線性結構, 各流程按順序執?。 其流程圖的基本形態如下圖所?,語句的執?順序為 A->B->C。
選擇結構?判斷語句實現。判斷語句使程序的執?變為兩個路徑,當判斷的條件為真時,選擇?個路徑執?,當判斷的條件為假時,選擇另?個路徑執?,如下圖所示。
循環結構是指反復對某?段代碼的執?, 其基礎為判斷結構。 執?的代碼稱之為循環體, 判斷結構?于根據某?條件, 判斷是否繼續循環。如C語言中的兩種典型循環結構類型如下圖所示,分別為while型循環和do-while型循環。 用流程圖描述算法的樣式主要包括兩種圖形結構方式,分別為N-S圖法和PAD圖法。 其中,N-S 圖法它由矩形組成, ?個程序模塊是最外圍的矩形外框, 程序中的每個步都是?個內嵌的?矩形,如下圖所示。該圖沒有使?箭頭表?程序執?的?向, 但也能準確定義程序的三種基本結構。它適合于設計系統程序, 特別是分?間相互獨立的程序。 PAD 圖 (Problem Analysis Diagram) 是國際上專業的程序員?泛使?的?種程序流程表示法。 它更容易描述扁平化的程序結構。 特別是?些應?管理類軟件,其中都會有很多扁平化的分?語句,這些語句?PAD描述吏為清晰。如下圖所示。 |
|