2.1 程式設計風格
程式設計的風格主要強調:「清晰第一,效率第二」。主要應注重和考慮下述一些因素:
(1)源程式文件化。
1)符號名的命名。符號名能反映它所代表的實際東西,應有一定的實際含義。
2)程式的注釋。分為序言性注釋和功能性注釋。
序言性注釋:位於程式開頭部分,包括程式標題、程式功能說明、主要演算法、介面說明、程式位置、開發簡歷、程式設計者、複審者、複審日期及修改日期等。
功能性注釋:嵌在源程式體之中,用於描述其後的語句或程式的主要功能。
3)視覺組織。利用空格、空行、縮排等技巧使程式層次清晰。
(2)資料說明。
1)資料說明的次序規範化;
2)說明語句中變數安排有序化;
3)使用注釋來說明複雜資料的結構。
(3)語句的結構:
1)在一行內只寫一條語句;
2)程式編寫應優先考慮清晰性;
3)程式編寫要做到清晰第一,效率第二;
4)在保證程式正確的基礎上再要求提高效率;
5)避免使用臨時變數而使程式的可讀性下降;
6)避免不必要的轉移;
7)盡量使用庫函式;
8)避免採用複雜的條件語句;
9)儘量減少使用「否定」條件語句;
10)資料結構要有利於程式的簡化;
11)要模組化,使模組功能盡可能單一化;
12)利用資訊隱蔽,確保每乙個模組的獨立性;
13)從資料出發去構造程式;
14)不要修補不好的程式,要重新編寫。
(4)輸入和輸出。
1)對輸入資料檢驗資料的合法性;
2)檢查輸入項的各種重要組合的合法性;
3)輸入格式要簡單,使得輸入的步驟和操作盡可能簡單;
4)輸入資料時,應允許使用自由格式;
5)應允許預設值;
6)輸入一批資料時,最好使用輸入結束標誌;
7)在以互動式輸入/輸出方式進行輸入時,要在螢幕上使用提示符明確提示輸入的請求,同時在資料輸入過程中和輸入結束時,應在螢幕上給出狀態資訊;
8)當程式語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一致性;給所有的輸出加注釋,並設計輸出報**式。
2.2 結構化程式設計(面向過程的程式設計方法)
1、結構化程式設計方法的主要原則可以概括為:自頂向下,逐步求精,模組化,限制使用goto語句。
(1)自頂向下。
(2)逐步求精。
(3)模組化。
(4)限制使用goto語句。
2、結構化程式的基本結構:順序結構,選擇結構,重複結構。
1)順序結構。一種簡單的程式設計,即按照程式語句行的自然順序,一條語句一條語句地執行程式,它是最基本、最常用的結構。
2)選擇結構。又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執行相應的語句序列。
3)重複結構。又稱迴圈結構,可根據給定的條件,判斷是否需要重複執行某一相同的或類似的程式段。
僅僅使用順序、選擇和迴圈三種基本控制結構就足以表達各種其他形式結構,從而實現任何單入口/單出口的程式。
2.3 物件導向的程式設計
客觀世界中任何乙個事物都可以被看成是乙個物件,物件導向方法的本質就是主張從客觀世界固有的事物出發來構造系統,提倡人們在現實生活中常用的思維來認識、理解和描述客觀事物,強調最終建立的系統能夠對映問題域。也就是說,系統中的物件及物件之間的關係能夠如實地反映問題域中固有的事物及其關係。
物件導向方法的主要優點:
(1)與人類習慣的思維方法一致;
(2)穩定性好;
(3)可重用性好;
(4)易於開發大型軟體產品;
(5)可維護性好。
*:物件導向的程式設計主要考慮的是提高軟體的可重用性。
是物件導向方法中最基本的概念,可以用來表示客觀世界中的任何實體,物件是實體的抽象。物件導向的程式設計方法中的物件是系統中用來描述客觀事物的乙個實體,是構成系統的乙個基本單位,由一組表示其靜態特徵的屬性和它可執行的一組操作組成。物件是屬性和方法的封裝體。
即物件所包含的資訊,它在設計物件時確定,一般只能通過執行物件的操作來改變。
描述了物件執行的功能,操作也稱為方法或服務。操作是物件的動態屬性。
*:乙個物件由物件名、屬性和操作三部分組成。
物件的基本特點:標識惟一性,分類性,多型性,封裝性,模組獨立性好。
(1)標識惟一性。指物件是可區分的,並且由物件的內在本質來區分,而不是通過描述來區分。
(2)分類性。指可以將具有相同屬性的操作的物件抽象成類。
(3)多型性。指同乙個操作可以是不同物件的行為。
(4)封裝性。從外面看只能看到物件的外部特性,即只需知道資料的取值範圍和可以對該資料施加的操作,根本無需知道資料的具體結構以及實現操作的演算法。物件的內部,即處理能力的實行和內部狀態,對外是不可見的。
從外面不能直接使用物件的處理能力,也不能直接修改其內部狀態,物件的內部狀態只能由其自身改變。
*:資訊隱蔽是通過物件的封裝性來實現的。
(5)模組獨立性好。物件是物件導向的軟體的基本模組,它是由資料及可以對這些資料施加的操作所組成的統一體,而且物件是以資料為中心的,操作圍繞對其資料所需做的處理來設定,沒有無關的操作。從模組的獨立性考慮,物件內部各種元素彼此結合得很緊密,內聚性強。
是指具有共同屬性、共同方法的物件的集合。所以類是物件的抽象,物件是對應類的乙個例項。
是乙個例項與另乙個例項之間傳遞的資訊。訊息的組成包括:(1)接收訊息的物件的名稱;(2)訊息識別符號,也稱訊息名;(3)零個或多個引數。
*:在物件導向方法中,乙個物件請求另乙個物件為其服務的方式是通過傳送訊息。
是指能夠直接獲得已有的性質和特徵,而不必重複定義他們。繼承分單繼承和多重繼承。單繼承指乙個類只允許有乙個父類,多重繼承指乙個類允許有多個父類。
*:類的繼承性是類之間共享屬性和操作的機制,它提高了軟體的可重用性。
是指同樣的訊息被不同的物件接受時可導致完全不同的行動的現象。
計算機二級程式設計基礎
第二章程式設計基礎 三個要點 一 程式設計風格 知識點 程式設計風格強調 清晰第一,效率第二 程式的注釋分為 序言性注釋和功能性注釋 資訊隱蔽 表示模組獨立性。題庫 1 對建立良好的程式設計風格,下面描述正確的是 a 程式應簡單 清晰 可讀性好b 符號名的命名只要符合語法 c 充分考慮程式的執行效率...
計算機二級上機程式設計題總結
上機練習一 編寫函式部分 數字問題 第1題請編寫函式fun,它的功能是 求出1到1000之內能被7或者11整除,但不能同時被7和11整除的所有整數,並將他們放在a所指的陣列中,通過n返回這些數的個數。include include void fun int a,int n main 第2題請編寫函式...
計算機二級基礎知識
第一章資料結構與演算法 一 學習目標與要求 1 了解演算法的基本概念和一些常用的演算法,學會計算演算法的時間複雜度 2 掌握資料結構的基本概念,並了解資料的邏輯結構和儲存結構,學會利用圖形的方式表示資料結構 3 了解線性表的基本概念,並掌握線性表的順序儲存結構以及順序儲存的線性表的基本運算 4 了解...