C語言程式設計基本步驟
一、Turbo C程式設計基本步驟
程式設計方法包括三個基本步驟:
第一步: 分析問題。
第二步: 畫出程式的基本輪廓。
第三步: 實現該程式。
3a. 編寫程式
3b. 測試和除錯程式
3c. 提供資料列印結果
下面, 我們來說明每一步的具體細節。
第一步: 分析問題
在這一步, 你必須:
a. 作為解決問題的一種方法, 確定要產生的資料(輸出)。 作為這一子步的
一部分, 你應定義表示輸出的變數。
b. 確定需產生輸出的資料(稱為輸入), 作為這一子步的一部分, 你應定義
表示輸入的變數。
c. 研製一種演算法, 從有限步的輸入中獲取輸出。 這種演算法定義為結構化的
順序操作, 以便在有限步內解決問題。就數字問題而言, 這種演算法包括獲取輸出
的計算, 但對非數字問題來說, 這種演算法包括許多文字和圖象處理操作。
第二步: 畫出程式的基本輪廓
在這一步, 你要用一些句子(虛擬碼)來畫出程式的基本輪廓。每個句子對應
一個簡單的程式操作。對一個簡單的程式來說, 通過列出程式順序執行的動作,
便可直接產生虛擬碼。然而, 對複雜一些的程式來說, 則需要將大致過程有條理
地進行組織。對此, 應使用自上而下的設計方法。
當使用自上而下的設計方法時, 你要把程式分割成幾段來完成。列出每段要
實現的任務, 程式的輪廓也就有了, 這稱之為主模組。當一項任務列在主模組時,
僅用其名加以標識, 並未指出該任務將如何完成。這方面的內容留給程式設計的
下一階段來討論。將程式分為幾項任務只是對程式的初步設計。整個程式設計歸
結為下圖所示的流程圖1.。
┏━━━━━━━━━━━━━━━┓
┃ 主模組 ┃
┏━━━━━━━┓ ┃ 輸入資料 ┃
┃ 主模組 ┃ ┃ 計算購房所需的金額 ┃
┃ ┃ ┃ 計算裝修所需的金額 ┃
┃ 任務1 ┃ ┃ 計算總金額 ┃
┃ 任務2 ┃ ┃ 輸出計算結果 ┃
┃ 任務3 ┃ ┃ ┃
┃ 任務4 ┃ ┗━━━━━━━┳━━━━━━━┛
┃ ┃ ┏━━━━━┳━━━━━╋━━━━┳━━━━━┓
┃ ┃ ┏━━┻━┓┏━━┻━┓┏━━┻━┓┏━┻━┓┏━━┻━┓
┗━━━━━━━┛ ┃輸入資料┃┃購房額..┃┃裝修額..┃┃總額..┃┃輸出結果┃
┗━━━━┛┗━━━━┛┗━━━━┛┗━━━┛┗━━━━┛
圖1. 程式初步設計 圖2. 第二級程式設計
如果把主模組的每項任務擴充套件成一個模組, 並根據子任務進行定義的話, 那
麼, 程式設計就更為詳細了(見圖2.)。這些模組稱為主模組的子模組。程式中許
多子模組之間的關係可象圖2.中那樣歸結為一張圖。這種圖稱為結構圖。
要畫出模組的輪廓, 你可不考慮細節。如果這樣的話, 你必須使用子模組,
將各個模組求精, 達到第三級設計。繼續這一過程, 直至說明程式的全部細節。
這一級一級的設計過程稱為逐步求精法。在編寫程式之前, 對你的程式進行逐步
求精, 對你來說, 是很好的程式設計實踐, 會使你養成良好的設計習慣。
我們則才描述了程式設計中自上而下的設計方法。實際上就是說, 我們設計
程式是從程式的"頂部"開始一直考慮到程式的"底部"。
第三步: 實現該程式
程式設計的最後一步是編寫原始碼程式。 在這一步, 把模組的虛擬碼翻譯成
Turbo C語句。
對於源程式, 你應包含註釋方式的檔案編制, 以描述程式各個部分做何種工
作。此外, 源程式還應包含除錯程式段, 以測試程式的執行情況, 並允許查詢編
程錯誤。一旦程式執行情況良好, 可去掉除錯程式段, 然而, 檔案編制應做為源
程式的固定部分保留下來, 便於你或其他人維護和修改。
二、源程式的輸入、編譯和執行
C語言是一種中級語言, 使用者用C語言編寫的程式稱為源程式, 存放用C 語言
所寫源程式檔名字最後的兩個字元一般必須為".c"。計算機硬體不能直接執行
源程式, 必須將源程式翻譯成二進位制目標程式。翻譯工作是由一個程式完成的,
這個程式稱為編譯程式, 翻譯的過程稱為編譯, 編譯的結果稱為目標程式, 存放
目標程式檔名字緊後的字元一般為".OBJ"或".O"。程式翻譯成目標程式後, 便
可進行連線。"連線"的目的是使程式變成在計算機上可以執行的最終形式。在這
一階段, 從系統程式庫來的程式要與目標程式連線, 連線的結果稱為執行程式,
存放執行程式檔名字一般以".EXE"結尾。
在Turbo C整合開發環境中建立一個新程式通常有以下幾個步驟:
(1). 在編輯器中編寫原始檔。
(2). 生成可執行檔案。
在DOS提示符下鍵入TC, 即可進入Turbo C了。進入主TC屏後, 按F3鍵, 即可
在隨之出現的框中輸入檔名, 檔名可以帶".C"也可以不帶( 此時系統會自動
加上)。輸入檔名後, 按回車, 即可將檔案調入, 如果檔案不存在, 就建立一
個新檔案(也可用下面例子中的方法輸入檔名)。系統隨之進入編輯狀態。就可
以輸入或修改源程式了, 源程式輸入或修改完畢以後, 按Ctrl+F9(同時按下Ctrl
鍵和F9鍵), 則立即進行編譯、連線和執行, 這三項工作是連續完成的。
下面我們試著建立一個Turbo C名為"HELLO.C"的源程式(因程式很小, 這裡就
不畫出該程式的輪廓圖了):
1. 操作步驟:
(1). 將系統置於DOS提示符下:
(2). 鍵入命令:
tc hello.c
使系統進入Turbo C整合開發環境, 並建立一個名為HELLO.C的檔案。這時, 系統
進入Turbo C編輯環境。
(3). 通過鍵盤輸入程式, 例如:
main()
{
printf("Hello, world/n");
}
則程式進入計算機存貯器。
2. 程式存檔
為防止意外事故丟失程式, 最好將輸入的程式存貯到磁碟中。在編輯視窗下,
可直接按F2鍵或按F10鍵, 再按F鍵進入File選單項, 再按S或W鍵將檔案存檔。存
盤時螢幕最底行會顯示:
"saving edit file"
3. 編譯一個程式
對源程式進行編譯有兩種方法: (1). 直接按Alt+F9即可。(2). 按F10 鍵返
回主選單, 選擇Compile項, 螢幕顯示Compile 下拉選單, 從下拉選單中選擇
Compile to .OBJ項, 按回車鍵。
進入編譯狀態後, 螢幕會出現一個編譯視窗, 幾秒鐘後, 螢幕顯示一閃爍信
息:
Success: press any key
表示編譯成功。此時可按任意鍵, 編譯視窗消失, 游標返回主選單。
如果編譯時產生警告Warning或出錯Error資訊, 這些具體錯誤資訊會顯示在
螢幕下部的資訊窗中, 必須糾正這些錯誤。對源程式進行修改, 重新進行編譯。
4. 執行程式
源程式經編譯無誤後, 可以投入執行。具體操作如下:
(1). 如果當前還在編輯狀態, 可按Alt+R, 再選擇RUN項即可。
(2). 按Ctrl+F9。
程式投入執行時, 螢幕會出現一個連線視窗, 顯示Turbo C 正在連線和程式
所需的庫函式。連線完畢後, 會出現螢幕突然一閃, 後又回到TC主螢幕, 發生了
什麼? 讓我們按Alt+F5看看, 此時螢幕被清除, 在頂部顯示"Hello, world"字樣。
再按任意鍵, 即可又回到TC主螢幕。
5. 列磁碟檔案目錄
現在請按Alt+X退出Turbo C, 返回DOS提示符, 鍵入dir hello.*, 回車, 則
螢幕顯示:
HELLO C 42 1-09-93 10:18
HELLO OBJ 221 1-09-93 10:22
HELLO EXE 4486 1-09-93 10:25
...
第一個檔案HELLO.C是原始檔文字, 在DOS提示符下鍵入TYPE HELLO.C命令,
可在螢幕上顯示該檔案的內容。可看到該程式只有42個位元組。
第二個檔案HELLO.OBJ是Turbo C編擇程式產生的二進位制機器指令(目標碼),
如果用DOS命令TYPE顯示該檔案, 螢幕可能會出現混亂的資訊。
第三個檔案HELLO.EXE是Turbo C連線程式產生的實際可執行檔案。在DOS 提
示符下鍵入HELLO並按回車, 螢幕將顯示"Hello, world"。
Turbo C 常用的編輯命令
Turbo C編輯程式大約有50條命令, 用以移動游標, 按頁檢視正文, 查詢並
替換字串等。如下表所示。
表1. Turbo C編輯程式命令
━━━┳━━━━━━━━━┳━━━━━━━━━━━━━
類別 ┃ 功能 ┃ 預設鍵
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 字元左 ┃ Ctrl+S或Left
基 ┃ 字元右 ┃ Ctrl+D或Right
本 ┃ 字左 ┃ Ctrl+A
光 ┃ 字右 ┃ Ctrl+F
標 ┃ 上行 ┃ Ctrl+E或Up
移 ┃ 下行 ┃ Ctrl+X或Down
動 ┃ 上滾 ┃ Ctrl+W
命 ┃ 下滾 ┃ Ctrl+Z
令 ┃ 上一頁 ┃ Ctrl+R或PgUp
┃ 下一頁 ┃ Ctrl+C或PgDn
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
快 ┃ 行頭 ┃ Ctrl+QS或Home
速 ┃ 行尾 ┃ Ctrl+QD或End
光 ┃ 視窗頭 ┃ Ctrl+QE
標 ┃ 視窗底 ┃ Ctrl+QX
移 ┃ 檔案頭 ┃ Ctrl+QR
動 ┃ 檔案尾 ┃ Ctrl+QC
命 ┃ 塊頭 ┃ Ctrl+QB
令 ┃ 塊尾 ┃ Ctrl+QK
┃ 上次游標位置 ┃ Ctrl+QP
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
輸 ┃ 插入模式 ┃ Ctrl+V或Ins
入 ┃ 插入行 ┃ Ctrl+N
與 ┃ 刪除行 ┃ Ctrl+Y
刪 ┃ 刪除至行尾 ┃ Ctrl+QY
除 ┃ 刪除游標左邊字元┃ Ctrl+H或Backspace
命 ┃ 刪除游標處字元 ┃ Ctrl+G或Del
令 ┃ 刪除游標右邊字元┃ Ctrl+T
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 標記塊首 ┃ Ctrl+KB
┃ 標記塊尾 ┃ Ctrl+KK
┃ 標記單個字 ┃ Ctrl+KT
塊 ┃ 複製塊 ┃ Ctrl+KC
命 ┃ 刪除塊 ┃ Ctrl+KY
令 ┃ 塊取消 ┃ Ctrl+KH
┃ 塊移動 ┃ Ctrl+KV
┃ 讀塊 ┃ Ctrl+KR
┃ 寫塊 ┃ Ctrl+KW
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 異常結束操作 ┃ Ctrl+U或Ctrl+Break
┃ 製表 ┃ Ctrl+L或Tab
其 ┃ 自動縮排 ┃ Ctrl+OI
┃ 定界符配對 ┃ Ctrl+Q[或Ctrl+Q]
它 ┃ 查詢 ┃ Ctrl+QF
┃ 查詢並替換 ┃ Ctrl+QA
┃ 查詢標記 ┃ Ctrl+QN
┃ 退出編輯 ┃ Ctrl+KQ
━━━┻━━━━━━━━━┻━━━━━━━━━━━━━