一、Turbo C程序設(shè)計(jì)基本步驟
程序設(shè)計(jì)方法包括三個(gè)基本步驟:
第一步: 分析問題。
第二步: 畫出程序的基本輪廓。
第三步: 實(shí)現(xiàn)該程序。
3a. 編寫程序
3b. 測試和調(diào)試程序
3c. 提供數(shù)據(jù)打印結(jié)果
下面, 我們來說明每一步的具體細(xì)節(jié)。
第一步: 分析問題
在這一步, 你必須:
a. 作為解決問題的一種方法, 確定要產(chǎn)生的數(shù)據(jù)(輸出)。作為這一子步的一部分, 你應(yīng)定義表示輸出的變量。
b. 確定需產(chǎn)生輸出的數(shù)據(jù)(稱為輸入), 作為這一子步的一部分, 你應(yīng)定義表示輸入的變量。
c. 研制一種算法, 從有限步的輸入中獲取輸出。 這種算法定義為結(jié)構(gòu)化的順序操作, 以便在有限步內(nèi)解決問題。就數(shù)字問題而言, 這種算法包括獲取輸出的計(jì)算, 但對非數(shù)字問題來說, 這種算法包括許多文本和圖象處理操作。
第二步: 畫出程序的基本輪廓
在這一步, 你要用一些句子(偽代碼)來畫出程序的基本輪廓。每個(gè)句子對應(yīng)一個(gè)簡單的程序操作。對一個(gè)簡單的程序來說, 通過列出程序順序執(zhí)行的動作,便可直接產(chǎn)生偽代碼。然而, 對復(fù)雜一些的程序來說, 則需要將大致過程有條理地進(jìn)行組織。對此, 應(yīng)使用自上而下的設(shè)計(jì)方法。
當(dāng)使用自上而下的設(shè)計(jì)方法時(shí), 你要把程序分割成幾段來完成。列出每段要實(shí)現(xiàn)的任務(wù), 程序的輪廓也就有了, 這稱之為主模塊。當(dāng)一項(xiàng)任務(wù)列在主模塊時(shí), 僅用其名加以標(biāo)識, 并未指出該任務(wù)將如何完成。這方面的內(nèi)容留給程序設(shè)計(jì)的下一階段來討論。將程序分為幾項(xiàng)任務(wù)只是對程序的初步設(shè)計(jì)。整個(gè)程序設(shè)計(jì)歸結(jié)為下圖所示的流程圖1.。
如果把主模塊的每項(xiàng)任務(wù)擴(kuò)展成一個(gè)模塊, 并根據(jù)子任務(wù)進(jìn)行定義的話, 那么, 程序設(shè)計(jì)就更為詳細(xì)了(見圖2.)。這些模塊稱為主模塊的子模塊。程序中許多子模塊之間的關(guān)系可象圖2.中那樣歸結(jié)為一張圖。這種圖稱為結(jié)構(gòu)圖。
要畫出模塊的輪廓, 你可不考慮細(xì)節(jié)。如果這樣的話, 你必須使用子模塊,將各個(gè)模塊求精, 達(dá)到第三級設(shè)計(jì)。繼續(xù)這一過程, 直至說明程序的全部細(xì)節(jié)。這一級一級的設(shè)計(jì)過程稱為逐步求精法。在編寫程序之前, 對你的程序進(jìn)行逐步求精, 對你來說, 是很好的程序設(shè)計(jì)實(shí)踐, 會使你養(yǎng)成良好的設(shè)計(jì)習(xí)慣。
我們則才描述了程序設(shè)計(jì)中自上而下的設(shè)計(jì)方法。實(shí)際上就是說, 我們設(shè)計(jì)程序是從程序的"頂部"開始一直考慮到程序的"底部"。
第三步: 實(shí)現(xiàn)該程序
程序設(shè)計(jì)的最后一步是編寫源碼程序。 在這一步, 把模塊的偽代碼翻譯成Turbo C語句。
對于源程序, 你應(yīng)包含注釋方式的文件編制, 以描述程序各個(gè)部分做何種工作。此外, 源程序還應(yīng)包含調(diào)試程序段, 以測試程序的運(yùn)行情況, 并允許查找編程錯(cuò)誤。一旦程序運(yùn)行情況良好, 可去掉調(diào)試程序段, 然而, 文件編制應(yīng)做為源程序的固定部分保留下來, 便于你或其他人維護(hù)和修改。
二、源程序的輸入、編譯和運(yùn)行
C語言是一種中級語言, 用戶用C語言編寫的程序稱為源程序, 存放用C 語言所寫源程序文件名字最后的兩個(gè)字符一般必須為".c"。計(jì)算機(jī)硬件不能直接執(zhí)行源程序, 必須將源程序翻譯成二進(jìn)制目標(biāo)程序。翻譯工作是由一個(gè)程序完成的,這個(gè)程序稱為編譯程序, 翻譯的過程稱為編譯, 編譯的結(jié)果稱為目標(biāo)程序, 存放目標(biāo)程序文件名字緊后的字符一般為".OBJ"或".O"。程序翻譯成目標(biāo)程序后, 便可進(jìn)行連接。"連接"的目的是使程序變成在計(jì)算機(jī)上可以執(zhí)行的最終形式。在這一階段, 從系統(tǒng)程序庫來的程序要與目標(biāo)程序連接, 連接的結(jié)果稱為執(zhí)行程序, 存放執(zhí)行程序文件名字一般以".EXE"結(jié)尾。
在Turbo C集成開發(fā)環(huán)境中建立一個(gè)新程序通常有以下幾個(gè)步驟:
(1). 在編輯器中編寫源文件。
(2). 生成可執(zhí)行文件。
在DOS提示符下鍵入TC, 即可進(jìn)入Turbo C了。進(jìn)入主TC屏后, 按F3鍵, 即可在隨之出現(xiàn)的框中輸入文件名, 文件名可以帶".C"也可以不帶( 此時(shí)系統(tǒng)會自動加上)。輸入文件名后, 按回車, 即可將文件調(diào)入, 如果文件不存在, 就建立一個(gè)新文件(也可用下面例子中的方法輸入文件名)。系統(tǒng)隨之進(jìn)入編輯狀態(tài)。就可以輸入或修改源程序了, 源程序輸入或修改完畢以后, 按Ctrl+F9(同時(shí)按下Ctrl鍵和F9鍵), 則立即進(jìn)行編譯、連接和執(zhí)行, 這三項(xiàng)工作是連續(xù)完成的。
下面我們試著建立一個(gè)Turbo C名為"HELLO.C"的源程序(因程序很小, 這里就不畫出該程序的輪廓圖了):
1. 操作步驟:
(1). 將系統(tǒng)置于DOS提示符下:
(2). 鍵入命令:
tc hello.c
使系統(tǒng)進(jìn)入Turbo C集成開發(fā)環(huán)境, 并建立一個(gè)名為HELLO.C的文件。這時(shí), 系統(tǒng)進(jìn)入Turbo C編輯環(huán)境。
(3). 通過鍵盤輸入程序, 例如:
main()
{
printf("Hello, world\n");
}
則程序進(jìn)入計(jì)算機(jī)存貯器。
2. 程序存盤
為防止意外事故丟失程序, 最好將輸入的程序存貯到磁盤中。在編輯窗口下,可直接按F2鍵或按F10鍵, 再按F鍵進(jìn)入File菜單項(xiàng), 再按S或W鍵將文件存盤。存盤時(shí)屏幕最底行會顯示:
"saving edit file"
3. 編譯一個(gè)程序
對源程序進(jìn)行編譯有兩種方法: (1). 直接按Alt+F9即可。(2). 按F10 鍵返回主菜單, 選擇Compile項(xiàng), 屏幕顯示Compile 下拉菜單, 從下拉菜單中選擇Compile to .OBJ項(xiàng), 按回車鍵。
進(jìn)入編譯狀態(tài)后, 屏幕會出現(xiàn)一個(gè)編譯窗口, 幾秒鐘后, 屏幕顯示一閃爍信息:
Success: press any key
表示編譯成功。此時(shí)可按任意鍵, 編譯窗口消失, 光標(biāo)返回主菜單。
如果編譯時(shí)產(chǎn)生警告Warning或出錯(cuò)Error信息, 這些具體錯(cuò)誤信息會顯示在屏幕下部的信息窗中, 必須糾正這些錯(cuò)誤。對源程序進(jìn)行修改, 重新進(jìn)行編譯。
4. 運(yùn)行程序
源程序經(jīng)編譯無誤后, 可以投入運(yùn)行。具體操作如下:
(1). 如果當(dāng)前還在編輯狀態(tài), 可按Alt+R, 再選擇RUN項(xiàng)即可。
(2). 按Ctrl+F9。
程序投入運(yùn)行時(shí), 屏幕會出現(xiàn)一個(gè)連接窗口, 顯示Turbo C 正在連接和程序所需的庫函數(shù)。連接完畢后, 會出現(xiàn)屏幕突然一閃, 后又回到TC主屏幕, 發(fā)生了什么? 讓我們按Alt+F5看看, 此時(shí)屏幕被清除, 在頂部顯示"Hello, world"字樣。
再按任意鍵, 即可又回到TC主屏幕。
5. 列磁盤文件目錄
現(xiàn)在請按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
...
第一個(gè)文件HELLO.C是源文件文本, 在DOS提示符下鍵入TYPE HELLO.C命令,可在屏幕上顯示該文件的內(nèi)容?煽吹皆摮绦蛑挥42個(gè)字節(jié)。
第二個(gè)文件HELLO.OBJ是Turbo C編擇程序產(chǎn)生的二進(jìn)制機(jī)器指令(目標(biāo)碼), 如果用DOS命令TYPE顯示該文件, 屏幕可能會出現(xiàn)混亂的信息。
第三個(gè)文件HELLO.EXE是Turbo C連接程序產(chǎn)生的實(shí)際可執(zhí)行文件。在DOS 提示符下鍵入HELLO并按回車, 屏幕將顯示"Hello, world"。
Turbo C 常用的編輯命令
Turbo C編輯程序大約有50條命令, 用以移動光標(biāo), 按頁查看正文, 查找并替換字符串等。如下表所示。
表1. Turbo C編輯程序命令
━━━┳━━━━━━━━━┳━━━━━━━━━━━━━
類別 ┃ 功能 ┃ 默認(rèn)鍵
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 字符左 ┃ Ctrl+S或Left
基 ┃ 字符右 ┃ Ctrl+D或Right
本 ┃ 字左 ┃ Ctrl+A
光 ┃ 字右 ┃ Ctrl+F
標(biāo) ┃ 上行 ┃ Ctrl+E或Up
移 ┃ 下行 ┃ Ctrl+X或Down
動 ┃ 上滾 ┃ Ctrl+W
命 ┃ 下滾 ┃ Ctrl+Z
令 ┃ 上一頁 ┃ Ctrl+R或PgUp
┃ 下一頁 ┃ Ctrl+C或PgDn
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
快 ┃ 行頭 ┃ Ctrl+QS或Home
速 ┃ 行尾 ┃ Ctrl+QD或End
光 ┃ 窗口頭 ┃ Ctrl+QE
標(biāo) ┃ 窗口底 ┃ Ctrl+QX
移 ┃ 文件頭 ┃ Ctrl+QR
動 ┃ 文件尾 ┃ Ctrl+QC
命 ┃ 塊頭 ┃ Ctrl+QB
令 ┃ 塊尾 ┃ Ctrl+QK
┃ 上次光標(biāo)位置 ┃ Ctrl+QP
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
輸 ┃ 插入模式 ┃ Ctrl+V或Ins
入 ┃ 插入行 ┃ Ctrl+N
與 ┃ 刪除行 ┃ Ctrl+Y
刪 ┃ 刪除至行尾 ┃ Ctrl+QY
除 ┃ 刪除光標(biāo)左邊字符┃ Ctrl+H或Backspace
命 ┃ 刪除光標(biāo)處字符 ┃ Ctrl+G或Del
令 ┃ 刪除光標(biāo)右邊字符┃ Ctrl+T
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 標(biāo)記塊首 ┃ Ctrl+KB
┃ 標(biāo)記塊尾 ┃ Ctrl+KK
┃ 標(biāo)記單個(gè)字 ┃ Ctrl+KT
塊 ┃ 復(fù)制塊 ┃ Ctrl+KC
命 ┃ 刪除塊 ┃ Ctrl+KY
令 ┃ 塊取消 ┃ Ctrl+KH
┃ 塊移動 ┃ Ctrl+KV
┃ 讀塊 ┃ Ctrl+KR
┃ 寫塊 ┃ Ctrl+KW
━━━╋━━━━━━━━━╋━━━━━━━━━━━━━
┃ 異常結(jié)束操作 ┃ Ctrl+U或Ctrl+Break
┃ 制表 ┃ Ctrl+L或Tab
其 ┃ 自動縮進(jìn) ┃ Ctrl+OI
┃ 定界符配對 ┃ Ctrl+Q[或Ctrl+Q]
它 ┃ 查找 ┃ Ctrl+QF
┃ 查找并替換 ┃ Ctrl+QA
┃ 查找標(biāo)記 ┃ Ctrl+QN
┃ 退出編輯 ┃ Ctrl+KQ
━━━┻━━━━━━━━━┻━━━━━━━━━━━━━
相關(guān)推薦:計(jì)算機(jī)等考二級C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |