




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第10章C語言綜合應用程序設計10.1模塊化程序設計基本概念
10.2模塊化程序設計開發(fā)步驟
10.3模塊化程序設計的基本編輯要求
10.4綜合實例.第10章C語言綜合應用程序設計10.1模塊化程序設計基本110.1模塊化程序設計基本概念一、模塊程序設計的基本概念一個復雜程序可以分成若干個模塊,可由不同人員分頭完成.每個模塊的任務明確,便于理解.單個模塊易于編寫和調試.便于程序的維護和修改.可以直接利用已有的模塊..10.1模塊化程序設計基本概念一、模塊程序設計的基本概念一2使用模塊化編程技術的處理過程大致如下:
1、首先將一個大的源程序根據其功能合理地劃分成若干個小的源程序,每個小源程序均以程序文件(.C)的形式保存在磁盤上。并建立一個包括各個源程序模塊的文件名的工程文件(.prj)。
2、然后用編譯器進行編譯,將工程文件中指定的多個源程序文件進行編譯,生成多個目標文件和一個可執(zhí)行文件。注意,在分模塊單獨編譯處理的各個程序模塊中,必須有且只有一個主函數main()。
二、模塊化程序組織
.使用模塊化編程技術的處理過程大致如下:二、模塊化程序組織.3三、模塊化程序中模塊間的通信1、使用外部變量即一個程序文件file1.c中定義一個外部變量,另一個程序文件file2.c中的函數可以通過外部變量說明后來使用這個變量,以實現模塊間的通信。說明形式:extern類型說明符外部變量名;注意:只是進行了說明,并不是變量定義。.三、模塊化程序中模塊間的通信1、使用外部變量.42、舉例利用外部變量實現程序模塊file1.c與程序模塊file2.c之間的通信。設程序模塊文件file1.c的內容如下:
#include<stdio.h>intn=2;/*定義n為全局變量*/main(){printf(“%d”,n);proc1();printf(“%d\n”,n);}程序模塊文件file2.c的內容如下:externintn;/*說明n為外部變量*/proc1(){n=10;}程序編譯連接生成可執(zhí)行文件,執(zhí)行結果為:
210.2、舉例.5四、預處理命令#include的應用1、#include命令經過預處理后,會將其后有關文件的內容拷貝到命令所在的源程序文件中。2、在上一個例子中,程序要能夠編譯運行,需建立一個工程文件file.prj,其內容為:
file1.cfile2.c然后對file.prj文件編譯運行即可。3、也可以在file1.c文件開頭加一預處理命令:#include<stdio.h>#include<file2.c>intn=2;main(){……}對file1.c文件直接編譯運行即可。.四、預處理命令#include的應用1、#include命令6模塊化程序設計開發(fā)步驟討論以c語言程序模塊化設計小規(guī)模軟件開發(fā)的一般步驟:1、通過與最終用戶的交流,明確軟件應達到的功能,寫出相應的“功能說明”。2、根據“功能說明”,確定存放有關數據的數據結構。3、根據數據結構確定算法。4、根據數據結構和算法,采用某種計算機語言編寫的程序源代碼。5、對程序進行調試和測試。6、最后整理出有關的文檔資料。.模塊化程序設計開發(fā)步驟討論以c語言程序模塊化設計小規(guī)模軟件開710.3模塊化程序設計的基本編輯要求1、基本要求程序結構清晰,簡單易懂,單個函數的程序行數不得超過100行。打算干什么,要簡單,直截了當,代碼精簡,避免垃圾程序。
盡量使用標準庫函數和公共函數。
不要隨意定義全局變量,盡量使用局部變量。使用括號以避免二義性。
.10.3模塊化程序設計的基本編輯要求1、基本要求.82、可讀性要求
可讀性第一,效率第二。
保持注釋與代碼完全一致。
每個源程序文件,都有文件頭說明,說明規(guī)格見規(guī)范。
每個函數,都有函數頭說明,說明規(guī)格見規(guī)范。
主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。
常量定義(DEFINE)有相應說明。
處理過程的每個階段都有相關注釋說明。
在典型算法前都有注釋。
利用縮進來顯示程序的邏輯結構,縮進量一致并以Tab鍵為單位,定義Tab為
6個
字節(jié)。
循環(huán)、分支層次不要超過五層。
注釋可以與語句在同一行,也可以在上行。
空行和空白字符也是一種特殊注釋。
一目了然的語句不加注釋。注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。
注釋行數(不包括程序頭和函數頭說明部份)應占總行數的
1/5
到
1/3
。.2、可讀性要求
.93、
結構化要求
禁止出現兩條等價的支路。
禁止GOTO語句。
用
IF
語句來強調只執(zhí)行兩組語句中的一組。禁止
ELSE
GOTO
和
ELSE
RETURN。
用
CASE
實現多路分支。
避免從循環(huán)引出多個出口。
函數只有一個出口。
不使用條件賦值語句。
避免不必要的分支。
不要輕易用條件分支去替換邏輯表達式。
.3、
結構化要求
.104、
正確性與容錯性要求
程序首先是正確,其次是優(yōu)美。
無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應先回頭檢查。
改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。
所有變量在調用前必須被初始化。
對所有的用戶輸入,必須進行合法性檢查。
不要比較浮點數的相等,如:10.0
*
0.1
==
1.0
,不可靠程序與環(huán)境或狀態(tài)發(fā)生關系時,必須主動去處理發(fā)生的意外事件,如文件能否邏輯鎖定、打印機是否聯機等。
單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。
.4、
正確性與容錯性要求
.1110.4綜合實例一、綜合實例內容用C語言編寫一個簡單的成績管理系統(tǒng)。要求數據以記錄的形式,存放在數據文件中。每條記錄包含:學號;姓名;性別;三科成績;平均成績。在菜單驅動下,能對數據文件進行改(modify)、顯示(display)、增(insert)、刪(del)、排序(sort)等操作。
.10.4綜合實例一、綜合實例內容.12二、基本要求和設計步驟設計程序之前,要求給出分析過程。在分析的基礎上,完成總體設計方案。依據總體方案,詳細設計各子模塊,并完成程序源代碼的編輯。完成程序調試。編寫程序文檔,包括用戶文檔和技術文檔。
.二、基本要求和設計步驟.13三、程序的開發(fā)過程1、分析分析問題就是要了解問題所涉及的相關領域,在清楚的需求分析基礎以上構建解決問題的模型。實例中設計的算法有:構建菜單算法;對文件中的數據改(modify)、顯示(display)、增(insert)、刪(del)、排序(sort)等操作的算法。.三、程序的開發(fā)過程.142、總體設計根據實例的內容要求,設計出總體方案如圖:系統(tǒng)共分7大模塊:錄入信息模塊;排序信息模塊;顯示信息模塊;增加信息模塊;刪除信息模塊;查詢信息模塊;修改信息模塊。.2、總體設計系統(tǒng)共分7大模塊:錄入信息模塊;排序信息模塊;顯153、各模塊的設計在模塊的設計部分,應當詳細闡述各個模塊的數據結構和算法,給出描述算法的流程圖。在本實例中,需要完成七個不同模塊的詳細設計。錄入信息模塊的設計排序信息模塊的設計顯示信息模塊的設計增加信息模塊的設計刪除信息模塊的設計查詢信息模塊的設計修改信息模塊的設計.3、各模塊的設計.164、程序的編譯和連接
5、程序的測試6、編寫程序文檔經過以上步驟,程序設計工作基本完成。要想將一個程序最終交付給用戶使用,必須提供詳盡程序文檔。它包括用戶文檔和技術文檔。用戶文檔一般包括:程序的功能;數據的錄入格式和取值限制;程序及相關文件的數量、名稱、內容及存放路徑等;程序運行的環(huán)境;安裝、啟動方法等。技術文檔一般包括:各模塊的描述;硬件信息;算法的解釋和描述;變量的名稱、作用;程序代碼清單。7、實例程序代碼.4、程序的編譯和連接.17此課件下載可自行編輯修改,此課件供參考!部分內容來源于網絡,如有侵權請與我聯系刪除!此課件下載可自行編輯修改,此課件供參考!18第10章C語言綜合應用程序設計10.1模塊化程序設計基本概念
10.2模塊化程序設計開發(fā)步驟
10.3模塊化程序設計的基本編輯要求
10.4綜合實例.第10章C語言綜合應用程序設計10.1模塊化程序設計基本1910.1模塊化程序設計基本概念一、模塊程序設計的基本概念一個復雜程序可以分成若干個模塊,可由不同人員分頭完成.每個模塊的任務明確,便于理解.單個模塊易于編寫和調試.便于程序的維護和修改.可以直接利用已有的模塊..10.1模塊化程序設計基本概念一、模塊程序設計的基本概念一20使用模塊化編程技術的處理過程大致如下:
1、首先將一個大的源程序根據其功能合理地劃分成若干個小的源程序,每個小源程序均以程序文件(.C)的形式保存在磁盤上。并建立一個包括各個源程序模塊的文件名的工程文件(.prj)。
2、然后用編譯器進行編譯,將工程文件中指定的多個源程序文件進行編譯,生成多個目標文件和一個可執(zhí)行文件。注意,在分模塊單獨編譯處理的各個程序模塊中,必須有且只有一個主函數main()。
二、模塊化程序組織
.使用模塊化編程技術的處理過程大致如下:二、模塊化程序組織.21三、模塊化程序中模塊間的通信1、使用外部變量即一個程序文件file1.c中定義一個外部變量,另一個程序文件file2.c中的函數可以通過外部變量說明后來使用這個變量,以實現模塊間的通信。說明形式:extern類型說明符外部變量名;注意:只是進行了說明,并不是變量定義。.三、模塊化程序中模塊間的通信1、使用外部變量.222、舉例利用外部變量實現程序模塊file1.c與程序模塊file2.c之間的通信。設程序模塊文件file1.c的內容如下:
#include<stdio.h>intn=2;/*定義n為全局變量*/main(){printf(“%d”,n);proc1();printf(“%d\n”,n);}程序模塊文件file2.c的內容如下:externintn;/*說明n為外部變量*/proc1(){n=10;}程序編譯連接生成可執(zhí)行文件,執(zhí)行結果為:
210.2、舉例.23四、預處理命令#include的應用1、#include命令經過預處理后,會將其后有關文件的內容拷貝到命令所在的源程序文件中。2、在上一個例子中,程序要能夠編譯運行,需建立一個工程文件file.prj,其內容為:
file1.cfile2.c然后對file.prj文件編譯運行即可。3、也可以在file1.c文件開頭加一預處理命令:#include<stdio.h>#include<file2.c>intn=2;main(){……}對file1.c文件直接編譯運行即可。.四、預處理命令#include的應用1、#include命令24模塊化程序設計開發(fā)步驟討論以c語言程序模塊化設計小規(guī)模軟件開發(fā)的一般步驟:1、通過與最終用戶的交流,明確軟件應達到的功能,寫出相應的“功能說明”。2、根據“功能說明”,確定存放有關數據的數據結構。3、根據數據結構確定算法。4、根據數據結構和算法,采用某種計算機語言編寫的程序源代碼。5、對程序進行調試和測試。6、最后整理出有關的文檔資料。.模塊化程序設計開發(fā)步驟討論以c語言程序模塊化設計小規(guī)模軟件開2510.3模塊化程序設計的基本編輯要求1、基本要求程序結構清晰,簡單易懂,單個函數的程序行數不得超過100行。打算干什么,要簡單,直截了當,代碼精簡,避免垃圾程序。
盡量使用標準庫函數和公共函數。
不要隨意定義全局變量,盡量使用局部變量。使用括號以避免二義性。
.10.3模塊化程序設計的基本編輯要求1、基本要求.262、可讀性要求
可讀性第一,效率第二。
保持注釋與代碼完全一致。
每個源程序文件,都有文件頭說明,說明規(guī)格見規(guī)范。
每個函數,都有函數頭說明,說明規(guī)格見規(guī)范。
主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。
常量定義(DEFINE)有相應說明。
處理過程的每個階段都有相關注釋說明。
在典型算法前都有注釋。
利用縮進來顯示程序的邏輯結構,縮進量一致并以Tab鍵為單位,定義Tab為
6個
字節(jié)。
循環(huán)、分支層次不要超過五層。
注釋可以與語句在同一行,也可以在上行。
空行和空白字符也是一種特殊注釋。
一目了然的語句不加注釋。注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。
注釋行數(不包括程序頭和函數頭說明部份)應占總行數的
1/5
到
1/3
。.2、可讀性要求
.273、
結構化要求
禁止出現兩條等價的支路。
禁止GOTO語句。
用
IF
語句來強調只執(zhí)行兩組語句中的一組。禁止
ELSE
GOTO
和
ELSE
RETURN。
用
CASE
實現多路分支。
避免從循環(huán)引出多個出口。
函數只有一個出口。
不使用條件賦值語句。
避免不必要的分支。
不要輕易用條件分支去替換邏輯表達式。
.3、
結構化要求
.284、
正確性與容錯性要求
程序首先是正確,其次是優(yōu)美。
無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應先回頭檢查。
改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。
所有變量在調用前必須被初始化。
對所有的用戶輸入,必須進行合法性檢查。
不要比較浮點數的相等,如:10.0
*
0.1
==
1.0
,不可靠程序與環(huán)境或狀態(tài)發(fā)生關系時,必須主動去處理發(fā)生的意外事件,如文件能否邏輯鎖定、打印機是否聯機等。
單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。
.4、
正確性與容錯性要求
.2910.4綜合實例一、綜合實例內容用C語言編寫一個簡單的成績管理系統(tǒng)。要求數據以記錄的形式,存放在數據文件中。每條記錄包含:學號;姓名;性別;三科成績;平均成績。在菜單驅動下,能對數據文件進行改(modify)、顯示(display)、增(insert)、刪(del)、排序(sort)等操作。
.10.4綜合實例一、綜合實例內容.30二、基本要求和設計步驟設計程序之前,要求給出分析過程。在分析的基礎上,完成總體設計方案。依據總體方案,詳細設計各子模塊,并完成程序源代碼的編輯。完成程序調試。編寫程序文檔,包括用戶文檔和技術文檔。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農副產品購銷示范合同
- 簽訂的門面租賃合同條款解析
- 建筑項目施工合同管理人員聘用合同
- 炒股合作經典合同案例
- 車輛采購合同細則
- 國際物流服務合同專業(yè)版詳解
- 農村土地流轉授權合同書
- 城市房屋拆遷補償安置標準合同樣本
- 鋼材買賣合同(示范文本GF-0155)
- 委托代理合同(普通1)
- 骶髂關節(jié)損傷郭倩課件
- 內科學疾病概要-支氣管擴張課件
- 2025陜西渭南光明電力集團限公司招聘39人易考易錯模擬試題(共500題)試卷后附參考答案
- 教學課件-電力系統(tǒng)的MATLAB-SIMULINK仿真與應用(王晶)
- 2024年南京旅游職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 《電商直播》 課件 項目一 走入電商直播
- 《中國宮腔鏡診斷與手術臨床實踐指南(2023版)》解讀課件
- 中藥學電子版教材
- GB/T 9535-1998地面用晶體硅光伏組件設計鑒定和定型
- 建筑公司項目部績效考核管理制度
- 中藥知識文庫:天麻形態(tài)學
評論
0/150
提交評論