C語(yǔ)言程序設(shè)計(jì)實(shí)用教程市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第1頁(yè)第1章程序設(shè)計(jì)基礎(chǔ)

本章關(guān)鍵點(diǎn)1.1程序設(shè)計(jì)與C語(yǔ)言1.2進(jìn)入C世界1.3讓程序正確運(yùn)行起來(lái)習(xí)題1C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第2頁(yè)1.1程序設(shè)計(jì)與C語(yǔ)言

1.1.1程序設(shè)計(jì)基本概念從硬件本質(zhì)上來(lái)說(shuō),計(jì)算機(jī)只是一臺(tái)電子設(shè)備,它本身所做工作與其它電子設(shè)備沒有什么太大區(qū)分,那么是什么讓它能夠含有眾多本事——從辦公處理、數(shù)學(xué)計(jì)算、機(jī)械制造、科學(xué)研究、氣象預(yù)測(cè)到衛(wèi)星發(fā)射、基因工程,包括人們生活各個(gè)方面呢?這是因?yàn)橛?jì)算機(jī)含有使用軟件能力,是各種各樣軟件讓計(jì)算機(jī)含有了“聰明”與“智慧”,讓它能夠完成各種不一樣工作。比如,安裝了文字處理軟件,計(jì)算機(jī)就能夠完成打字排版、繪制表格工作;安裝了網(wǎng)絡(luò)軟件人們就能夠在網(wǎng)上查詢資料、娛樂聊天;安裝了輔助設(shè)計(jì)軟件,計(jì)算機(jī)就可完成機(jī)械制造、建筑設(shè)計(jì)等各方面工作。假如把計(jì)算機(jī)比作一個(gè)能干工人,那么計(jì)算機(jī)硬件就是它軀體,而軟件就是它大腦,由大腦指揮軀體來(lái)完成各種不一樣工作。軟件由程序和程序相關(guān)文檔(如說(shuō)明書、源代碼等)組成,程序就是軟件中最主要部分,計(jì)算機(jī)工作都是在程序控制下完成。程序由一系列指令所組成,存放在計(jì)算機(jī)中。當(dāng)執(zhí)行程序時(shí),計(jì)算機(jī)將自動(dòng)按一定次序調(diào)用一條條指令來(lái)完成工作。計(jì)算機(jī)是電子設(shè)備,它不知道人類語(yǔ)言,它只能了解由0和1組成二進(jìn)制代碼指令,而這么指令對(duì)人了解來(lái)說(shuō)則是相當(dāng)困難。為了便于學(xué)習(xí)和操作,人們使用靠近自然語(yǔ)言程序語(yǔ)言來(lái)完成程序設(shè)計(jì),這種語(yǔ)言稱為“高級(jí)語(yǔ)言”,而二進(jìn)制語(yǔ)言則稱之為“機(jī)器語(yǔ)言”。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第3頁(yè)1.1程序設(shè)計(jì)與C語(yǔ)言

1.1.2C語(yǔ)言介紹當(dāng)前,用于程序設(shè)計(jì)高級(jí)語(yǔ)言數(shù)以百計(jì),其中,C語(yǔ)言以其強(qiáng)大功效被稱為是真正程序員編程語(yǔ)言。C語(yǔ)言即使是高級(jí)語(yǔ)言,但它也能夠完成許多只有低級(jí)語(yǔ)言才能完成、面向機(jī)器底層工作,所以也被稱為“中間語(yǔ)言”。正是因?yàn)镃語(yǔ)言這些特征,決定了它成為一個(gè)主要程序設(shè)計(jì)語(yǔ)言,在人們所使用程序中,大多是由C語(yǔ)言編寫而成,比如,使用最多計(jì)算機(jī)操作系統(tǒng)Windows98/中,就有相當(dāng)多部分是由C語(yǔ)言編寫。C語(yǔ)言是眾多后繼課程基礎(chǔ),尤其是與Windows編程相關(guān)課程。所以,與計(jì)算機(jī)相關(guān)專業(yè)都把C語(yǔ)言程序設(shè)計(jì)列為基礎(chǔ)課程之一。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第4頁(yè)

1.2進(jìn)入C世界

1.2.1程序開發(fā)流程使用高級(jí)語(yǔ)言編寫程序稱為程序“源代碼”,因?yàn)橛?jì)算機(jī)只能識(shí)別二進(jìn)制代碼指令,源代碼不能直接被計(jì)算機(jī)所識(shí)別和執(zhí)行。為了使其能夠被計(jì)算機(jī)所執(zhí)行,必須對(duì)源代碼進(jìn)行編譯,將其轉(zhuǎn)換為二進(jìn)制指令。從源文件到可執(zhí)行文件經(jīng)過(guò)流程如圖1-1所表示。

