徐 媛
(淮北師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,安徽 淮北 235000)
C語(yǔ)言程序設(shè)計(jì)是一門實(shí)踐操作性很強(qiáng)的課程[1]。要學(xué)好C語(yǔ)言程序設(shè)計(jì)不僅要掌握好理論知識(shí),實(shí)驗(yàn)更不容忽視。通過(guò)上機(jī)實(shí)驗(yàn),不僅可幫助學(xué)生消化和鞏固課堂所學(xué)知識(shí),也可幫助學(xué)生驗(yàn)證學(xué)習(xí)中疑難問(wèn)題,更重要的是可激發(fā)和提高學(xué)生學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的興趣[4]。要提高實(shí)驗(yàn)課教學(xué)質(zhì)量,首先要學(xué)生熟悉C程序編輯調(diào)試環(huán)境,掌握編譯、連接及運(yùn)行程序的操作方法。而Visual C++6.0集成開發(fā)就是這樣的環(huán)境。
Visual C++6.0是微軟公司推出的目前使用極為廣泛的基于Windows平臺(tái)的可視化集成開發(fā)環(huán)境,下面介紹如何在VC++下開發(fā)、運(yùn)行C語(yǔ)言程序。
(1)啟動(dòng) VC++
“開始”->“程序”->“Microsoft Visual Studio 6.0”->“Microsoft Visual C++6.0”進(jìn)入 VC++編程環(huán)境。
(2)新建文件(*.cpp)
“文件”->“新建”,單擊“文件”選項(xiàng)卡,選擇“C++Source Files”,修改文件保存“目錄”和“文件”(文件名),單擊“確定”。
(3)編輯和保存
在編輯窗口輸入源程序,然后執(zhí)行“文件”->“保存”或“文件”->“另存為”。
(4)編譯(*.obj)
“編譯”->“編譯”或Ctrl+F7,編譯是用來(lái)檢查語(yǔ)法錯(cuò)誤的,編譯后查看調(diào)試窗口內(nèi)有無(wú)提示錯(cuò)誤信息,有則根據(jù)提示的行號(hào)和信息進(jìn)行修改,錯(cuò)誤改正后重新編譯,出現(xiàn)0個(gè)錯(cuò)誤提示后,選擇[Build/Build]菜單進(jìn)行連接,有錯(cuò)則改,沒(méi)有錯(cuò)誤就可以開始運(yùn)行程序了。
(5)連接(*.exe)
“編譯”->“構(gòu)件”或F7。
(6)運(yùn)行
“編譯”->“執(zhí)行”或Ctrl+F5。在編譯連接過(guò)程中也可以使用工具欄按鈕,也可以不選擇編譯,而直接選擇運(yùn)行,系統(tǒng)會(huì)自動(dòng)先編譯、連接后執(zhí)行。
(7)關(guān)閉程序工作區(qū)
“文件”->“關(guān)閉工作區(qū)”,關(guān)閉當(dāng)前文檔窗口和工作區(qū),開始下一個(gè)程序。
(8)查看C源文件、目標(biāo)文件和可執(zhí)行文件的存放位置
源文件在保存目錄下,目標(biāo)文件和可執(zhí)行文件在“保存目錄\Debug”中。
2.1 編寫一個(gè)程序完成三角函數(shù)中角度與弧度之間的轉(zhuǎn)換,即輸入一個(gè)角度,輸出它對(duì)應(yīng)的弧度。
源程序清單如下:
運(yùn)行結(jié)果(如圖1):
2.2 編寫一個(gè)程序,它讀入一個(gè)整數(shù)i,然后把i所對(duì)應(yīng)的二進(jìn)制碼的最高位和最低位分別顯示。
源程序清單如下:
圖1
運(yùn)行結(jié)果(如圖2):
圖2
C語(yǔ)言的層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù),具有很強(qiáng)的表現(xiàn)能力和處理能力,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。掌握C語(yǔ)言,可以為后續(xù)的Java程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)和Windows程序設(shè)計(jì)等程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
學(xué)習(xí)編程就要多上機(jī)練習(xí),不能僅僅停留在所謂的看書上。不看書是絕對(duì)不行的,但光看不練也不行,練習(xí)能加深對(duì)理論知識(shí)的理解。多編幾次程序、多幾次上機(jī)調(diào)試,很多東西自然而然就懂了、自然而然就記住了。
針對(duì)某一具體的問(wèn)題進(jìn)行編程時(shí),可以先不要考慮具體的用C語(yǔ)言如何實(shí)現(xiàn),應(yīng)先考慮人工完成應(yīng)怎么做、想清楚人工完成的每一個(gè)細(xì)節(jié),然后設(shè)計(jì)出相應(yīng)的算法(主要步驟)。算法可以用流程圖表示,也可以用偽代碼(注釋語(yǔ)句)表示,應(yīng)寫(畫)出每一步驟要完成的工作。設(shè)計(jì)算法時(shí)應(yīng)自頂向下、逐步求精,先整體再局部,先宏觀再細(xì)節(jié),這樣思路才清析。
C語(yǔ)言難學(xué)只是一個(gè)表面現(xiàn)象,難不在C語(yǔ)言本身,若是同樣的編程要求,換做VB、Fortran、Java也一樣的難。在軟件設(shè)計(jì)中,先要做總體設(shè)計(jì),接著是詳細(xì)設(shè)計(jì)(設(shè)計(jì)算法,與具體語(yǔ)言基本無(wú)關(guān)),然后才是使用某一種具體的語(yǔ)言來(lái)編碼,真正難的是總體設(shè)計(jì)和基本與語(yǔ)言種類無(wú)關(guān)的詳細(xì)算法;算法做好后,并非一定要使用C語(yǔ)言實(shí)現(xiàn),在社會(huì)分工中,編碼(可以用C語(yǔ)言)是技術(shù)含量、工資較低的活,通常由藍(lán)領(lǐng)工人完成。所以,在編程時(shí),先用偽代碼(注釋語(yǔ)句)寫出主要步驟(算法),然后再編寫程序。
(1)源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點(diǎn)都要在半角狀態(tài)下,同時(shí)注意大小寫,一般都用小寫;(2)若出現(xiàn)無(wú)法關(guān)閉VC++6.0時(shí),可在范圍內(nèi)單擊右鍵出現(xiàn)資源管理器(或按Ctrl+Alt+Delete)結(jié)束;(3)在進(jìn)行程序命名時(shí),程序的名字不要出現(xiàn)中文文字;(4)寫好的程序應(yīng)注意及時(shí)保存。
在程序設(shè)計(jì)過(guò)程中應(yīng)該養(yǎng)成的良好的編程習(xí)慣:(1)變量名與函數(shù)名要盡量反映變量(函數(shù))的意義;(2)用#define定義的常量名盡量用大寫;(3)程序書寫時(shí)應(yīng)注意同級(jí)的花括號(hào)要對(duì)齊,呈鋸齒形結(jié)構(gòu);(4)在必要的地方加上注釋;(5)用模塊化的編程思想,將一個(gè)大程序分成若干個(gè)函數(shù),盡量不要從頭到尾只有一個(gè)main()函數(shù);(6)盡量少用全局變量;(7)盡量不要使用goto語(yǔ)句,因?yàn)檫@樣會(huì)破壞程序的結(jié)構(gòu)。
[1]譚浩強(qiáng).C程序設(shè)計(jì) [M].北京:清華大學(xué)出版社,2005.
[2]譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)[M].北京:清華大學(xué)出版社,2005.
[3]李春葆.C程序設(shè)計(jì)[M].北京:清華出版社,2004.