




已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章引論,1.1計(jì)算機(jī)語(yǔ)言1.2語(yǔ)言和實(shí)現(xiàn)語(yǔ)言的工具1.3C語(yǔ)言簡(jiǎn)介1.4一個(gè)簡(jiǎn)單的C程序1.5程序開(kāi)發(fā)過(guò)程1.6解決問(wèn)題與程序設(shè)計(jì)1.7TurboC上機(jī)步驟,1.1計(jì)算機(jī)語(yǔ)言,程序是用計(jì)算機(jī)語(yǔ)言寫(xiě)成的。編程的實(shí)質(zhì)就是用計(jì)算機(jī)語(yǔ)言來(lái)表達(dá)要解決的問(wèn)題的邏輯。用計(jì)算機(jī)高級(jí)語(yǔ)言寫(xiě)成的代碼被語(yǔ)言的實(shí)現(xiàn)工具(TurboC,VC,VB,Delphi或C+Builder)轉(zhuǎn)換成計(jì)算機(jī)的最低級(jí)機(jī)器語(yǔ)言,這就完成了人與機(jī)器在程序制定上的最后溝通??梢?jiàn),你的思路是先用人類(lèi)自己的語(yǔ)言思考,然后用一門(mén)計(jì)算機(jī)語(yǔ)言寫(xiě)成代碼,最終需要一個(gè)語(yǔ)言工具來(lái)將它轉(zhuǎn)換成機(jī)器可以理解的機(jī)器語(yǔ)言。我們要學(xué)的就是一門(mén)承上啟下的計(jì)算機(jī)語(yǔ)言。這樣語(yǔ)言有很多:BASICPascalC,C+,Java,C#,我們學(xué)的C語(yǔ)言是使用最多的語(yǔ)言。有關(guān)C語(yǔ)言的更多特點(diǎn),將在以后的章節(jié)談到。,返回,1.2語(yǔ)言和實(shí)現(xiàn)語(yǔ)言的工具,1.2.1機(jī)器語(yǔ)言計(jì)算機(jī)的機(jī)器語(yǔ)言是由這些0和1組成的。事實(shí)上,計(jì)算機(jī)單的所有數(shù)據(jù),無(wú)論是一個(gè)程序、一篇文稿、一張照片還是一首MP3,最終都是0和11.2.2匯編語(yǔ)言匯編語(yǔ)言?xún)H是機(jī)器語(yǔ)言的一種助記符,兩者之間沒(méi)有本質(zhì)的區(qū)別,所以很多時(shí)候人們把兩者等同視之。1.2.3高級(jí)語(yǔ)言匯編語(yǔ)言和機(jī)器語(yǔ)言雖然很難記難寫(xiě),但它們的代碼效率高、占用內(nèi)存少,這相當(dāng)符合當(dāng)時(shí)計(jì)算機(jī)的存儲(chǔ)器昂貴、處理器功能有限等硬件特點(diǎn)。,返回,下一頁(yè),1.2語(yǔ)言和實(shí)現(xiàn)語(yǔ)言的工具,一門(mén)計(jì)算機(jī)語(yǔ)言“越符合機(jī)器的特點(diǎn),同時(shí)也就越不符合人類(lèi)的特點(diǎn)”。最早有Pascal,C,C+,BASIC等數(shù)白種高級(jí)語(yǔ)言,現(xiàn)在又有Java,C#等。高級(jí)語(yǔ)言的高級(jí)之處在于它總是盡量接近人類(lèi)的自然語(yǔ)言和思維方式。1.2.4語(yǔ)言實(shí)現(xiàn)工其無(wú)論是在寫(xiě)代碼的過(guò)程,還是最后要編譯成可執(zhí)行文件,都需要有一個(gè)工具存在。這一工具一般稱(chēng)為編程集成環(huán)境(IDE)。之所以稱(chēng)為集成,是因?yàn)閺膶?xiě)代碼到最后軟件的出爐,我們需要它的地方實(shí)在太多了。下面列出其中最重要的功能項(xiàng)。,返回,下一頁(yè),上一頁(yè),1.2語(yǔ)言和實(shí)現(xiàn)語(yǔ)言的工具,(1)方便的代碼編輯功能(2)程序編譯這功能(3)程序調(diào)試功能(4)其他輔助功能,返回,上一頁(yè),1.3C語(yǔ)言簡(jiǎn)介,C語(yǔ)言是貝爾實(shí)驗(yàn)室DennisRitchie在1973年設(shè)計(jì)的一種程序設(shè)計(jì)語(yǔ)言,其目的是用來(lái)寫(xiě)操作系統(tǒng)和系統(tǒng)程序,初期用在PDP-11計(jì)算機(jī)上寫(xiě)UNIX操作系統(tǒng)。1.3.1C語(yǔ)言的特點(diǎn)c語(yǔ)言之所以能被世界計(jì)算機(jī)界廣泛接受是由于其自身的特點(diǎn)。C語(yǔ)言的主要特點(diǎn)包括以下幾點(diǎn)。C語(yǔ)言比較簡(jiǎn)單,是一個(gè)比較小的語(yǔ)言。C語(yǔ)言提供了豐富的程序機(jī)制,包括各種控制機(jī)制和數(shù)據(jù)定義機(jī)制,能滿(mǎn)足構(gòu)造復(fù)雜程序時(shí)的各種需要。,返回,下一頁(yè),1.3C語(yǔ)言簡(jiǎn)介,C語(yǔ)言提供了一套預(yù)處理命令,支持程序或軟件系統(tǒng)的分塊開(kāi)發(fā)。C語(yǔ)言的另一特點(diǎn)是可以寫(xiě)出效率很高的程序。C語(yǔ)言的設(shè)計(jì)得到世界計(jì)算機(jī)界的廣泛贊許。1.3.2C語(yǔ)言的發(fā)展和標(biāo)準(zhǔn)化隨著C語(yǔ)言應(yīng)用的發(fā)展,人們更強(qiáng)烈地希望C語(yǔ)言能成為一種更安全可靠、不依賴(lài)于具體計(jì)算機(jī)和操作系統(tǒng)(如UNIX)的標(biāo)準(zhǔn)程序設(shè)計(jì)語(yǔ)言。美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)在20世紀(jì)80年代建立了專(zhuān)門(mén)的小組研究C語(yǔ)言標(biāo)準(zhǔn)化問(wèn)題,這項(xiàng)工作的結(jié)果是1988年頒布的ANSIC標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)被國(guó)際標(biāo)準(zhǔn)化組織和各國(guó)標(biāo)準(zhǔn)化機(jī)構(gòu)所接受,同樣也被采納為中國(guó)國(guó)家標(biāo)準(zhǔn)。,返回,上一頁(yè),1.4一個(gè)簡(jiǎn)單的C程序,1.4.1C程序的加工和執(zhí)行C語(yǔ)言是高級(jí)程序語(yǔ)言,用C語(yǔ)言寫(xiě)出的程序通常稱(chēng)作源程序。C程序人容易使用、書(shū)寫(xiě)和閱讀,但計(jì)算機(jī)卻不能直接執(zhí)行,因?yàn)橛?jì)算機(jī)只能識(shí)別和執(zhí)行特定一進(jìn)制形式的機(jī)器語(yǔ)言程序。為使計(jì)算機(jī)能完成某個(gè)C源程序所描述的工作,就必須首先把這個(gè)源程序轉(zhuǎn)換成一進(jìn)制形式的機(jī)器語(yǔ)言程序,這種轉(zhuǎn)換由C語(yǔ)言系統(tǒng)完成。由源程序到機(jī)器語(yǔ)言程序的轉(zhuǎn)換過(guò)程稱(chēng)為“C程序的加工”。每個(gè)C語(yǔ)言系統(tǒng)都具有加工C源程序的功能,包括“編譯程序”、“連接程序”等,系統(tǒng)單還可能有一些其他的程序或功能模塊。,返回,下一頁(yè),1.4一個(gè)簡(jiǎn)單的C程序,1.4.2程序格式實(shí)際的C程序可能比前面的簡(jiǎn)單例了長(zhǎng)得多。一般來(lái)說(shuō),一個(gè)C程序是由一系列可打印(可顯示)字符構(gòu)成的,人們一般用普通編輯器或者用專(zhuān)門(mén)的程序開(kāi)發(fā)系統(tǒng)寫(xiě)程序、修改程序。組成程序的字符序列通常按照人閱讀的習(xí)慣被分為一些行(就是在字符序列中插進(jìn)一些換行符),每行長(zhǎng)度不必相同。注意,上面把花括號(hào)內(nèi)的部分看做下一層次內(nèi)容后退幾格寫(xiě)出,就是希望程序的表面形式能較好反映程序的內(nèi)部層次結(jié)構(gòu)。,返回,上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,1.5.1程序的開(kāi)發(fā)過(guò)程用計(jì)算機(jī)解決問(wèn)題的過(guò)程可以用圖1-1描述,這種過(guò)程大致如下。(1)分析問(wèn)題,設(shè)計(jì)一種解決問(wèn)題的途徑。(2)根據(jù)所設(shè)想的解決方案,用編輯系統(tǒng)(或IDE)建立程序(3)用編譯程序?qū)υ闯绦蜻M(jìn)行編譯(4)反復(fù)工作直到編譯能正確完成(5)正常連接產(chǎn)生了可執(zhí)行程序后,就可以開(kāi)始程序的調(diào)試執(zhí)行了。,返回,下一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,1.5.2程序錯(cuò)誤所謂排除程序錯(cuò)誤,也就是排除自己在程序設(shè)計(jì)過(guò)程中所犯的錯(cuò)誤,或說(shuō)是改正自己寫(xiě)在程序里的錯(cuò)誤。程序的錯(cuò)誤可以分為兩大類(lèi),一類(lèi)是程序書(shū)寫(xiě)形式在某些方面不符合程序語(yǔ)言要求而形成的錯(cuò)誤。對(duì)于這類(lèi)錯(cuò)誤,語(yǔ)言系統(tǒng)在加工程序的過(guò)程中能夠檢查出來(lái)。另一類(lèi)是程序書(shū)寫(xiě)形式本身沒(méi)錯(cuò),加工過(guò)程能正常完成,產(chǎn)生可執(zhí)行程序,但或是程序執(zhí)行中出了問(wèn)題或是計(jì)算結(jié)果(或執(zhí)行效果)不符合需要的錯(cuò)誤。排除程序錯(cuò)誤的目的就是要消除這兩類(lèi)錯(cuò)誤。,返回,下一頁(yè),上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,1.5.3程序加工中有關(guān)錯(cuò)誤的排除如果語(yǔ)言系統(tǒng)在程序加工過(guò)程中能查出錯(cuò)誤,編譯程序或連接程序就會(huì)產(chǎn)生出錯(cuò)信息。通常語(yǔ)言處理程序每發(fā)現(xiàn)一個(gè)錯(cuò)誤就產(chǎn)生一個(gè)錯(cuò)誤信息行,指明發(fā)現(xiàn)錯(cuò)誤的位置(例如發(fā)現(xiàn)錯(cuò)誤的源程序行編號(hào)等)和所確認(rèn)的錯(cuò)誤類(lèi)型,信息行單還可能包括其他信息,供人們檢查程序時(shí)參考編譯程序能發(fā)現(xiàn)的錯(cuò)誤(編譯錯(cuò)誤)主要有兩類(lèi)。(1)局部語(yǔ)法錯(cuò)誤,如缺少必要的符號(hào)(C常見(jiàn)的如缺少分號(hào)、括號(hào)),組合符號(hào)拼寫(xiě)不正確等。,返回,下一頁(yè),上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,(2)程序單上下文關(guān)系方面的錯(cuò)誤。連接程序也可能檢查出一些錯(cuò)誤,這些錯(cuò)誤稱(chēng)為連接錯(cuò)誤。1.5.4程序運(yùn)行中的錯(cuò)誤完成了程序加工,生成了可執(zhí)行程序之后,下一步工作應(yīng)是試驗(yàn)性地運(yùn)行程序了。檢查運(yùn)行情況,看它是否正確實(shí)現(xiàn)了所需功能。程序運(yùn)行中也可出錯(cuò),出錯(cuò)情況可能有多種。(1)程序執(zhí)行中可能違反了系統(tǒng)環(huán)境的基本要求,例如試圖執(zhí)行某種非法操作。(2)由于編程錯(cuò)誤,致使程序在執(zhí)行中進(jìn)入某種不能結(jié)束的狀態(tài),一般稱(chēng)“進(jìn)入死循環(huán)”,也就是無(wú)體止地重復(fù)執(zhí)行某段指令而無(wú)法停止。,返回,下一頁(yè),上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,(3)程序在執(zhí)行中因?yàn)槌霈F(xiàn)某些情況無(wú)法繼續(xù)下去而停止,這時(shí)會(huì)給出運(yùn)行中的動(dòng)態(tài)錯(cuò)誤信息。(4)還有一種情況:程序能執(zhí)行到結(jié)束,并不出錯(cuò),但是產(chǎn)生的結(jié)果卻不合要求或者不確。,返回,返回,下一頁(yè),上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,1.5.5動(dòng)態(tài)運(yùn)行錯(cuò)誤的排除人們常把程序錯(cuò)誤分為兩類(lèi)。一類(lèi)是靜態(tài)錯(cuò)誤,通過(guò)靜態(tài)檢查源程序可以清楚地看到它們。編譯程序、連接程序能發(fā)現(xiàn)的錯(cuò)誤都屬于這一類(lèi)。系統(tǒng)在加工中發(fā)現(xiàn)錯(cuò)誤給出信息后,比較容易通過(guò)檢查有關(guān)位置的上下文,確定錯(cuò)誤原因和改正方法。另一類(lèi)稱(chēng)為動(dòng)態(tài)運(yùn)行錯(cuò)誤,出現(xiàn)在程序執(zhí)行中,確認(rèn)和糾正,都更困難。僅能從程序代碼、數(shù)據(jù)情況與得到的結(jié)果去設(shè)法弄清原因,需要更多的分析和思考。在發(fā)現(xiàn)動(dòng)態(tài)運(yùn)行錯(cuò)誤后,首先還是應(yīng)該分析錯(cuò)誤的現(xiàn)象和程序代碼,考慮出現(xiàn)錯(cuò)誤的可能性,逐步排除疑點(diǎn)。,返回,下一頁(yè),上一頁(yè),1.5程序開(kāi)發(fā)過(guò)程,C語(yǔ)言系統(tǒng)通常都為程序的動(dòng)態(tài)檢查提供了支持。尤其是各種集成式開(kāi)發(fā)環(huán)境,它們都為程序的動(dòng)態(tài)檢查提供了強(qiáng)有力的支持。這方面的功能通常包括追蹤、監(jiān)視、設(shè)置斷點(diǎn)、中斷執(zhí)行等,在以調(diào)試方式執(zhí)行程序時(shí)可以使用這些功能,這單做些簡(jiǎn)單介紹。,返回,上一頁(yè),1.6解決問(wèn)題與程序設(shè)計(jì),本課程涉及的東西很多,包括知識(shí)的記憶和靈活掌握,解決問(wèn)題的思維方法,具體處理的手段和技巧,還有許多實(shí)際工作和操作技能問(wèn)題。我們把幾個(gè)重要方面列在這里(1)分析問(wèn)題的能力,特別是從計(jì)算和程序的角度分析問(wèn)題的能力。(2)掌握所用的程序語(yǔ)言,熟悉語(yǔ)言中的各種結(jié)構(gòu),包括其形式和意義。(3)學(xué)會(huì)寫(xiě)程序。(4)檢查程序錯(cuò)誤的能力。,返回,下一頁(yè),返回,下一頁(yè),1.7TurboC上機(jī)步驟,1.調(diào)用TurboC程序如果用戶(hù)的當(dāng)前目錄是TurboC編譯程序所在的子目錄(例如TC子目錄),只擊從鍵盤(pán)鍵入“tc”命令即可。用戶(hù)可以通過(guò)以上菜單項(xiàng)來(lái)選擇使用TurboC集成環(huán)境所提供的各項(xiàng)主要功能。2.編輯源文件在編輯(Edit)狀態(tài)下可以根據(jù)需要輸入或修改源程序。,返回,下一頁(yè),上一頁(yè),1.7TurboC上機(jī)步驟,3.編譯源程序選擇“Compile”菜單并在其下拉菜單中選擇“CompiletoOBJ”,則進(jìn)行編
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石英纖維及制品項(xiàng)目建議書(shū)
- 高效節(jié)能電機(jī)項(xiàng)目規(guī)劃設(shè)計(jì)方案(參考)
- 2025年Α-乙酰乳酸脫羧酶項(xiàng)目合作計(jì)劃書(shū)
- 2025年文物遺址保護(hù)服務(wù)項(xiàng)目合作計(jì)劃書(shū)
- 2025年聚砜PSF項(xiàng)目建議書(shū)
- 2025年智能垃圾分類(lèi)運(yùn)營(yíng)模式在垃圾分類(lèi)行業(yè)技術(shù)創(chuàng)新動(dòng)態(tài)報(bào)告
- 農(nóng)村金融服務(wù)創(chuàng)新模式研究-2025年農(nóng)村金融信用體系建設(shè)與評(píng)價(jià)報(bào)告
- 醫(yī)院信息化2025年電子病歷系統(tǒng)優(yōu)化與醫(yī)療信息化標(biāo)準(zhǔn)對(duì)接報(bào)告
- 2025年能源互聯(lián)網(wǎng)分布式能源交易與分布式熱力網(wǎng)的融合創(chuàng)新報(bào)告
- 金融衍生品市場(chǎng)創(chuàng)新與風(fēng)險(xiǎn)防范:2025年政策法規(guī)與監(jiān)管體系改革探討與實(shí)踐001
- 塑料箱項(xiàng)目安全評(píng)估報(bào)告
- 圖說(shuō)工廠品質(zhì)管理
- (一模)烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量英語(yǔ)試卷(含答案)
- 《高齡(≥75歲)急性冠脈綜合征患者規(guī)范化診療》解讀
- 社會(huì)調(diào)查研究與方法-001-國(guó)開(kāi)機(jī)考復(fù)習(xí)資料
- 《個(gè)體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識(shí)培訓(xùn)
- 菏澤學(xué)院社會(huì)心理學(xué)(專(zhuān)升本)復(fù)習(xí)題
- 九年級(jí)語(yǔ)文上冊(cè)《你是人間的四月天》課件
- 人工智能語(yǔ)言與倫理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年部編版九年級(jí)語(yǔ)文上冊(cè)電子課本(高清版)
- 湖南省長(zhǎng)沙市平高教育集團(tuán)六校2023-2024學(xué)年高二下學(xué)期期末聯(lián)考+化學(xué)試卷(含答案)
評(píng)論
0/150
提交評(píng)論