




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、孟宇龍608教研室高級語言程序設(shè)計本章提要本章提要0.1 課程介紹課程介紹0.2 程序設(shè)計基本知識程序設(shè)計基本知識1.1 C語言的發(fā)展過程語言的發(fā)展過程1.2 C語言的特點語言的特點1.3 簡單的簡單的C程序介紹程序介紹1.4 C程序的上機步驟程序的上機步驟課程介紹課程介紹q專業(yè)基礎(chǔ)課專業(yè)基礎(chǔ)課q選用選用C C作為教學語言的理由作為教學語言的理由q學習目標學習目標比較熟練地掌握比較熟練地掌握C C語言的要點,能夠編寫不太復(fù)雜的程序。語言的要點,能夠編寫不太復(fù)雜的程序。學會調(diào)試和測試程序?qū)W會調(diào)試和測試程序。 掌握結(jié)構(gòu)化程序設(shè)計的方法掌握結(jié)構(gòu)化程序設(shè)計的方法。掌握算法的一些基本知識掌握算法的一些基
2、本知識。養(yǎng)成良好的程序設(shè)計風格養(yǎng)成良好的程序設(shè)計風格。 為后續(xù)課程打下良好的基礎(chǔ),如數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計與算為后續(xù)課程打下良好的基礎(chǔ),如數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計與算法分析、操作系統(tǒng)等。法分析、操作系統(tǒng)等。課程介紹課程介紹q授課內(nèi)容授課內(nèi)容1. C語言概述語言概述2. 程序的靈魂程序的靈魂-算法算法3. 數(shù)據(jù)類型、運算符數(shù)據(jù)類型、運算符4. 順序程序設(shè)計順序程序設(shè)計5. 選擇結(jié)構(gòu)程序設(shè)計選擇結(jié)構(gòu)程序設(shè)計6. 循環(huán)控制循環(huán)控制 7. 數(shù)組數(shù)組 8. 函數(shù)函數(shù) 9. 預(yù)處理命令預(yù)處理命令10. 指針指針11. 結(jié)構(gòu)體與共用體結(jié)構(gòu)體與共用體12. 文件文件課程介紹課程介紹q學習方法學習方法注重掌握程序設(shè)計思想
3、注重掌握程序設(shè)計思想 認真地上機實踐認真地上機實踐 大量閱讀優(yōu)秀的程序大量閱讀優(yōu)秀的程序 q授課教材授課教材C C程序設(shè)計程序設(shè)計:譚浩強著,清華大學出版社。:譚浩強著,清華大學出版社。 q參考教材參考教材C C程序設(shè)計語言程序設(shè)計語言( (第二版第二版) ):Brian W.KernighanBrian W.Kernighan、Dennis M.RitchieDennis M.Ritchie著,徐寶文等譯,機械工業(yè)出版社。著,徐寶文等譯,機械工業(yè)出版社。 C C語言解析教程語言解析教程( (第四版第四版) ):Al KelleyAl Kelley、Ira PohlIra Pohl著,著,麻志
4、毅譯,機械工業(yè)出版社。麻志毅譯,機械工業(yè)出版社。 C C程序設(shè)計教程程序設(shè)計教程:H.M.DeitelH.M.Deitel、P.J.DeitelP.J.Deitel著,薛萬著,薛萬鵬等譯,機械工業(yè)出版社。鵬等譯,機械工業(yè)出版社。 程序設(shè)計基本知識程序設(shè)計基本知識q計算機與人計算機與人q計算機基本工作過程計算機基本工作過程q程序設(shè)計語言的故事程序設(shè)計語言的故事q程序設(shè)計語言的發(fā)展程序設(shè)計語言的發(fā)展計算機與人計算機與人q計算機是用來延伸人的能力的工具,計算機是用來延伸人的能力的工具,需要人來駕馭需要人來駕馭q我們的職責是讓非計算機專業(yè)的人更我們的職責是讓非計算機專業(yè)的人更容易駕馭它容易駕馭它q完成
5、這一目標的主要手段之一就是完成這一目標的主要手段之一就是“編程編程(Programming)”計算機基本工作過程計算機基本工作過程q整個過程的執(zhí)行者是硬件,但硬件是受軟件控制的q編程,就是編寫軟件,使硬件按照人的意圖工作計算機基本工作過程計算機基本工作過程輸入/輸出設(shè)備存儲器運算器控制器源程序和輸入數(shù)據(jù)輸出結(jié)果取出數(shù)據(jù)存入數(shù)據(jù)操作命令存取命令取出程序指令輸入輸出命令計算結(jié)果CPU“馮諾依曼機”結(jié)構(gòu) 大腦記憶裝置眼睛和耳朵軟件的形成與運行過程的簡單描述軟件的形成與運行過程的簡單描述q軟件的形成軟件的形成程序員程序員(Programmer)編寫程序)編寫程序源代碼源代碼(Source Code)編
6、譯器編譯器(Compiler)把源代碼轉(zhuǎn)換為可被計算機理解的)把源代碼轉(zhuǎn)換為可被計算機理解的機器代碼(機器代碼(Machine Code)并把機器代碼以并把機器代碼以可執(zhí)行文件可執(zhí)行文件(Executable File)的形式)的形式保存在磁盤上保存在磁盤上q軟件的運行軟件的運行計算機把機器代碼讀入到計算機把機器代碼讀入到內(nèi)存內(nèi)存( (Memory)由由CPU運行這些代碼運行這些代碼讀取輸入(讀取輸入(Input)產(chǎn)生輸出(產(chǎn)生輸出(Output)完成程序員預(yù)定的功能完成程序員預(yù)定的功能程序和數(shù)據(jù)執(zhí)行結(jié)果程序設(shè)計語言的工作原理程序設(shè)計語言的工作原理q編譯運行編譯運行編輯、編譯、鏈接和運行編輯、
7、編譯、鏈接和運行q解釋運行解釋運行程序員編寫程序源代碼程序員編寫程序源代碼解釋器讀入源代碼,并執(zhí)行源代碼解釋器讀入源代碼,并執(zhí)行源代碼q解釋運行的語言特點解釋運行的語言特點執(zhí)行速度慢執(zhí)行速度慢好學易用好學易用q先編譯、后解釋先編譯、后解釋把源代碼編譯成更容易解釋的中間代碼,然后再解釋運行把源代碼編譯成更容易解釋的中間代碼,然后再解釋運行程序設(shè)計語言的故事程序設(shè)計語言的故事q程序設(shè)計語言(程序設(shè)計語言(Programming Language)是人與計是人與計算機進行交流的語言算機進行交流的語言q計算機直接能讀懂的語言機器語言(Machine Code),也叫機器代碼一種純粹的二進制語言q 一種
8、程序設(shè)計語言對應(yīng)一種編譯器一種程序設(shè)計語言對應(yīng)一種編譯器q 程序員按照該語言的語法編寫程序源代碼,把自己的意圖融程序員按照該語言的語法編寫程序源代碼,把自己的意圖融入到代碼中入到代碼中q 編譯器讀入源代碼,把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供編譯器讀入源代碼,把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供他人使用他人使用用各種語言編寫的用各種語言編寫的1+1程序程序機器語言編寫的機器語言編寫的1+11+1程序程序101110000000000100000000000001010000000100000000匯編語言編寫的匯編語言編寫的1+11+1程序程序MOV AX, 1ADD AX, 1BASICBASI
9、C語言編寫的語言編寫的1+11+1程序程序PRINT 1+ 1C C語言編寫的語言編寫的1+11+1程序程序#include main()printf(%dn, 1+1);程序設(shè)計語言的發(fā)展程序設(shè)計語言的發(fā)展機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象程序設(shè)計語言的發(fā)展程序設(shè)計語言的發(fā)展52 54 56 5
10、8 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN901.1 C語言的發(fā)展過程語言的發(fā)展過程q產(chǎn)生背景產(chǎn)生背景q產(chǎn)生過程產(chǎn)生過程BCPL語言進化成B語言,B語言又進化為C語言。時間:時間:19721973地點:美國貝爾實驗室地點:美國貝爾實驗室目的:目的:UNIX操
11、作系統(tǒng)操作系統(tǒng)設(shè)計人設(shè)計人::Ken.Thompson和和Dennis.M.RitchieqC標準標準標準標準C:K&R合著合著The C Programming Language ANSI C:1983年年 87 ANSI C:1987年年 1990年國際標準的年國際標準的ANSI CC程序設(shè)計語言程序設(shè)計語言q上天入地,無所不能上天入地,無所不能很多重量級軟件都是用C寫的。幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)。q很多流行語言、新生語言都借鑒了它的思想、語法很多流行語言、新生語言都借鑒了它的思想、語法從從C+,到,到Java,再到,再到C#,還有,還有php等等C語言的地盤語言的
12、地盤C語言的設(shè)計者語言的設(shè)計者- Dennis M. Ritchie1.2 C1.2 C語言的特點語言的特點q語言簡潔、緊湊,使用方便、靈活語言簡潔、緊湊,使用方便、靈活僅有僅有32個關(guān)鍵字個關(guān)鍵字語法限制不嚴格語法限制不嚴格q表達能力強表達能力強運算符豐富。運算符豐富。數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。允許直接訪問物理地址,能進行位允許直接訪問物理地址,能進行位(bit)(bit)操作,能實現(xiàn)匯操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。編語言的大部分功能,可以直接對硬件進行操作。q支持結(jié)構(gòu)化設(shè)計支持結(jié)構(gòu)化設(shè)計q目標代碼質(zhì)量
13、高,程序執(zhí)行效率高目標代碼質(zhì)量高,程序執(zhí)行效率高q可移植性好可移植性好( (與匯編語言比與匯編語言比) )1.3 1.3 簡單的簡單的C C程序介紹程序介紹qC程序舉例程序舉例qC程序的結(jié)構(gòu)特點程序的結(jié)構(gòu)特點qC程序的格式特點程序的格式特點C C程序舉例程序舉例-例例1.11.1/* The first C Program*/#include int main() printf(Hello,World!n);return 0;運行結(jié)果:Hello,World!q察看輸出結(jié)果察看輸出結(jié)果printf(*n*n*n*n); q輸出如下內(nèi)容輸出如下內(nèi)容Hello world! _注釋編譯預(yù)處理函數(shù)語
14、句C C程序舉例程序舉例-例例1.2/* 求兩個數(shù)之和求兩個數(shù)之和 */main()int a, b, sum; a = 123; b = 456;sum = a + b;printf(sum is %dn, sum);運行結(jié)果:579q如何求兩個數(shù)之差、之積、之商。如何求兩個數(shù)之差、之積、之商。q如何求三個數(shù)之和、之積。如何求三個數(shù)之和、之積。C C程序舉例程序舉例-例例1.3/* 求兩個數(shù)的最大值求兩個數(shù)的最大值 */main()int a, b, c;scanf(“%d,%d”,&a,&b);c = max(a,b);printf(max=%d,c);int max(int x, int
15、 y)int z;if (xy) z = x;else z = y;return z;如何求兩個數(shù)的如何求兩個數(shù)的最小值、乘積、最小值、乘積、和。和。函數(shù)名函數(shù)名( (參數(shù)參數(shù)) )數(shù)據(jù)說明部分數(shù)據(jù)說明部分; ;執(zhí)行語句部分執(zhí)行語句部分; ; C語言程序的結(jié)構(gòu)特點語言程序的結(jié)構(gòu)特點q函數(shù)與主函數(shù)函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)必須有且只能有一個主函數(shù)main()()程序執(zhí)行從程序執(zhí)行從main開始,在開始,在main中結(jié)束,其它函數(shù)通過嵌中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。套調(diào)用得以執(zhí)行。q程序語句程序語句C C程序由語句組成程序由語句組成
16、用用“ “ ; ”作為語句終止符作為語句終止符沒有輸入輸出語句沒有輸入輸出語句q注釋注釋/* */為注釋為注釋, ,不能嵌套不能嵌套q不產(chǎn)生編譯代碼不產(chǎn)生編譯代碼q編譯預(yù)處理命令編譯預(yù)處理命令C語言程序的格式特點語言程序的格式特點q習慣用習慣用小寫小寫字母,大小寫敏感字母,大小寫敏感q不使用行號,不使用行號,無程序行無程序行概念概念q可使用空行和空格可使用空行和空格q常用常用鋸齒形鋸齒形書寫格式書寫格式main( ) . . . . . . .main( ) int i , j , sum; sum = 0; for (i = 1; i 10 ; i+) for (j = 1 ; j10; j
17、+) sum += i * j ; printf(“%dn”,sum);優(yōu)秀程序員的素質(zhì)之一使用TAB縮進對齊有足夠的注釋有合適的空行1.4 C程序的上機步驟程序的上機步驟qC語言程序的開發(fā)過程語言程序的開發(fā)過程qC語言程序的上機執(zhí)行過程語言程序的上機執(zhí)行過程qTC開發(fā)環(huán)境開發(fā)環(huán)境C語言程序開發(fā)過程語言程序開發(fā)過程1.1.編寫源程序,形成編寫源程序,形成 *.C文件。文件。 需用需用編輯工具編輯工具。2.2.編譯源程序,形成目標程序編譯源程序,形成目標程序 * . Obj文件。文件。 需用需用編譯工具編譯工具 tc.exe 。3.3.連接連接OBJOBJ文件和調(diào)用的庫函數(shù),形成運行程序文件和調(diào)
18、用的庫函數(shù),形成運行程序 *.exe 文件。文件。 需用需用連接工具連接工具 tlink.exe 。C語言程序的上機執(zhí)行過程語言程序的上機執(zhí)行過程執(zhí)執(zhí)行行編編輯輯編編譯譯連連接接編輯編輯程序程序C C源源程序程序.C編譯編譯程序程序連接連接程序程序目標目標程序程序.obj可執(zhí)行可執(zhí)行程序程序.exe用用戶戶結(jié)結(jié)果果C編譯編譯系統(tǒng)系統(tǒng)其它目其它目標文件標文件C C語言語言函數(shù)庫函數(shù)庫TC開發(fā)環(huán)境開發(fā)環(huán)境(1)IncludeLibTC開發(fā)環(huán)境開發(fā)環(huán)境(2)TC開發(fā)環(huán)境開發(fā)環(huán)境(3)狀態(tài)信息狀態(tài)信息主選單主選單( (用用 Alt+ +第第一個一個字母字母選中選中) )信息窗口信息窗口編輯區(qū)編輯區(qū)熱鍵熱鍵Windows 窗口屬性窗口屬性TC開發(fā)環(huán)境開發(fā)環(huán)境(4)當前,信息窗口被激活,當前,信息窗口被激活,顯示錯誤信息。用顯示錯誤信息。用F6鍵鍵在編輯區(qū)和信息窗口間在編輯區(qū)和信息窗口間進行切換。進行切換。TC開發(fā)環(huán)境開發(fā)環(huán)境(5)TC開發(fā)環(huán)境開發(fā)環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精裝臥室出租合同范本
- OEM加工食品合同范例
- 公路路燈安裝合同范例
- 兼職導(dǎo)游勞務(wù)合同范本
- 醫(yī)院廣告合同范本
- 合肥裝潢公司合同范本
- 單位長期租車合同范本
- 單位出讓房屋合同范例
- 制作安裝供貨合同范本
- 后增補協(xié)議合同范本
- 220kV GIS組合電器安裝施工方案
- 公園綠化養(yǎng)護景觀綠化維護項目迎接重大節(jié)會活動的保障措施
- 國內(nèi)外旅游公共服務(wù)研究的文獻綜述
- 集團公司各職能部管控分權(quán)手冊
- 機車電測儀表使用及檢修
- PMS顏色對照表
- 營銷手冊范本匯總(24個共)35.doc
- 2012年北京大學醫(yī)學部外國留學生本科入學考試
- 七年級英語閱讀理解50篇(附答案)
- 乙酸乙酯的制備ppt課件
- 音樂之聲中英文臺詞
評論
0/150
提交評論