圖1-1程序編譯流程C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第5頁(yè)

1.2進(jìn)入C世界

編寫C語(yǔ)言程序過(guò)程稱為代碼編輯。C程序源代碼編輯能夠由專門代碼編輯器來(lái)完成,也可用普通純文本處理器來(lái)進(jìn)行,比如Windows中記事本。圖1-1程序編譯流程將高級(jí)C語(yǔ)言源代碼轉(zhuǎn)化為二進(jìn)制指令過(guò)程稱為編譯,C語(yǔ)言編譯需要有專門編譯器來(lái)執(zhí)行。編譯完成二進(jìn)制代碼文件稱為目標(biāo)文件(.obj)。目標(biāo)文件也不能直接在計(jì)算機(jī)中執(zhí)行,還需要經(jīng)過(guò)連接(Link)程序?qū)⑺cC語(yǔ)言庫(kù)文件進(jìn)行連接,最終生成可執(zhí)行(.exe)文件?,F(xiàn)在,通常把負(fù)責(zé)代碼編輯編輯器、編譯目標(biāo)代碼編譯器與連接庫(kù)文件生成目標(biāo)文件連接器以及在程序設(shè)計(jì)中對(duì)程序進(jìn)行調(diào)試程序綜合起來(lái),組成一個(gè)軟件,稱為集成開發(fā)環(huán)境(IDE)。要學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì),必須先學(xué)會(huì)使用C語(yǔ)言編程工具。能夠用于C語(yǔ)言程序設(shè)計(jì)工具很多,其中最有名,使用最多就是Borland企業(yè)TurboC系列集成開發(fā)環(huán)境。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第6頁(yè)

1.2進(jìn)入C世界

1.2.2TurboC2.0集成開發(fā)環(huán)境TurboC以其編譯速度快、代碼執(zhí)行效率高而著稱,程序員廣泛使用是TurboC2.0或TurboC3.0。下面將介紹怎樣使用TurboC2.0進(jìn)行C語(yǔ)言程序設(shè)計(jì)。1.開啟TurboC2.0集成開發(fā)環(huán)境TurboC2.0(以下簡(jiǎn)稱TC2.0)是在DOS下運(yùn)行程序,TC2.0安裝極為簡(jiǎn)單,只要插入安裝盤,在DOS提醒符下輸入Install,再按回車鍵,接下來(lái)按提醒信息進(jìn)行操作就能夠完成。TC2.0安裝完成后,在DOS提醒符下輸入TC,按回車鍵就能夠開啟了。開啟后程序界面如圖1-2所表示。此時(shí),連續(xù)按兩下Esc鍵,能夠看到屏幕中有黃色光標(biāo)在閃爍,這時(shí)就能夠進(jìn)行程序編輯了。在屏幕窗口中,最上方是程序下拉菜單,菜單中是進(jìn)行程序編輯、編譯、調(diào)試以及環(huán)境各種命令。關(guān)于TC2.0集成環(huán)境菜單命令使用,請(qǐng)查閱本書附錄4“TurboC2.0菜單命令”。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第7頁(yè)

1.2進(jìn)入C世界

圖1-2TurboC2.0開啟界面C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第8頁(yè)

1.2進(jìn)入C世界

菜單下是程序編輯區(qū)域,也稱為編輯窗口,在編輯窗口上方,是所編輯程序文件相關(guān)信息,如Line表示正在編輯行號(hào),Col表示正在編輯列號(hào),Insert表示現(xiàn)在是處于插入狀態(tài)下編輯,“I:NONAME.C”表示正在編輯程序文件名。在編輯窗口下方是Message(信息)窗口,在程序編譯時(shí),該窗口顯示相關(guān)編譯信息。窗口最下方是編輯時(shí)最慣用快捷鍵,比如,單擊F1鍵顯示幫助信息,單擊F9鍵進(jìn)入編譯程序,單擊F10鍵激活菜單等。TC2.0下拉菜單和Windows下菜單一樣,不過(guò)因?yàn)門C2.0是DOS下程序,基本上操作都是用鍵盤來(lái)完成,這里先學(xué)習(xí)怎樣使用鍵盤來(lái)操作菜單。用以下兩種方法能夠進(jìn)行菜單操作。屏幕窗口上方下拉菜單中,都有一個(gè)字母是紅色,如File中F、Edit中E、Run中R,這些字母稱為菜單熱鍵。要選擇菜單命令時(shí),能夠按住Alt鍵和熱鍵來(lái)打開菜單,再經(jīng)過(guò)方向鍵上下或左右移動(dòng)高亮亮條來(lái)選擇菜單項(xiàng),再按下回車鍵來(lái)執(zhí)行菜單命令。如圖1-3所表示。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第9頁(yè)

