




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第一部分 C程序上機指南第1章 VC環(huán)境下C程序的開發(fā)與調(diào)試開發(fā)C語言程序,一般包括四步:(1)編輯??梢杂萌魏我环N編輯軟件將在紙上編寫好的C語言程序輸入計算機,并將C語言源程序文件*.c以純文本文件形式保存在計算機的磁盤上(不能設置字體、字號等)。(2)編譯。編譯過程使用C語言編譯程序?qū)⒕庉嫼玫脑闯绦蛭募?.c”翻譯成二進制目標代碼文件“*.obj”。編譯程序?qū)υ闯绦蛑鹁錂z查語法錯誤,發(fā)現(xiàn)錯誤后,不僅會顯示錯誤的位置(行號),還會告知錯誤類型信息。我們需要再次回到編輯軟件修改源程序的錯誤,然后,再進行編譯,直至排除所有語法和語義錯誤。(3)連接。程序編譯后產(chǎn)生的目標文件是可重定位的程序模塊
2、,不能直接運行。連接將編譯生成的各個目標程序模塊和系統(tǒng)或第三方提供的庫函數(shù)“*.lib”連接在一起,生成可以脫離開發(fā)環(huán)境、直接在操作系統(tǒng)下運行的可執(zhí)行文件“*.exe”。(4)運行程序。如果經(jīng)過測試,運行可執(zhí)行文件達到預期設計目的,這個C語言程序的開發(fā)工作便到此完成了。如果運行出錯,這說明程序處理的邏輯存在問題,需要再次回到編輯環(huán)境針對程序出現(xiàn)的邏輯錯誤進一步檢查、修改源程序,重復編輯編譯連接運行的過程,直到取得預期結果為止。1.1 Visual C+ 6.0開發(fā)環(huán)境介紹Visual C+ 6.0(以后簡稱VC)是Microsoft公司推出的可視化開發(fā)環(huán)境Developer Studio下的一
3、個組件,為我們提供了一個集程序創(chuàng)建、編輯、編譯、調(diào)試等諸多工作于一體的集成開發(fā)環(huán)境(IDE)。VC集成開發(fā)環(huán)境功能強大,不僅提供了大量的向?qū)В╓izard ),還有完備的幫助功能(MSDN)。所以,初學者學習C語言編程,并不需要全面了解開發(fā)環(huán)境的全部功能。我們可以在安裝VC時選擇完全安裝MSDN,然后在遇到問題時再去查閱MSDN中的相關說明。通過“開始”菜單或桌面快捷方式啟動Visual C+進入集成開發(fā)環(huán)境,如圖1-1所示。圖1-1 Visual C+界面跟大多數(shù)的 Windows 應用程序一樣,Visual C+最上面是菜單,然后是工具欄,中央是工作區(qū)(左側窗口是項目工作區(qū),C程序員可以在
4、ClassView頁的Globals全局選項里查看到正在開發(fā)的全局變量和全局函數(shù),右側窗口是編輯窗口,可以同時對多個文擋進行編輯)。最下面狀態(tài)欄上面的窗口是輸出窗口,主要用于顯示編譯、連接信息和錯誤提示,我們可以雙擊錯誤提示行,VC會在編輯窗口內(nèi)打開出錯代碼所在的源程序文件,并將光標快速定位到出錯行上。 在編輯窗口內(nèi)輸入、編輯程序源代碼時,源代碼會顯示"語法著色"。在缺省情況下,代碼為黑色,夾以綠色的注 釋和藍色的關鍵字(指VC所保留的public、private、new和int等等)。我們還可以通過Tools菜單下的Options對話框中的Format選 項卡進一步設置指
5、定顏色。 項目開發(fā)一個應用程序,往往會有很多源程序文件、菜單、圖標、圖片等資源,VC通過“項目”管理上述資源。所以,在開始開發(fā)C程序時,我們就要在一個指定文件夾內(nèi)創(chuàng)建一個以.DSW為擴展名的項目工作區(qū)文件,包含項目中所有文件的名稱、 文件所在目錄、編譯器和連接器的選項以及項目工作的其他信息;此外還有以.DSP為擴展名的項目記錄文件,以.OPT為擴展名的工作區(qū)選項文件(包含Developer Studio的所有個人設置 - 包括顏色、字體、工具欄、哪個文件被打開以及MDI窗口如何被定位和最新調(diào)試中的斷點)等。在打開項目工作區(qū)文件時其他文件隨即會自動打開。在此文件夾下還會創(chuàng)建Res(資源)、Deb
6、ug(調(diào)試)、Release(發(fā)行)等子文件夾。 編輯在編輯窗口打開、瀏覽文件、輸入、修改、復制、剪切、粘貼、查找、替換、撤銷等操作,可以通過菜單完成,也可以通過工具欄按鈕完成,這些與Word之類的windows編輯器用法完全相同,這里就不再重復敘述了。 輔助VC不僅提供了“語法著色”幫助我們閱讀程序,還可以通過一些快捷鍵檢查常見的括號不匹配錯誤。MSDN也可以在編輯過程中提示存在的變量名、函數(shù)名。很多程序員借助類似Visual Assist X的工具輔助開發(fā),減少程序出錯的可能性。1.2 開發(fā)C程序 開發(fā)單個C語言程序1. 創(chuàng)建一個工作文件夾。由于開發(fā)過程會產(chǎn)生一系列文件,建議每開發(fā)一個新的
7、C程序都創(chuàng)建一個工作文件夾。還可以將所有工作文件夾集中到一起,如E:LXHEX01-01、E:LXHEX03-02等。2. 啟動 Visual C+。3. 新建一個C語言源程序。選擇菜單:File下的New菜單項,出現(xiàn)如圖1-2所示new(新建)對話框。圖1-2 選擇菜單File下的New菜單項選擇Files標簽下的C+ Source File在“E:LXHEG01-01”文件夾中創(chuàng)建C程序:eg01-01.c,如圖1-3所示。圖1-3 Files標簽4. 輸入、編輯源程序。注意不要輸入中文標點符號,要及時按Ctrl+S 保存文件,如圖1-4所示。編譯圖1-4 輸入源程序5. 編譯、連接。點擊
8、“Build MiniBar”工具欄上的“Build”按鈕進行編譯、連接。也可以選擇菜單Build下的Build (F7) 菜單項或Rebuild All菜單項。更簡捷的方法是直接按F7功能鍵。Visual C+將提示創(chuàng)建默認工作區(qū),如圖1-5所示。圖1-5 創(chuàng)建默認工作區(qū)點擊“是”按鈕。如果編譯完全成功,會顯示 "0 error(s), 0 warning(s)"。如果出現(xiàn)語法錯誤,則要返回4修改源程序。然后,再進行編譯,直至排除所有錯誤。6. 運行。點擊“Build MiniBar”工具欄上的“Execute Program”按鈕運行程序。也可以選擇菜單Build下的E
9、xecute eg01-01.exe菜單項。更簡捷的方法是直接按功能鍵CtrlF5運行程序。若運行結果正確,則C語言程序的開發(fā)工作到此完成。否則,要針對程序出現(xiàn)的邏輯錯誤返回4修改源程序,重復編譯連接運行的過程,直到取得預期結果為止。7. 關閉。如果不退出Visual C+,接著開發(fā)下一個C程序,需要先選擇菜單File下的close workspace菜單項關閉當前工作區(qū),然后再按照1-7步驟開發(fā)下一個C程序。 添加多個C語言源程序在用C語言開發(fā)應用程序時,往往會使用多個C語言源程序(詳見教材第六章函數(shù))。現(xiàn)有C語言源程序文件“sayhello.c”:#include <stdio.h&
10、gt;void sayhello(void)printf("hellon");將其添加到“eg01-01.c”的步驟如下:首先打開“eg01-01.dsw”,點擊項目工作區(qū)ClassView頁的Globals選項,選擇菜單Project下的“Add To Project”菜單項的“Files”圖1-6 添加多個源程序文件然后在“Insert Files into Project”對話框中選取“sayhello.c”:圖1-7 選擇欲添加的源程序文件再在main()函數(shù)中添加子函數(shù)說明和調(diào)用:圖1-8 添加子函數(shù)說明和調(diào)用程序運行結果如圖1-9所示:圖1-9 程序運行結果1.
11、3 調(diào)試C程序初學C語言程序設計,往往一看到自己編的程序出現(xiàn)錯誤就不知所措了。有些同學上機時,只要程序能夠順利運行,就認為大功告成,根本沒想到程序還存在某些隱患。要想不犯或少犯錯誤,就需要了解C語言程序設計的錯誤類型和糾正方法。C語言程序設計的錯誤可分為語法錯誤、連接錯誤、邏輯錯誤和運行錯誤。1. 語法錯誤:在編寫程序時違反了C語言的語法規(guī)定。語法不正確、關鍵詞拼錯、標點漏寫、數(shù)據(jù)運算類型不匹配、括號不配對等都屬于語法錯誤,在進入程序編譯階段,編譯系統(tǒng)會給出出錯行和相應“出錯信息”(詳見教材的第十章和附錄)。我們可以雙擊錯誤提示行,將光標快速定位到出錯代碼所在的出錯行上。根據(jù)錯誤提示修改源程序
12、,排除錯誤。2. 連接錯誤:如果使用了錯誤的函數(shù)調(diào)用,比如書寫了錯誤的函數(shù)名或不存在的函數(shù)名,編譯系統(tǒng)在對其進行連接時便會發(fā)現(xiàn)這一錯誤。糾正方法同1。3. 邏輯錯誤:雖然程序不存在上述兩種錯誤,但程序運行結果就是與預期效果不符。邏輯錯誤往往是因為程序采用的算法有問題,或編寫的程序邏輯與算法不完全吻合。邏輯錯誤比語法錯誤更難排除,需要程序員對程序逐步調(diào)試,檢測循環(huán)、分支調(diào)用是否正確,變量值是否按照預期產(chǎn)生變化。4. 運行錯誤:程序不存在上述錯誤,但運行結果時對時錯。運行錯誤往往是由于程序的容錯性不高,可能在設計時僅考慮了一部分數(shù)據(jù)的情況,對于其他數(shù)據(jù)就不能適用了。例如打開文件時沒有檢測打開是否成
13、功就開始對文件進行讀寫,結果程序運行時,如果文件能夠順利打開,程序運行正確,反之則程序運行出錯。要避免這種類型的錯誤,需要對程序反復測試,完備算法,使程序能夠適應各種情況的數(shù)據(jù)。為了方便程序員排除程序中的邏輯錯誤,VC提供了強大的調(diào)試功能。每當我們創(chuàng)建一個新的VC工程項目時,默認狀態(tài)就是Debug(調(diào)試)版本。調(diào)試版本會執(zhí)行編譯命令_D_DEBUG,將頭文件的調(diào)試語句ifdef分支代碼添加到可執(zhí)行文件中;同時加入的調(diào)試信息可以讓開發(fā)人員觀察變量,單步執(zhí)行程序。由于調(diào)試版本包含了大量信息,所以生成的Debug版本可執(zhí)行文件容量會遠遠大于Release(發(fā)行)版本。 設置斷點VC可以在程序中設置斷
14、點,跟蹤程序?qū)嶋H執(zhí)行流程。設置斷點后,可以按“F5”功能鍵啟動Debug模式,程序會在斷點處停止。我們可以接著單步執(zhí)行程序,觀察各變量的值如何變化,確認程序是否按照設想的方式運行。設置斷點的方法是:將光標停在要被暫停的那一行,選擇“Build MiniBar”工具欄按鈕“Insert/Remove Breakpoint (F9)”按鈕添加斷點,如圖1-10所示,斷點所在代碼行的最左邊出現(xiàn)了一個深紅色的實心圓點,這表示斷點設置成功。圖1-10 設置斷點如果該行已經(jīng)設置了斷點,那么再次按“F9”功能鍵會清除該斷點。 調(diào)試命令我們也可以在VC“Build”(組建)菜單下的“Start Debug”(
15、開始調(diào)試)中點擊Go(F5)命令進入調(diào)試狀態(tài),Build菜單自動變成Debug菜單,提供以下專用的調(diào)試命令:Go(F5)從當前語句開始運行程序,直到程序結束或斷點處。Step Into(F11)單步執(zhí)行下條語句,并跟蹤遇到的函數(shù)。Step Over(F10)單步執(zhí)行(跳過所調(diào)用的函數(shù))Run to Cursor(Ctrl+F10)運行程序到光標所在的代碼行。Step out(Shift+F11)執(zhí)行函數(shù)調(diào)用外的語句,并終止在函數(shù)調(diào)用語句處。Stop Debugging(Shift+F5)停止調(diào)試,返回正常的編輯狀態(tài)必須在運行程序時用Go命令(而不是Execute)才能啟動調(diào)試模式。在調(diào)試模式下
16、,程序停止在某條語句,該條語句左邊就會出現(xiàn)一個黃色的小箭頭。我們隨時中斷程序、單步執(zhí)行、查看變量、檢查調(diào)用情況。比如,按“F5”功能鍵進入調(diào)試模式,程序運行到斷點處暫停;不斷按“F10”功能鍵,接著一行一行地執(zhí)行程序,直到程序運行結束。需要說明的是,如果希望能一句一句地單步調(diào)試程序,在編寫程序時就必須一行只寫一條語句。 察看變量單步調(diào)試程序的過程中,我們可以在下方的Variables (變量)子窗口和Watch(監(jiān)視) 子窗口中動態(tài)地察看變量的值,如圖1-11所示。Variables 子窗口中自動顯示當前運行上下文中的各個變量的值變量,而Watch子窗口內(nèi)只顯示在此Watch子窗口輸入的變量或
17、表達式的值。隨著程序的逐步運行,也可以直接用鼠標指向程序中變量查看其值。例如在圖1-11中,我們可以清楚地看到,程序已經(jīng)為自動型變量first、second、big分配了內(nèi)存,但它們的初始值是隨機的。圖1-11 察看變量Variables子窗口有3個選項卡:Auto、Locals和This。Auto選項卡:顯示出當前語句和上一條語句使用的變量,它還顯示使用Step over或Step out命令后函數(shù)的返回值。Locals選項卡:顯示出當前函數(shù)使用的局部變量。This選項卡: 顯示出由This所指向的對象(C語言不用this)。如果變量較多,自動顯示的Variables窗口難以查看時,還可以在右邊的Watch子窗口中添加想要監(jiān)控的變量名。例如,圖1-11在Watch1子窗口中添加了變量“first”。我們還可以直接將變量拖動到Watch子窗口的空白Name框中。添加結束后,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護士臨床技能測試試題及答案
- 精準備考2025年文化概論試題及答案
- 提升記憶力的學習策略執(zhí)業(yè)醫(yī)師考試試題及答案
- 行政管理中中華文化的核心價值試題及答案
- 中國文化概論與環(huán)境保護的關系試題及答案
- 藥品管理法對藥師考試的影響試題及答案
- 行政管理2025年研究方法試題及答案
- 2025年自考行政管理社會服務創(chuàng)新試題答案
- 正確認識執(zhí)業(yè)藥師的考試試題及答案
- 2025年執(zhí)業(yè)藥師的綜合素質(zhì)培養(yǎng)試題及答案
- 四川省資陽市樂至縣2025年三年級數(shù)學第二學期期末達標檢測試題含解析
- 2025-2030中國城市規(guī)劃行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報告
- 2025年全國焊工作業(yè)人員職業(yè)技能理論考試練習題庫(900題)含答案
- 道岔區(qū)無砟軌道我國高速鐵路道岔區(qū)采用的無砟軌道主要有長枕埋
- 《行政法與行政訴訟法》課件各章節(jié)內(nèi)容-第二十六章 行政賠償及訴訟
- 【9物一模】2025年安徽省合肥市45中(橡樹灣)中考一模物理試卷
- 計算機系統(tǒng)規(guī)劃與管理考試內(nèi)容試題及答案
- 藥店質(zhì)量負責人聘用合同范例二零二五年
- 反三違安全知識培訓課件
- 短視頻營銷實踐試題及答案
- 安置房轉(zhuǎn)讓正式合同范本
評論
0/150
提交評論