C程序設(shè)計——簡單C程序.ppt_第1頁
C程序設(shè)計——簡單C程序.ppt_第2頁
C程序設(shè)計——簡單C程序.ppt_第3頁
C程序設(shè)計——簡單C程序.ppt_第4頁
C程序設(shè)計——簡單C程序.ppt_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計,教師:段小林,關(guān)于這門課,教材: 譚浩強.C程序設(shè)計(第三版). 清華大學(xué)出版社. 2005 參考教材: (美)瓊斯,艾特肯. 21天學(xué)通C語言(第6版). 信達(dá)工作室譯.人民郵電出版社.2003 張基溫等.C語言程序設(shè)計案例教程. 清華大學(xué)出版社. 2004 Brian W.Kernighan,Dennis Ritchie.C 程序設(shè)計語言(英文影印版)(第二版). 清華大學(xué)出版社或機械工業(yè)出版社. 課程計劃: 理論學(xué)時:32學(xué)時 實驗學(xué)時:16學(xué)時(由實驗中心的老師上) 所需基礎(chǔ)知識: 大學(xué)計算機基礎(chǔ),尤其是數(shù)制轉(zhuǎn)換、內(nèi)存、程序設(shè)計等相關(guān)章節(jié)。(不熟悉的再復(fù)習(xí)一下),時間非常非常有限,主要靠大家課前預(yù)習(xí)和課后自學(xué)!,關(guān)于我,部門:計算機實驗教學(xué)中心(信科3樓) 辦公地點:信科312 E-mail: (交作業(yè)和答疑),關(guān)于這門課,考核方式: 平時30%期末考試70% 平時成績由課堂表現(xiàn)決定。 交作業(yè)方式: 上交電子作業(yè)至我的郵箱,第1講 C語言概述 (教材第一章),內(nèi)容: 了解C語言的歷史及特點。 認(rèn)識簡單C程序,掌握C程序的基本組成,理解編譯預(yù)處理命令、主函數(shù)、語句、格式化輸出函數(shù)printf()、注釋、簡單表達(dá)式等語法。(重點) 運行C程序的步驟與方法(重點),為什么要學(xué)習(xí)程序設(shè)計?,程序設(shè)計語言,老兄:幫我計算一下 11?,自然語言,機器語言,人發(fā)出的指令要按一定的規(guī)則來書寫,再翻譯或解釋成計算機所能看懂的機器語言,由編譯軟件自動實現(xiàn),這就是程序設(shè)計的主要內(nèi)容或目的,也是我們課堂上要講的主要內(nèi)容:就是如何將我們的指令按照某一種程序設(shè)計語言的規(guī)則寫成程序!,C語言的發(fā)展簡史,原型 ALGOL 60語言 1963年 CPL(Combined Programming Language) 1967年 BCPL語言 1970年 B語言 1973年 C語言 1978年 The C Programming Language 1982-90年 制定現(xiàn)行的C語言標(biāo)準(zhǔn)-ANSI C 1983年 C+,C語言的設(shè)計者 Dennis M. Ritchie,和Unix的設(shè)計者Ken Thompson接受美國國家技術(shù)勛章,1.1 初識C語言程序重點!,/*ex101.c-在屏幕上輸出This is a C program. */ #include int main( ) printf(“This is a C program.n”); return (0); ,任何C程序都必須有且只能有一個主函數(shù)main(),它是程序的入口,也是程序的出口。其中,main是函數(shù)名,()內(nèi)可以包含一些參數(shù); 的內(nèi)容稱為函數(shù)體,各種功能語句書寫在函數(shù)體內(nèi);不同語句之間用分號分隔; main函數(shù)的格式可以是: int main() void main() 或 return 0; 一般情況下,每個程序都由一至多個函數(shù)組成;,C語言的庫函數(shù),使用這種類型的函數(shù)之前要在前邊加上類似#include 的預(yù)處理命令 該函數(shù)的功能是向顯示器輸出一段文字,具體內(nèi)容括在雙引號內(nèi);,編譯預(yù)處理命令 總在最開始,每行以#開始 將要包含的文件添加在內(nèi),語法! 編程需要嚴(yán)格遵守的規(guī)則, 但還不是最重要的。 設(shè)計思路才是至關(guān)重要的。,注釋寫在/* */中間 給程序員自己看的 最好養(yǎng)成加注釋的習(xí)慣,注釋,C程序中的/* */之間的內(nèi)容稱為注釋,是程序編寫者給程序閱讀者留下的一些說明(注釋),以幫助閱讀者理解程序。編譯器不對注釋進(jìn)行編譯,只將它們當(dāng)作空白看待。 注釋中的“ex101.c”,是說明這個程序保存在文件ex101.c中。后邊的內(nèi)容表明這個程序的功能。 一般在函數(shù)前和重點語句后加注釋,對函數(shù)功能和語句的含義進(jìn)行解釋說明。,課下自學(xué)!,C語言提供了很多庫函數(shù),可以直接調(diào)用。 例如:函數(shù)printf就是系統(tǒng)提供的一個庫函數(shù),它的作用是輸出“”中的內(nèi)容。 使用庫函數(shù)之前,必須要include相對應(yīng)的函數(shù)聲明文件。 為了用戶方便,系統(tǒng)定義庫函數(shù)時,把一類相關(guān)庫函數(shù)的說明信息,分別寫在一些文件中。本例中使用的printf 的有關(guān)說明信息,寫在文件stdio.h中。所以,要想用printf函數(shù),就要在前面#include,課下自學(xué)!,main函數(shù)與操作系統(tǒng)的關(guān)系,當(dāng)用戶通過命令執(zhí)行一個程序時,操作系統(tǒng)就調(diào)用其main函數(shù),并執(zhí)行其中的語句。如果有輸出,操作系統(tǒng)就把它交給輸出模塊輸出到設(shè)備上 。,課下自學(xué)!,函數(shù)參數(shù),函數(shù)后面的圓括號用于放函數(shù)的參數(shù)。有的函數(shù)要有參數(shù),有的函數(shù)也可以沒有參數(shù)。如本例中使用的主函數(shù)就沒有參數(shù),而printf函數(shù)有一個參數(shù)。這里,printf函數(shù)的參數(shù)是括在雙引號中的一串字符,稱為字符串。n代表換行。 注意,main也是可以帶參數(shù)的,會在后面章節(jié)講到。,課下自學(xué)!,語句,C語言的函數(shù)體由一些語句組成。 每個語句由一個分號結(jié)束。 本例中,主函數(shù)有兩個語句: printf (“This is a C program.”); return (0);,課下自學(xué)!,C語言程序的基本結(jié)構(gòu)重點!,編譯預(yù)處理命令1 編譯預(yù)處理命令2 函數(shù)1 函數(shù)2 (其中必有一個函數(shù)叫main),一個復(fù)雜實例,也是我們的學(xué)習(xí)目標(biāo),簡單的C程序,/*ex101.c-在屏幕上輸出This is a C program. */ #include int main( ) printf(“This is a C program.n”); return (0); ,有了這個程序,計算機就能工作了嗎?,萬里長征只走了一半,C 語言,在屏幕上輸出This is a C program,機器語言,人發(fā)出的指令要按一定的規(guī)則來書寫,再翻譯或解釋成計算機所能看懂的機器語言,?,/*ex101.c-在屏幕上輸出This is a C program. */ #include int main( ) printf(“This is a C program.n”); return (0); ,另一半是:編譯、連接和執(zhí)行 (整個過程如下圖),filename.c,filename.obj,filename.exe,出錯,出錯,出錯,出錯,調(diào)試debug,C語言程序開發(fā)環(huán)境,gcc(GUN C Compile,UNIX以及Linux平臺上C/C+標(biāo)準(zhǔn)編譯器) Turbo C 2.0(DOS平臺上的C編譯器) Visual C+(Windows平臺上的C/C+編譯器),TC2.0,Turbo C For Windows 3.1,Visual c/c+ 6.0,信科三樓機房裝有這個軟件,也可到重郵軟件中心下載visual studio 6.0安裝,第1步:編輯源程序,編輯源程序,就是用高級語言書寫源程序。源程序的編輯要在編輯器中進(jìn)行。編輯器具有字符的修改、添加等功能。編輯好的源程序,可以先以源程序文件的形式保存起來。如前所述,C語言源程序的文件名后綴為.c。 在VC中的操作順序是:File-new-file-c+ source file(同時在右邊確定文件夾和文件名*.c)-在空白處將源程序?qū)懭搿?第2步:編譯,編譯就是把用C語言描述的程序翻譯成計算機可以直接理解并執(zhí)行的機器語言命令組成的程序。C語言的編譯過程分為兩個階段:首先是編譯預(yù)處理,系統(tǒng)要先掃描程序,處理所有預(yù)處理命令,如把文件包含命令要求的文件包含(嵌入)到程序中。然后才開始編譯。編譯后得到的文件稱為目標(biāo)文件。目標(biāo)文件就是用機器語言描述的文件。C語言的目標(biāo)文件的后綴為.obj。目標(biāo)文件的主文件名,一般與源程序文件名相同。 在編譯過程中,還要對源程序中的語法和邏輯結(jié)構(gòu)進(jìn)行檢查。編譯任務(wù)是由稱做編譯器(compiler)的軟件完成的。程序在編譯過程中,也可能發(fā)現(xiàn)錯誤。這時要重新進(jìn)入編輯器進(jìn)行編輯。 在VC中的操作順序是:compile-compile,第3步:鏈接,鏈接是將與當(dāng)前程序有關(guān)的、已經(jīng)有的幾個目標(biāo)模塊鏈接在一起,形成一個完整的程序代碼文件。這些已經(jīng)有的目標(biāo)模塊有: 庫函數(shù):如前面使用的printf; 對于大的程序,常常分成幾個模塊,分別編寫、編輯和編譯,形成不同的目標(biāo)模塊。 經(jīng)正確鏈接所生成的文件才是可執(zhí)行文件??蓤?zhí)行文件的文件名后綴為.exe(有的系統(tǒng)為.out)。完成鏈接過程的軟件稱為鏈接器(linker)。 程序在連接過程中,也可能發(fā)現(xiàn)錯誤。這時也要重新進(jìn)入編輯器進(jìn)行編輯。 在VC中的操作順序是:compile-build *.exe,第4步:執(zhí)行,鏈接后得到的可執(zhí)行文件名,對操作系統(tǒng)來說,相當(dāng)于一條命令。在操作系統(tǒng)提供的命令界面上打入這個命令,就可以開始執(zhí)行這個程序。 在VC中的操作順序是:compile-excute *.exe 或在你保存.c文件的文件夾下的debug目錄下找到.exe文件,直接雙擊。,總結(jié):簡單C語言程序設(shè)計步驟,分析問題,設(shè)計解決方案 編寫C語言程序代碼,上機操作(編輯、編譯、鏈接、執(zhí)行),理論課的主要內(nèi)容,實驗課的主要內(nèi)容 上述每個步驟都可能出現(xiàn)很多錯誤,具體有三種錯誤:語法錯誤、邏輯錯誤、運行錯誤??傊?,出現(xiàn)錯誤就要進(jìn)行調(diào)試。 調(diào)試(debug):去掉程序中的錯誤的過程,課堂編程練習(xí),1. 編寫一個C語言程序,在屏幕上顯示3行字符(自己選擇)。 課堂練習(xí)的成績計入平時成績。!,練習(xí)題答案:,/*example1.c-在屏幕上輸出三行字符. */ #include int main( ) printf(“Learning C programming is hard but interesting.n”); printf(“I love C language.n”); printf(“I love C programming.n”); return (0); ,例2:下面程序的運行結(jié)果是?,#include int main() printf(“3+4=%dn”,3+4); printf(“2*3.14*5=%fn”, 2*3.14*5); printf(“l(fā)etter=%cn”,A); return (0); ,請注意程序執(zhí)行是有順序的 %d,%f,%c分別對應(yīng)三種數(shù)據(jù)類型:整數(shù)、實數(shù)、字符,本課程學(xué)習(xí)方法,課前按照授課

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論