1.2進(jìn)入C世界

圖1-3使用菜單熱鍵進(jìn)行菜單操作C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第10頁(yè)

1.2進(jìn)入C世界

按F10鍵激活菜單,此時(shí)能夠看到File菜單為高亮狀態(tài),再經(jīng)過(guò)方向鍵移動(dòng)高亮亮條來(lái)選擇菜單項(xiàng)。在圖1-3所表示屏幕中,能夠看到部分菜單項(xiàng)右側(cè)有按鍵名稱或按鍵組合,如圖中Load右側(cè)F3,Quit右側(cè)Alt-X,這些就是程序快捷鍵。在程序中,按下該鍵(或組合鍵)就能夠執(zhí)行其對(duì)應(yīng)菜單命令,比如,按下Alt-X將執(zhí)行Quit菜單命令,退出程序。TurboC中也能夠輸入漢字,前提是先要打開一個(gè)漢字DOS系統(tǒng)平臺(tái),假如是在純DOS環(huán)境下可運(yùn)行UCDOS等漢字系統(tǒng),假如是在Windows98DOS環(huán)境中,則輸入命令PDOS98再按回車鍵,就能夠開啟Windows98中所附帶漢字環(huán)境。開啟漢字系統(tǒng)后再開啟TurboC,就能夠在其中輸入漢字了。在Windows98漢字版下,開啟TC2.0而且要求能夠顯示漢字操作步驟以下:從Windows“開始”菜單,進(jìn)入MS-DOS命令提醒符環(huán)境;鍵入PDOS98并按回車鍵,以下所表示。C:\Windows>PDOS98↙執(zhí)行命令后,屏幕右下角顯示“Windows98漢字DOS方式”,表示已進(jìn)入漢字顯示狀態(tài);最終,使用CD命令轉(zhuǎn)到TC2.0安裝目錄,鍵入TC并按回車鍵,裝載TC2.0集成開發(fā)環(huán)境。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第11頁(yè)

1.2進(jìn)入C世界

2.代碼編輯與保留開啟TC2.0后,按Alt+F快捷鍵激活File菜單,使用方向鍵移動(dòng)亮條到New菜單命令,按回車鍵創(chuàng)建新文件,此時(shí),就能夠在編輯窗口中編輯程序代碼了。在編輯窗口中鍵入以下代碼。/*TC1-1.c*//*第一個(gè)C程序*/#include"stdio.h"voidmain(){printf("WelcometoCWorld!\n");/*顯示信息*/}代碼前三行為文件頭,對(duì)程序作相關(guān)說(shuō)明?!?*……*/”符號(hào)表示這一部分為注釋性文字,不作為程序代碼運(yùn)行,在程序編譯時(shí)會(huì)被忽略?!?*”與“*/”必須成對(duì)出現(xiàn),二者之間全部字符(能夠是多行)均為注釋文字。下面一行以#include開始,這是程序預(yù)處理命令(在以后章節(jié)將對(duì)它作詳細(xì)解釋),引用了C語(yǔ)言標(biāo)準(zhǔn)庫(kù)“stdio.h”,使下面printf()語(yǔ)句得以順利執(zhí)行。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第12頁(yè)

1.2進(jìn)入C世界

