C語言程序設計課件 第1章 引論_第1頁
C語言程序設計課件 第1章 引論_第2頁
C語言程序設計課件 第1章 引論_第3頁
C語言程序設計課件 第1章 引論_第4頁
C語言程序設計課件 第1章 引論_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第1章引論,1.1計算機語言1.2語言和實現(xiàn)語言的工具1.3C語言簡介1.4一個簡單的C程序1.5程序開發(fā)過程1.6解決問題與程序設計1.7TurboC上機步驟,1.1計算機語言,程序是用計算機語言寫成的。編程的實質(zhì)就是用計算機語言來表達要解決的問題的邏輯。用計算機高級語言寫成的代碼被語言的實現(xiàn)工具(TurboC,VC,VB,Delphi或C+Builder)轉(zhuǎn)換成計算機的最低級機器語言,這就完成了人與機器在程序制定上的最后溝通??梢?,你的思路是先用人類自己的語言思考,然后用一門計算機語言寫成代碼,最終需要一個語言工具來將它轉(zhuǎn)換成機器可以理解的機器語言。我們要學的就是一門承上啟下的計算機語言。這樣語言有很多:BASICPascalC,C+,Java,C#,我們學的C語言是使用最多的語言。有關(guān)C語言的更多特點,將在以后的章節(jié)談到。,返回,1.2語言和實現(xiàn)語言的工具,1.2.1機器語言計算機的機器語言是由這些0和1組成的。事實上,計算機單的所有數(shù)據(jù),無論是一個程序、一篇文稿、一張照片還是一首MP3,最終都是0和11.2.2匯編語言匯編語言僅是機器語言的一種助記符,兩者之間沒有本質(zhì)的區(qū)別,所以很多時候人們把兩者等同視之。1.2.3高級語言匯編語言和機器語言雖然很難記難寫,但它們的代碼效率高、占用內(nèi)存少,這相當符合當時計算機的存儲器昂貴、處理器功能有限等硬件特點。,返回,下一頁,1.2語言和實現(xiàn)語言的工具,一門計算機語言“越符合機器的特點,同時也就越不符合人類的特點”。最早有Pascal,C,C+,BASIC等數(shù)白種高級語言,現(xiàn)在又有Java,C#等。高級語言的高級之處在于它總是盡量接近人類的自然語言和思維方式。1.2.4語言實現(xiàn)工其無論是在寫代碼的過程,還是最后要編譯成可執(zhí)行文件,都需要有一個工具存在。這一工具一般稱為編程集成環(huán)境(IDE)。之所以稱為集成,是因為從寫代碼到最后軟件的出爐,我們需要它的地方實在太多了。下面列出其中最重要的功能項。,返回,下一頁,上一頁,1.2語言和實現(xiàn)語言的工具,(1)方便的代碼編輯功能(2)程序編譯這功能(3)程序調(diào)試功能(4)其他輔助功能,返回,上一頁,1.3C語言簡介,C語言是貝爾實驗室DennisRitchie在1973年設計的一種程序設計語言,其目的是用來寫操作系統(tǒng)和系統(tǒng)程序,初期用在PDP-11計算機上寫UNIX操作系統(tǒng)。1.3.1C語言的特點c語言之所以能被世界計算機界廣泛接受是由于其自身的特點。C語言的主要特點包括以下幾點。C語言比較簡單,是一個比較小的語言。C語言提供了豐富的程序機制,包括各種控制機制和數(shù)據(jù)定義機制,能滿足構(gòu)造復雜程序時的各種需要。,返回,下一頁,1.3C語言簡介,C語言提供了一套預處理命令,支持程序或軟件系統(tǒng)的分塊開發(fā)。C語言的另一特點是可以寫出效率很高的程序。C語言的設計得到世界計算機界的廣泛贊許。1.3.2C語言的發(fā)展和標準化隨著C語言應用的發(fā)展,人們更強烈地希望C語言能成為一種更安全可靠、不依賴于具體計算機和操作系統(tǒng)(如UNIX)的標準程序設計語言。美國國家標準局(ANSI)在20世紀80年代建立了專門的小組研究C語言標準化問題,這項工作的結(jié)果是1988年頒布的ANSIC標準。這個標準被國際標準化組織和各國標準化機構(gòu)所接受,同樣也被采納為中國國家標準。,返回,上一頁,1.4一個簡單的C程序,1.4.1C程序的加工和執(zhí)行C語言是高級程序語言,用C語言寫出的程序通常稱作源程序。C程序人容易使用、書寫和閱讀,但計算機卻不能直接執(zhí)行,因為計算機只能識別和執(zhí)行特定一進制形式的機器語言程序。為使計算機能完成某個C源程序所描述的工作,就必須首先把這個源程序轉(zhuǎn)換成一進制形式的機器語言程序,這種轉(zhuǎn)換由C語言系統(tǒng)完成。由源程序到機器語言程序的轉(zhuǎn)換過程稱為“C程序的加工”。每個C語言系統(tǒng)都具有加工C源程序的功能,包括“編譯程序”、“連接程序”等,系統(tǒng)單還可能有一些其他的程序或功能模塊。,返回,下一頁,1.4一個簡單的C程序,1.4.2程序格式實際的C程序可能比前面的簡單例了長得多。一般來說,一個C程序是由一系列可打印(可顯示)字符構(gòu)成的,人們一般用普通編輯器或者用專門的程序開發(fā)系統(tǒng)寫程序、修改程序。組成程序的字符序列通常按照人閱讀的習慣被分為一些行(就是在字符序列中插進一些換行符),每行長度不必相同。注意,上面把花括號內(nèi)的部分看做下一層次內(nèi)容后退幾格寫出,就是希望程序的表面形式能較好反映程序的內(nèi)部層次結(jié)構(gòu)。,返回,上一頁,1.5程序開發(fā)過程,1.5.1程序的開發(fā)過程用計算機解決問題的過程可以用圖1-1描述,這種過程大致如下。(1)分析問題,設計一種解決問題的途徑。(2)根據(jù)所設想的解決方案,用編輯系統(tǒng)(或IDE)建立程序(3)用編譯程序?qū)υ闯绦蜻M行編譯(4)反復工作直到編譯能正確完成(5)正常連接產(chǎn)生了可執(zhí)行程序后,就可以開始程序的調(diào)試執(zhí)行了。,返回,下一頁,1.5程序開發(fā)過程,1.5.2程序錯誤所謂排除程序錯誤,也就是排除自己在程序設計過程中所犯的錯誤,或說是改正自己寫在程序里的錯誤。程序的錯誤可以分為兩大類,一類是程序書寫形式在某些方面不符合程序語言要求而形成的錯誤。對于這類錯誤,語言系統(tǒng)在加工程序的過程中能夠檢查出來。另一類是程序書寫形式本身沒錯,加工過程能正常完成,產(chǎn)生可執(zhí)行程序,但或是程序執(zhí)行中出了問題或是計算結(jié)果(或執(zhí)行效果)不符合需要的錯誤。排除程序錯誤的目的就是要消除這兩類錯誤。,返回,下一頁,上一頁,1.5程序開發(fā)過程,1.5.3程序加工中有關(guān)錯誤的排除如果語言系統(tǒng)在程序加工過程中能查出錯誤,編譯程序或連接程序就會產(chǎn)生出錯信息。通常語言處理程序每發(fā)現(xiàn)一個錯誤就產(chǎn)生一個錯誤信息行,指明發(fā)現(xiàn)錯誤的位置(例如發(fā)現(xiàn)錯誤的源程序行編號等)和所確認的錯誤類型,信息行單還可能包括其他信息,供人們檢查程序時參考編譯程序能發(fā)現(xiàn)的錯誤(編譯錯誤)主要有兩類。(1)局部語法錯誤,如缺少必要的符號(C常見的如缺少分號、括號),組合符號拼寫不正確等。,返回,下一頁,上一頁,1.5程序開發(fā)過程,(2)程序單上下文關(guān)系方面的錯誤。連接程序也可能檢查出一些錯誤,這些錯誤稱為連接錯誤。1.5.4程序運行中的錯誤完成了程序加工,生成了可執(zhí)行程序之后,下一步工作應是試驗性地運行程序了。檢查運行情況,看它是否正確實現(xiàn)了所需功能。程序運行中也可出錯,出錯情況可能有多種。(1)程序執(zhí)行中可能違反了系統(tǒng)環(huán)境的基本要求,例如試圖執(zhí)行某種非法操作。(2)由于編程錯誤,致使程序在執(zhí)行中進入某種不能結(jié)束的狀態(tài),一般稱“進入死循環(huán)”,也就是無體止地重復執(zhí)行某段指令而無法停止。,返回,下一頁,上一頁,1.5程序開發(fā)過程,(3)程序在執(zhí)行中因為出現(xiàn)某些情況無法繼續(xù)下去而停止,這時會給出運行中的動態(tài)錯誤信息。(4)還有一種情況:程序能執(zhí)行到結(jié)束,并不出錯,但是產(chǎn)生的結(jié)果卻不合要求或者不確。,返回,返回,下一頁,上一頁,1.5程序開發(fā)過程,1.5.5動態(tài)運行錯誤的排除人們常把程序錯誤分為兩類。一類是靜態(tài)錯誤,通過靜態(tài)檢查源程序可以清楚地看到它們。編譯程序、連接程序能發(fā)現(xiàn)的錯誤都屬于這一類。系統(tǒng)在加工中發(fā)現(xiàn)錯誤給出信息后,比較容易通過檢查有關(guān)位置的上下文,確定錯誤原因和改正方法。另一類稱為動態(tài)運行錯誤,出現(xiàn)在程序執(zhí)行中,確認和糾正,都更困難。僅能從程序代碼、數(shù)據(jù)情況與得到的結(jié)果去設法弄清原因,需要更多的分析和思考。在發(fā)現(xiàn)動態(tài)運行錯誤后,首先還是應該分析錯誤的現(xiàn)象和程序代碼,考慮出現(xiàn)錯誤的可能性,逐步排除疑點。,返回,下一頁,上一頁,1.5程序開發(fā)過程,C語言系統(tǒng)通常都為程序的動態(tài)檢查提供了支持。尤其是各種集成式開發(fā)環(huán)境,它們都為程序的動態(tài)檢查提供了強有力的支持。這方面的功能通常包括追蹤、監(jiān)視、設置斷點、中斷執(zhí)行等,在以調(diào)試方式執(zhí)行程序時可以使用這些功能,這單做些簡單介紹。,返回,上一頁,1.6解決問題與程序設計,本課程涉及的東西很多,包括知識的記憶和靈活掌握,解決問題的思維方法,具體處理的手段和技巧,還有許多實際工作和操作技能問題。我們把幾個重要方面列在這里(1)分析問題的能力,特別是從計算和程序的角度分析問題的能力。(2)掌握所用的程序語言,熟悉語言中的各種結(jié)構(gòu),包括其形式和意義。(3)學會寫程序。(4)檢查程序錯誤的能力。,返回,下一頁,返回,下一頁,1.7TurboC上機步驟,1.調(diào)用TurboC程序如果用戶的當前目錄是TurboC編譯程序所在的子目錄(例如TC子目錄),只擊從鍵盤鍵入“tc”命令即可。用戶可以通過以上菜單項來選擇使用TurboC集成環(huán)境所提供的各項主要功能。2.編輯源文件在編輯(Edit)狀態(tài)下可以根據(jù)需要輸入或修改源程序。,返回,下一頁,上一頁,1.7TurboC上機步驟,3.編譯源程序選擇“Compile”菜單并在其下拉菜單中選擇“CompiletoOBJ”,則進行編

溫馨提示

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

評論

0/150

提交評論