




已閱讀5頁(yè),還剩15頁(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)介
第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程序開發(fā)過(guò)程1.6解決問(wèn)題與程序設(shè)計(jì)1.7TurboC上機(jī)步驟,1.1計(jì)算機(jī)語(yǔ)言,程序是用計(jì)算機(jī)語(yǔ)言寫成的。編程的實(shí)質(zhì)就是用計(jì)算機(jī)語(yǔ)言來(lái)表達(dá)要解決的問(wèn)題的邏輯。用計(jì)算機(jī)高級(jí)語(yǔ)言寫成的代碼被語(yǔ)言的實(shí)現(xiàn)工具(TurboC,VC,VB,Delphi或C+Builder)轉(zhuǎn)換成計(jì)算機(jī)的最低級(jí)機(jī)器語(yǔ)言,這就完成了人與機(jī)器在程序制定上的最后溝通??梢姡愕乃悸肥窍扔萌祟愖约旱恼Z(yǔ)言思考,然后用一門計(jì)算機(jī)語(yǔ)言寫成代碼,最終需要一個(gè)語(yǔ)言工具來(lái)將它轉(zhuǎn)換成機(jī)器可以理解的機(jī)器語(yǔ)言。我們要學(xué)的就是一門承上啟下的計(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ǔ)言僅是機(jī)器語(yǔ)言的一種助記符,兩者之間沒(méi)有本質(zhì)的區(qū)別,所以很多時(shí)候人們把兩者等同視之。1.2.3高級(jí)語(yǔ)言匯編語(yǔ)言和機(jī)器語(yǔ)言雖然很難記難寫,但它們的代碼效率高、占用內(nèi)存少,這相當(dāng)符合當(dāng)時(shí)計(jì)算機(jī)的存儲(chǔ)器昂貴、處理器功能有限等硬件特點(diǎn)。,返回,下一頁(yè),1.2語(yǔ)言和實(shí)現(xiàn)語(yǔ)言的工具,一門計(jì)算機(jī)語(yǔ)言“越符合機(jī)器的特點(diǎn),同時(shí)也就越不符合人類的特點(diǎn)”。最早有Pascal,C,C+,BASIC等數(shù)白種高級(jí)語(yǔ)言,現(xiàn)在又有Java,C#等。高級(jí)語(yǔ)言的高級(jí)之處在于它總是盡量接近人類的自然語(yǔ)言和思維方式。1.2.4語(yǔ)言實(shí)現(xiàn)工其無(wú)論是在寫代碼的過(guò)程,還是最后要編譯成可執(zhí)行文件,都需要有一個(gè)工具存在。這一工具一般稱為編程集成環(huán)境(IDE)。之所以稱為集成,是因?yàn)閺膶懘a到最后軟件的出爐,我們需要它的地方實(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)寫操作系統(tǒng)和系統(tǒng)程序,初期用在PDP-11計(jì)算機(jī)上寫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ī)制,能滿足構(gòu)造復(fù)雜程序時(shí)的各種需要。,返回,下一頁(yè),1.3C語(yǔ)言簡(jiǎn)介,C語(yǔ)言提供了一套預(yù)處理命令,支持程序或軟件系統(tǒng)的分塊開發(fā)。C語(yǔ)言的另一特點(diǎn)是可以寫出效率很高的程序。C語(yǔ)言的設(shè)計(jì)得到世界計(jì)算機(jī)界的廣泛贊許。1.3.2C語(yǔ)言的發(fā)展和標(biāo)準(zhǔn)化隨著C語(yǔ)言應(yīng)用的發(fā)展,人們更強(qiáng)烈地希望C語(yǔ)言能成為一種更安全可靠、不依賴于具體計(jì)算機(jī)和操作系統(tǒng)(如UNIX)的標(biāo)準(zhǔn)程序設(shè)計(jì)語(yǔ)言。美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)在20世紀(jì)80年代建立了專門的小組研究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ǔ)言寫出的程序通常稱作源程序。C程序人容易使用、書寫和閱讀,但計(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ò)程稱為“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)成的,人們一般用普通編輯器或者用專門的程序開發(fā)系統(tǒng)寫程序、修改程序。組成程序的字符序列通常按照人閱讀的習(xí)慣被分為一些行(就是在字符序列中插進(jìn)一些換行符),每行長(zhǎng)度不必相同。注意,上面把花括號(hào)內(nèi)的部分看做下一層次內(nèi)容后退幾格寫出,就是希望程序的表面形式能較好反映程序的內(nèi)部層次結(jié)構(gòu)。,返回,上一頁(yè),1.5程序開發(fā)過(guò)程,1.5.1程序的開發(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í)行程序后,就可以開始程序的調(diào)試執(zhí)行了。,返回,下一頁(yè),1.5程序開發(fā)過(guò)程,1.5.2程序錯(cuò)誤所謂排除程序錯(cuò)誤,也就是排除自己在程序設(shè)計(jì)過(guò)程中所犯的錯(cuò)誤,或說(shuō)是改正自己寫在程序里的錯(cuò)誤。程序的錯(cuò)誤可以分為兩大類,一類是程序書寫形式在某些方面不符合程序語(yǔ)言要求而形成的錯(cuò)誤。對(duì)于這類錯(cuò)誤,語(yǔ)言系統(tǒng)在加工程序的過(guò)程中能夠檢查出來(lái)。另一類是程序書寫形式本身沒(méi)錯(cuò),加工過(guò)程能正常完成,產(chǎn)生可執(zhí)行程序,但或是程序執(zhí)行中出了問(wèn)題或是計(jì)算結(jié)果(或執(zhí)行效果)不符合需要的錯(cuò)誤。排除程序錯(cuò)誤的目的就是要消除這兩類錯(cuò)誤。,返回,下一頁(yè),上一頁(yè),1.5程序開發(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ò)誤類型,信息行單還可能包括其他信息,供人們檢查程序時(shí)參考編譯程序能發(fā)現(xiàn)的錯(cuò)誤(編譯錯(cuò)誤)主要有兩類。(1)局部語(yǔ)法錯(cuò)誤,如缺少必要的符號(hào)(C常見的如缺少分號(hào)、括號(hào)),組合符號(hào)拼寫不正確等。,返回,下一頁(yè),上一頁(yè),1.5程序開發(fā)過(guò)程,(2)程序單上下文關(guān)系方面的錯(cuò)誤。連接程序也可能檢查出一些錯(cuò)誤,這些錯(cuò)誤稱為連接錯(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),一般稱“進(jìn)入死循環(huán)”,也就是無(wú)體止地重復(fù)執(zhí)行某段指令而無(wú)法停止。,返回,下一頁(yè),上一頁(yè),1.5程序開發(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程序開發(fā)過(guò)程,1.5.5動(dòng)態(tài)運(yùn)行錯(cuò)誤的排除人們常把程序錯(cuò)誤分為兩類。一類是靜態(tài)錯(cuò)誤,通過(guò)靜態(tài)檢查源程序可以清楚地看到它們。編譯程序、連接程序能發(fā)現(xiàn)的錯(cuò)誤都屬于這一類。系統(tǒng)在加工中發(fā)現(xiàn)錯(cuò)誤給出信息后,比較容易通過(guò)檢查有關(guān)位置的上下文,確定錯(cuò)誤原因和改正方法。另一類稱為動(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程序開發(fā)過(guò)程,C語(yǔ)言系統(tǒng)通常都為程序的動(dòng)態(tà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ì)寫程序。(4)檢查程序錯(cuò)誤的能力。,返回,下一頁(yè),返回,下一頁(yè),1.7TurboC上機(jī)步驟,1.調(diào)用TurboC程序如果用戶的當(dāng)前目錄是TurboC編譯程序所在的子目錄(例如TC子目錄),只擊從鍵盤鍵入“tc”命令即可。用戶可以通過(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)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能廚電創(chuàng)投項(xiàng)目計(jì)劃書
- 肉牛養(yǎng)殖技術(shù)課件視頻大全
- 2025至2030布藝床行業(yè)風(fēng)險(xiǎn)投資態(tài)勢(shì)及投融資策略指引報(bào)告
- 東博高職考數(shù)學(xué)試卷
- 二年級(jí)上冊(cè)青島數(shù)學(xué)試卷
- 家用美容儀器質(zhì)量檢測(cè)方法考核試卷
- 德陽(yáng)模擬高三數(shù)學(xué)試卷
- 二升三的數(shù)學(xué)試卷
- 高考文科模擬卷數(shù)學(xué)試卷
- 二十年前初中數(shù)學(xué)試卷
- 涉密表格臺(tái)賬
- 桶裝水領(lǐng)用表
- 營(yíng)運(yùn)客車等級(jí)劃分及評(píng)定重點(diǎn)標(biāo)準(zhǔn)
- 小學(xué)五年級(jí)英語(yǔ)學(xué)情分析
- 精品解析寧夏石嘴山市大武口區(qū)20212021學(xué)年下學(xué)期三年級(jí)期末科學(xué)試題
- 最新交管b2學(xué)法減分題庫(kù)及答案
- 藍(lán)海華騰變頻器說(shuō)明書
- 漿砌塊石工程施工程序、施工方法
- 預(yù)焊接工藝規(guī)程pWPS
- 鄭州橡膠助劑項(xiàng)目實(shí)施方案(參考范文)
- MSCCirc.913 適用于A類機(jī)器處所的固定式局部水基滅火系統(tǒng)認(rèn)可導(dǎo)則(doc 8)
評(píng)論
0/150
提交評(píng)論