C語(yǔ)言源程序基本單位是函數(shù),main()是C語(yǔ)言程序主函數(shù),每個(gè)C程序有且僅有一個(gè)主函數(shù),全部C程序都是從這里開始執(zhí)行。main()函數(shù)前面“void”表示主函數(shù)沒有返回值。下一行左花括號(hào)“{”與最終一行右花括號(hào)“}”之間是函數(shù)主體,它們必須成對(duì)出現(xiàn)。函數(shù)體中使用了C語(yǔ)言輸出函數(shù)printf()來(lái)輸出字符串“WelcometoCWorld!\n”,在C語(yǔ)言中字符串都必須用雙引號(hào)(")括起來(lái)。其中“\n”是轉(zhuǎn)義字符,表示換行。這一行語(yǔ)句最終是分號(hào)(;),全部C語(yǔ)句都必須以分號(hào)結(jié)束。這一行最終用漢字注釋該函數(shù)功效。接下來(lái)對(duì)程序進(jìn)行保留,按F10鍵激活菜單,選擇執(zhí)行File菜單下Save命令,或者按F2鍵,此時(shí)將彈出窗口提醒輸入文件名稱,默認(rèn)文件名為TurboC系統(tǒng)目錄下NONAME.C,如圖1-4所表示。輸入文件名TC1-1.C后按回車鍵,程序保留完成。此時(shí)編輯窗口右上角文件名由NONAME.C改變?yōu)門C1-1.C。需要注意是,在進(jìn)行程序編譯執(zhí)行前最好先保留程序,以免因?yàn)殄e(cuò)誤引發(fā)程序瓦解而丟失文件。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第13頁(yè)

1.2進(jìn)入C世界

圖1-4保留編輯好程序C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第14頁(yè)

1.2進(jìn)入C世界

假如程序有錯(cuò)誤,此時(shí)將彈出提醒編譯犯錯(cuò)信息窗口,并在屏幕下方Message窗口中顯示相關(guān)錯(cuò)誤信息。4.運(yùn)行程序與查看結(jié)果要執(zhí)行編輯完成程序,執(zhí)行Run菜單下Run菜單命令,或按快捷鍵Ctrl+F9,能夠看到屏幕閃了一下,此時(shí)程序已執(zhí)行完成。圖1-6程序運(yùn)行結(jié)果選擇執(zhí)行Run菜單下UserScreen菜單命令,或按Alt+F5快捷鍵能夠?qū)⑵聊磺袚Q到用戶屏幕。這時(shí),能夠看到如圖1-6所表示內(nèi)容,這就是程序運(yùn)行結(jié)果。這時(shí)候按任意鍵能夠回到編輯窗口。需要說(shuō)明是,F(xiàn)9鍵用于將源代碼編譯、連接為可執(zhí)行程序,Ctrl+F9快捷鍵則用于調(diào)用并執(zhí)行可執(zhí)行程序,假如當(dāng)前源代碼并沒有生成可執(zhí)行程序,則按下Ctrl+F9快捷鍵后將先生成可執(zhí)行程序后再執(zhí)行?,F(xiàn)在,第一個(gè)C語(yǔ)言程序設(shè)計(jì)完成了,接下來(lái)看看在代碼編輯和編譯與連接過(guò)程中生成了哪些文件。執(zhí)行File菜單下Quit菜單命令,或按Alt-X快捷鍵,退出TC2.0集成開發(fā)環(huán)境。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第15頁(yè)

1.2進(jìn)入C世界

圖1-6程序運(yùn)行結(jié)果圖1-7代碼編輯和編譯與連接過(guò)程中生成文件C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第16頁(yè)

1.2進(jìn)入C世界

圖1-7代碼編輯和編譯與連接過(guò)程中生成文件在DOS提醒符下,輸入DIRTC1-1.*命令,并回車執(zhí)行它,能夠看到如圖1-7所表示文件列表。能夠看到有3個(gè)名為TC1-1文件,這3個(gè)文件都是在編程中所創(chuàng)建。其中,TC1-1.C為C語(yǔ)言程序源文件,也就是前面輸入程序代碼。TC1-1.OBJ為目標(biāo)文件,它包含是編譯器所生成二進(jìn)制機(jī)器指令代碼。TC1-1.EXE是TurboC所生成可執(zhí)行文件,它包含了TC1-1.OBJ中代碼以及在程序連接時(shí)從相關(guān)運(yùn)行庫(kù)所得到必須支持過(guò)程?,F(xiàn)在,得到了一個(gè)可執(zhí)行程序TC1-1.EXE,這個(gè)程序能夠直接在DOS下執(zhí)行,在DOS提醒符后輸入TC1-1,再按回車鍵就能夠執(zhí)行了。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第17頁(yè)

1.2進(jìn)入C世界

