《C语言-第1章C语言简介.ppt》由会员分享,可在线阅读,更多相关《C语言-第1章C语言简介.ppt(22页珍藏版)》请在三一办公上搜索。
1、第1章 C語言簡介,C的發展史 C程式初體驗C程式設計基本注意事項上機實習課程,C的起源,1972年貝爾實驗室的Dennis Ritchie以B語言為基礎,並持續改善它。除了保留BCLP及B語言中的許多觀念外,更加入了資料型態的觀念及其它功能,並且將它發表為C語言。Dennis Ritchie發展出來的C語言乃是架構在DEC PDP-11電腦上,最初的目的主要是做為開發Unix作業系統的工具。由於C語言這樣實用的工具使得Unix作業系統開發難度降低且進行順利,所以也開始應用在其它的程式設計領域,因此也使得C語言迅速受到眾人的矚目。,1-1 C的發展史,C的特色與優點(1),程式可攜性高,具有跨
2、平台能力只要是使用ANSI C定義的標準函數庫來開發,而其中不包含一些中斷處理或廠商單獨提供的函數庫,那麼所開發出來的程式將具有相當高的可攜性(Portable)。如果將開發出來的C語言程式碼拿到不同的作業平台上重新編譯,隨即能夠產生一個功能相同的可執行程式,而程式開發者不再需要重新編撰程式碼內容。,1-1 C的發展史,C的特色與優點(2),體積小,執行效率高相較於Java、Visual Basic、Pascal等程式語言來說,C語言的執行效率相當高,執行時也相當穩定。具低階處理能力雖然這些較低階的操作技巧在學習上並不容易,不過卻是其它高階程式語言難以達成的工作項目。這也是C功能較其它語言強大
3、的地方。作為學習其它語言的基礎C語言堪稱是程式語言之父,例如C+、Java、PHP與C#等程式語言,它們的基本語法及某些程式觀念都與C十分類似。,1-1 C的發展史,C程式執行過程簡介,過程通常可區分為編輯、編譯、連結、載入與執行五個階段。目前多半是使用所謂的整合開發環境(IDE,Integrated Development Environment)來作為C的開發環境。編寫完的程式碼,電腦是看不懂的,必需翻譯成電腦能懂的機器語言模式。由於C是一種編譯式語言,也就是必須使用編譯器將原始程式翻譯成目的碼,副檔名為*.obj。,1-1 C的發展史,由於使用者編譯的C程式中可能會使用到函數庫(副檔名為
4、*.lib)中的函數,或者一個程式可能分為數個檔案來開發,這些檔案在編輯為目的檔後,必須透過連結器(linker),最後才會產生可執行檔(副檔名為*.exe)。最後載入過程將可執行檔與相關的函數庫元件,從磁碟中載入到記憶體中,就可準備執行了。,1-1 C的發展史,C程式初體驗,1-2 C程式初體驗,編寫程式區,功能表,工具列,專案瀏覽區,狀態列,編譯器輸出紀錄區,程式輸入游標,程式碼的編寫與儲存,輸入完以上程式碼後,請執行檔案/儲存指令或是工具列上的儲存 鈕,並以Ch01_01為檔名,.c為副檔名進行檔案儲存。,1-2 C程式初體驗,01#include 02#include 0304 int
5、 main(void)05 06 printf(C程式初體驗n);/*呼叫printf()函數*/07 08 system(pause);09 return 0;10,程式碼的編譯與執行,按下工具列中的編譯按鈕 或執行執行/編譯指令,然後會出現以下視窗,代表檔案正在編譯中,如果編譯成功,原本的Compiling會出現Done字樣:,1-2 C程式初體驗,編譯進行中,這還包括連結與載入過程,請執行執行/執行指令或按下執行鈕。將會看到本程式的執行結果:,1-2 C程式初體驗,程式碼快速解析,程式範例:第一個程式碼範例:CH01_01.c,1-2 C程式初體驗,1-2 C程式初體驗,第12行:利用#
6、include指令是前置處理指令的一種,在編譯時可將標頭檔與標頭檔含括進來。第4行:C中的main()函數是程式的進入點,而程式的內容則包含在main()下的大括弧內,而void表示此函數不需要任何的引數,int是宣告函數回傳值是整數資料型態。第510行:表示此函數的所有指令內容。當然在這兩個大括弧間也可以完全沒有任何指令。第6行:printf()是C語言的輸出函數指令,會將括號中引號內的字串輸出到螢幕上,而/n則是跳脫字元的一種,有換行的功用,這些輸出功能會在第三章中為您深入說明。至於/*與*/符號所包括的部份稱為註解。,1-2 C程式初體驗,第8行:由於Windows系統正常結束後,都會直
7、接關掉執行視窗,執行畫面會一閃即逝,根本看不出執行結果。這時可利用system()函數呼叫系統參數pause會讓程式執行到此先暫停,並且在執行視窗中會印出請按任意鍵繼續等字,當您敲下任意鍵後,程式便會往下執行。第9行:因為主程式被宣告為int資料型態,必須回傳(return)一個值,在習慣上是傳回0作為程式執行完畢,在ANSI C語法中,如果這行指令省略,也會自動視為是return 0;指令。,妥善利用函數,當程式開始執行時,一定會先執行main()這個函數,而不管它在程式中的任何位置,編譯器都會找到它才開始編譯程式內,因此main()又稱為主函數,架構如下所示:,1-3 C程式設計基本注意事
8、項,01 int main()02 03 指令 1;04 指令 2;05.06.07,C語言程式的開頭,C語言程式的內容,其中第02行的左大括弧表示main()函式開始,第07行的右大括弧則表示main()函式的結束。另外在這兩個大括弧間也可以完全沒有任何內容,因此一個最簡單的C程式可以如下:,1-3 C程式設計基本注意事項,01 int main()02 03,完全無任何的陳述,底下列出常見的C內建標頭檔供做參考:,1-3 C程式設計基本注意事項,適當加以縮排,在同一行指令中,對於完整不可分割的單元稱為字符(token),兩個字符間必須以空白鍵、tab鍵或輸入鍵區隔。請看以下指令範例:,1-
9、3 C程式設計基本注意事項,Return0;/*不合法的指令*/printf(C程式初體驗n);/*合法的指令*/printf(C程式初體驗!n);system(pause);return 0;/*合法的指令*/print f(C程式初體驗!n);/*不合法的指令*/,像是在主程式中包含子區段,或者子區段中又包含其它子區段時,這時就可以透過縮排來區分程式碼的層級。簡單來說,遇到大括號時就要考慮縮排。如以下巢狀if else指令,透過縮排的效果讓,讓區塊層次更分明:,1-3 C程式設計基本注意事項,1-3 C程式設計基本注意事項,盡量加上註解,註解不僅可以幫助其他的程式設計師了解程式內容,在日後進行程式維護時,詳盡的註解也能夠省下不少維護時間與成本。在C中/*與*/間的文字都屬於註解內容。另外註解也能夠跨行使用。如下所示:,1-3 C程式設計基本注意事項,/*這是我的第一個C程式它會顯示一小段簡單的文字*/,中間的內容編譯器全部不予理會,上機實習課程,上機實習範例:CH01_02.c,1-4 上機實習課程,執行結果,1-4 上機實習課程,
链接地址:https://www.31ppt.com/p-6503699.html