1.2.3VisualC++6.0集成開發(fā)環(huán)境因?yàn)檫@些年C++語(yǔ)言程序普及,VisualC++6.0集成開發(fā)環(huán)境作為一個(gè)功效強(qiáng)大程序編譯器也被相當(dāng)多程序員所使用,使用VisualC++也能夠完成C語(yǔ)言編譯。因?yàn)閂isualC++集成開發(fā)環(huán)境運(yùn)行于Windows下,對(duì)于習(xí)慣于圖形界面用戶來(lái)說(shuō)是比較易學(xué),所以,在這里也簡(jiǎn)明介紹一下怎樣用VisualC++來(lái)完成C語(yǔ)言程序設(shè)計(jì)。VisualC++也有各種版本,本書中使用比較普及VisualC++6.0集成開發(fā)環(huán)境。圖1-8開啟VisualC++6.0方法VisualC++漢字版集成開發(fā)環(huán)境安裝比較簡(jiǎn)單,在輸入SETUP執(zhí)行后,能夠按照提醒信息完成程序安裝,在這里不再詳述。1.開啟VisualC++6.0集成開發(fā)環(huán)境如圖1-8所表示,單擊“開始”→“程序”→MicrosoftVisualStudio6.0→MicrosoftVisualC++6.0,就能夠開啟VisualC++6.0集成開發(fā)環(huán)境。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第18頁(yè)

1.2進(jìn)入C世界

圖1-8開啟VisualC++6.0方法C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第19頁(yè)

1.2進(jìn)入C世界

開啟后VisualC++6.0集成開發(fā)環(huán)境如圖1-9所表示。

圖1-9VisualC++6.0漢字版集成開發(fā)環(huán)境C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第20頁(yè)

1.2進(jìn)入C世界

2.創(chuàng)建文件單擊主菜單中File→New菜單命令,彈出New對(duì)話框,在New對(duì)話框中選擇File選項(xiàng)卡。在左邊列出選項(xiàng)中,選擇“C++SourceFile”;在右邊對(duì)應(yīng)對(duì)話框中,輸入文件名稱“tc1-2.c”及保留位置,如圖1-10所表示。單擊“OK”按鈕。

圖1-10創(chuàng)建源文件C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第21頁(yè)

1.2進(jìn)入C世界

進(jìn)入VisualC++6.0集成環(huán)境代碼編輯窗口,如圖1-11所表示。3.代碼編輯在VisualC++6.0代碼編輯窗口中,輸入以下所表示源代碼,完成后如圖1-11中所表示。程序代碼:/*TC1-2.c*//*VisualC++下程序*/#include"stdio.h"voidmain(){printf("WelcometoCWorld!\n");/*顯示信息函數(shù)*/}圖1-11VisualC++6.0代碼編輯窗口為了便于兩種編程工具比較,除了注釋部分外,這段代碼程序部分與前面在TurboC2.0中編寫代碼完全相同。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第22頁(yè)

1.2進(jìn)入C世界

圖1-11VisualC++6.0代碼編輯窗口C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第23頁(yè)

1.2進(jìn)入C世界

圖1-12在VisualC++6.0下編譯源程序C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第24頁(yè)

1.2進(jìn)入C世界

4.程序編譯、連接與運(yùn)行接下來(lái),將C語(yǔ)言源代碼編譯成計(jì)算機(jī)能執(zhí)行目標(biāo)代碼。單擊主菜單下Build→Compiletc1-2.c(或者是工具欄上按鈕或按快捷鍵Ctrl+F7),此時(shí)將彈出一個(gè)對(duì)話框,問(wèn)詢是否創(chuàng)建一個(gè)項(xiàng)目工作區(qū),選擇“是(Y)”。VisualC++6.0集成開發(fā)環(huán)境會(huì)自動(dòng)在TC1-2.C文件所在文件夾中建立對(duì)應(yīng)項(xiàng)目文件。編譯時(shí),在下方輸出框中將顯示出對(duì)應(yīng)編譯說(shuō)明,如圖1-12所表示。圖1-12在VisualC++6.0下編譯源程序假如代碼編譯無(wú)誤,最終將顯示:tc1-2.obj-0error(s),0warning(s)這說(shuō)明編譯沒有錯(cuò)誤(error)和警告(warning),生成目標(biāo)文件tc1-2.obj,程序編譯順利完成。目標(biāo)文件不能被計(jì)算機(jī)直接執(zhí)行,接下來(lái)將目標(biāo)文件(.obj)和相關(guān)庫(kù)函數(shù)或目標(biāo)程序連接成為可執(zhí)行程序(.exe)。單擊主菜單下“BatchBuild”命令,將彈出如圖1-13所表示對(duì)話框。確保選中“tc-1-2-Win32Release”復(fù)選框,這么生成可執(zhí)行文件才是發(fā)行版程序,不然生成是調(diào)試(Debug)版程序。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第25頁(yè)

1.2進(jìn)入C世界

單擊“Build”按鈕,生成可執(zhí)行文件tc1-2.exe。假如在“BatchBuild”對(duì)話框中選中了兩個(gè)復(fù)選框,能夠看到程序中生成了兩個(gè)tc1-2.exe可執(zhí)行文件,一個(gè)文件為調(diào)試版本,存放在與tc1-2.c同一文件夾下Debug文件夾中;另一個(gè)是發(fā)行版本,保留在與tc1-2.c同一文件夾下Release文件夾中。上面這一步只是為了生成發(fā)行版程序文件與TurboC2.0生成程序文件進(jìn)行比較,只有在程序準(zhǔn)備發(fā)行時(shí)才需要執(zhí)行這種編譯。在通常情況下,能夠單擊主菜單下Build→Buildtc1-2.exe(或工具欄

按鈕或按快捷鍵F7),直接生成調(diào)試版本程序就能夠了。編譯、連接完成后,tc1-2.exe已經(jīng)是一個(gè)獨(dú)立可執(zhí)行程序,能夠在Windows資源管理器中直接執(zhí)行,也能夠在VisualC++6.0集成開發(fā)環(huán)境中運(yùn)行。單擊主菜單下Build→Executetc1-2.exe(或工具欄

按鈕或按快捷鍵Ctrl+F5),此時(shí)彈出一個(gè)控制臺(tái)程序窗口,程序正確運(yùn)行,如圖1-14所表示。按任意鍵后返回VisualC++6.0集成開發(fā)環(huán)境。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第26頁(yè)

1.2進(jìn)入C世界

圖1-13BatchBuild對(duì)話框 圖1-14VisualC++6.0下程序運(yùn)結(jié)果C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第27頁(yè)

1.2進(jìn)入C世界

5.關(guān)閉工作區(qū)工作完成后,應(yīng)該將工作保留下來(lái),并關(guān)閉工作區(qū),方便以后工作。單擊主菜單下File→Saveall菜單命令保留全部文件,然后再單擊File→CloseWorkspace菜單命令,關(guān)閉工作區(qū)。1.2.4兩種編程工具比較(1)VisualC++6.0因?yàn)槭窃赪indows98//XP下運(yùn)行,含有圖形窗口界面,所以比DOS下TurboC更易于操作。(2)因?yàn)閂isualC++6.0集成太多功效,所以占用資源較多,不像TurboC2.0那樣簡(jiǎn)練。(3)VisualC++6.0在對(duì)程序進(jìn)行編譯時(shí)所耗時(shí)間太長(zhǎng),遠(yuǎn)大于TurboC所耗編譯時(shí)間。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第28頁(yè)

1.2進(jìn)入C世界

(4)使用VisualC++6.0編譯程序會(huì)生成多個(gè)中間文件,最終得到可執(zhí)行文件tc1-2.exe大小為153KB(調(diào)試版)及28KB(發(fā)行版);而使用TurboC2.0編譯程序生成中間文件較少,最終得到可執(zhí)行文件tc1-1.exe大小僅為8KB,遠(yuǎn)小于VisualC++6.0生成文件??偠灾?,對(duì)于C語(yǔ)言程序開發(fā),TurboC2.0含有更大優(yōu)勢(shì),所以提議使用TurboC2.0來(lái)進(jìn)行C語(yǔ)言程序設(shè)計(jì)開發(fā)。不過(guò)對(duì)于習(xí)慣于在Windows下進(jìn)行操作初學(xué)者,DOS下操作可能不太方便,所以,也能夠在VisualC++6.0下進(jìn)行C語(yǔ)言學(xué)習(xí)。本書中沒有作尤其說(shuō)明例子都可在TurboC和VisualC++6.0下正常運(yùn)行,但為了便于初學(xué)者學(xué)習(xí),在講解時(shí)都以TurboC2.0為主,輸出圖形采取VisualC++環(huán)境下結(jié)果。最終有一點(diǎn)需要注意,在TurboC下數(shù)據(jù)/變量所占存放空間大小與VisualC++有所不一樣,如int型變量在TurboC下編譯時(shí)占2個(gè)字節(jié),而在VisualC++6.0下編譯時(shí)占4個(gè)字節(jié)。所以,在進(jìn)行內(nèi)存地址引用時(shí)會(huì)有所不一樣。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第29頁(yè)1.3讓程序正確運(yùn)行起來(lái)

1.3.1程序中錯(cuò)誤在編程時(shí),不論程序規(guī)模大小,錯(cuò)誤總是難免,這就需要對(duì)程序進(jìn)行調(diào)試。實(shí)際上,調(diào)試和測(cè)試程序往往比編寫程序花費(fèi)更多時(shí)間。TurboC2.0和VisualC++6.0集成開發(fā)環(huán)境都提供了強(qiáng)大程序調(diào)試功效,在程序進(jìn)行編譯、連接時(shí),會(huì)對(duì)程序中錯(cuò)誤進(jìn)行診療。程序設(shè)計(jì)極少有能夠一次完成、沒有錯(cuò)誤,在編程過(guò)程中因?yàn)榉N種原因,總會(huì)出現(xiàn)這么或那樣錯(cuò)誤,這些程序錯(cuò)誤也就是常說(shuō)“Bug”,而檢測(cè)并修正這些錯(cuò)誤方法就是“Debug”(調(diào)試)。程序錯(cuò)誤可分為三類:語(yǔ)法錯(cuò)誤、運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤。(1)語(yǔ)法錯(cuò)誤:語(yǔ)法錯(cuò)誤是因?yàn)榫幊讨休斎氤绦虿环险Z(yǔ)法規(guī)則而產(chǎn)生,如表示式不完整、缺乏必要標(biāo)點(diǎn)符號(hào)、關(guān)鍵字輸入錯(cuò)誤、數(shù)據(jù)類型不匹配、循環(huán)語(yǔ)句或選擇語(yǔ)句關(guān)鍵字不配對(duì)以及對(duì)象屬性錯(cuò)誤使用等。語(yǔ)法錯(cuò)誤通常在程序編譯過(guò)程中出現(xiàn)提醒。(2)運(yùn)行錯(cuò)誤:運(yùn)行錯(cuò)誤是指程序在運(yùn)行過(guò)程中出現(xiàn)錯(cuò)誤,如進(jìn)行除法運(yùn)算時(shí)除數(shù)為零、數(shù)組下標(biāo)越界、文件不能打開以及磁盤空間不夠。這類錯(cuò)誤在編譯程序時(shí)普通是無(wú)法發(fā)覺。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第30頁(yè)1.3讓程序正確運(yùn)行起來(lái)(3)邏輯錯(cuò)誤:程序運(yùn)行后,沒有得到預(yù)期結(jié)果,這說(shuō)明程序存在邏輯錯(cuò)誤。這類錯(cuò)誤從語(yǔ)法上來(lái)說(shuō)是有效,只是程序邏輯上存在缺點(diǎn)。比如,使用了不正確變量類型、指令次序錯(cuò)誤、循環(huán)中起終值不正確以及不正確程序設(shè)計(jì)等,邏輯錯(cuò)誤也會(huì)連帶產(chǎn)生運(yùn)行錯(cuò)誤。通常,邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提醒信息,故錯(cuò)誤較難排除,需要程序員仔細(xì)地分析程序,并借助VB提供調(diào)試工具,才能夠找到犯錯(cuò)原因和排除錯(cuò)誤。編譯錯(cuò)誤處理,則能夠由集成開發(fā)環(huán)境所提供調(diào)試功效來(lái)完成,在程序進(jìn)行編譯時(shí),編譯工具會(huì)對(duì)程序中錯(cuò)誤進(jìn)行診療。編譯診療錯(cuò)誤分為三類:致命錯(cuò)誤、錯(cuò)誤和警告。致命錯(cuò)誤:大多數(shù)是編譯程序內(nèi)部發(fā)生錯(cuò)誤,發(fā)生這類錯(cuò)誤時(shí),編譯中止,只能重新開啟VisualC++集成開發(fā)環(huán)境。幸運(yùn)是,這類錯(cuò)誤極少發(fā)生,不過(guò)為了安全,編譯前最好先保留工程。錯(cuò)誤:通常是在編譯時(shí),由語(yǔ)法不妥所引發(fā),比如缺乏括號(hào)、變量未申明等。產(chǎn)生錯(cuò)誤時(shí),編譯程序會(huì)出現(xiàn)報(bào)錯(cuò)提醒,程序員依據(jù)提醒對(duì)源程序進(jìn)行修改即可。這類錯(cuò)誤是最輕易出現(xiàn)。警告:是指對(duì)被編譯程序懷疑有錯(cuò),但不確定,有時(shí)可強(qiáng)行編譯經(jīng)過(guò)。當(dāng)出現(xiàn)編譯錯(cuò)誤時(shí),應(yīng)該仔細(xì)閱讀錯(cuò)誤提醒,并從中分析錯(cuò)誤原因。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第31頁(yè)1.3讓程序正確運(yùn)行起來(lái)

1.3.2程序調(diào)試下面以TurboC為例,介紹怎樣對(duì)有簡(jiǎn)單錯(cuò)誤程序進(jìn)行調(diào)試,使程序正確運(yùn)行。1.代碼編輯按前面所學(xué)方法,開啟TurboC2.0環(huán)境,在編輯窗口中,輸入以下程序代碼。/***************tc1-3.c程序調(diào)試***************/#include"stdio.h" /*包含標(biāo)準(zhǔn)庫(kù)文件stdio.h*/voidmain() /*程序入口,程序從這里開始執(zhí)行*/{printf("Hollow,WelcometoTurboC); /*輸出文字*/}這段代碼很簡(jiǎn)單,所以程序代碼內(nèi)容在此不再解釋,能夠參見每行語(yǔ)句后注釋。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第32頁(yè)1.3讓程序正確運(yùn)行起來(lái)2.程序調(diào)試程序代碼輸入完成后,按F9鍵,編譯程序,結(jié)果如圖1-15所表示。

圖1-15編譯錯(cuò)誤C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第33頁(yè)1.3讓程序正確運(yùn)行起來(lái)在彈出編譯提醒窗口中顯示了相關(guān)信息,能夠看到編譯出現(xiàn)兩處錯(cuò)誤,即“Errors:2”,警告為零,即“Warnings:0”。按回車鍵,此時(shí)程序消息窗口被激活,在出現(xiàn)第一個(gè)錯(cuò)誤(或警告)提醒語(yǔ)句行將以白色亮條高亮顯示,同時(shí),編輯窗口也會(huì)出現(xiàn)對(duì)應(yīng)亮條,它標(biāo)志了編譯器給出錯(cuò)誤(或警告)源代碼所在位置。如圖1-16所表示。在編譯時(shí),假如錯(cuò)誤太多,為方便查看,能夠按F5鍵放大消息窗口進(jìn)行查看。

圖1-16提醒錯(cuò)誤(警告)所在位置C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第34頁(yè)1.3讓程序正確運(yùn)行起來(lái)這時(shí)能夠用方向鍵上下移動(dòng)消息窗口中亮條,同時(shí)能夠看到編輯窗口中亮條也隨之移動(dòng),以隨時(shí)跟蹤錯(cuò)誤所在位置。在圖1-16中能夠看到,第一條錯(cuò)誤提醒語(yǔ)句太長(zhǎng),不能在窗口中完全顯示出來(lái),此時(shí)可將方向鍵向右移動(dòng),以看到后面信息。將亮條移動(dòng)到第一條錯(cuò)誤語(yǔ)句上,按F6鍵,可切換到編輯窗口出現(xiàn)錯(cuò)誤語(yǔ)句行。仔細(xì)查看,原來(lái)是“printf("Hollow,WelcometoTurboC);”語(yǔ)句中少輸入了一個(gè)雙引號(hào)(注:雙引號(hào)和括號(hào)必須成對(duì)輸入)。輸入雙引號(hào),然后,按F9鍵再次進(jìn)行編譯(在這里,先不著急修正下一處錯(cuò)誤,下面將知道為何要這么做),能夠看到,此時(shí)彈出了編譯成功(Success)消息,如圖1-17所表示。

C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第35頁(yè)1.3讓程序正確運(yùn)行起來(lái)

圖1-17編譯成功C語(yǔ)言程序設(shè)計(jì)實(shí)用教程第36頁(yè)1.3讓程序正確運(yùn)行起來(lái)從這個(gè)結(jié)果能夠知道,程序中只有一處錯(cuò)誤,編譯器提醒兩條錯(cuò)誤消息,是由一個(gè)錯(cuò)誤而引發(fā)。圖1-18VisualC++中編譯錯(cuò)誤在程序中出現(xiàn)多條錯(cuò)誤時(shí),假如不能顯著地看犯錯(cuò)誤所在位置,當(dāng)更正一條錯(cuò)誤后,就應(yīng)該先編譯一下,以避開因?yàn)榫幾g器缺點(diǎn)而產(chǎn)生錯(cuò)誤提醒。當(dāng)查找錯(cuò)誤時(shí),能夠使用F6鍵在編輯窗口和消息窗口間往返切換,方便于查找錯(cuò)誤。假如使用是VisualC++進(jìn)行程序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論