




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Introduction to C Programming Language授課教師授課教師: 李彥賢李彥賢程式語言的作用n人與電腦的溝通橋樑n電腦只懂0與1n程式語言提供人們以接近自然語言的方式來描述希望電腦協助進行的工作 (撰寫程式碼)n程式語言會協助將程式碼翻譯為電腦可以瞭解的機器碼 (也就是只有0與1), 讓電腦進行人們想讓他進行的工作C語言的特色n編譯式程式語言n介於高階與低階語言之間n提供結構化的程式設計n可攜性佳C語言的特色 (續)n編譯式程式語言n原始程式碼 (source code)必須經過編碼轉換成機器所能解讀的語言(machine code)後,方能執行。n編碼轉換的方式
2、有兩種: 包括直譯直譯與編譯編譯C語言的特色 (續)編譯程式程式碼目的碼連結程式函式庫執行檔翻譯並執行 程 式程式碼函式庫直譯器Interpreter編譯器Compiler執行檔日後再次執行程式C語言的特色 (續)n介於高階與低階語言之間n高階語言語法接近自然語言,因此在程式的撰寫時,比較容易上手使用,例如Basic。n低階語言對於硬體的控制較佳,例如可以控制記憶體的存取或是撰寫硬體的驅動程式。n高階語言的缺點在於執行效率差;相反地,低階語言的缺點則在於撰寫不易。nC語言介於高階和低階語言之間,兼具兩者的特色。C語言的特色 (續)n提供結構化的程式設計n利用C語言可以撰寫出相當結構化及模組化的
3、程式n可攜性n程式可攜性佳是表示在某一系統 (例如Windows) 下撰寫的程式,可以在少量修改或不修改的情況下,即可在另一個系統 (例如Unix或 Linux) 中編譯且執行如何寫好一個程式n寫好一個程式包括六個步驟n規劃程式n撰寫程式n編譯程式n執行程式n偵錯與測試n程式儲存如何寫好一個程式 (續)n規劃程式n程式的目的n程式的需求n程式的流程n將大問題變小問題n撰寫程式n根據先前的規劃,利用某種程式語言將程式撰寫出來如何寫好一個程式 (續)n編譯程式n將撰寫的程式碼轉換成機器碼,根據所使用的語言不同,會有不同的轉換方式,例如直譯或編譯n執行程式n編譯式的程式語言,若程式無語法上的錯誤,
4、經過編譯後會產生一個可執行檔 (.exe),供使用者日後執行使用n直譯式的程式語言一般來說則不會產生可執行檔如何寫好一個程式 (續)n偵錯與測試n程式本身有邏輯上的錯誤,造成執行結果不正確時,則需進行測試的偵錯n一般來說,程式都需經過測試來驗證其是否能夠正確運作nDebug小技巧n程式儲存n養成隨時動手儲存程式的習慣,以防萬一如何寫一個“好”程式n撰寫一個易讀、易懂、易追蹤的程式n為變數做有意義的命名n程式邏輯簡化n模組化、結構化程式n編寫註解n程式內容編排格式化C語言程式檔案的基本組成#include #include #define cats(x) x*xchar who = “You”;
5、int main(void) int num; Num = 2; /*print out the value of num variable*/ printf(“I have %d dogs.n”, num); printf(“You have %d catsn”, cats(num); return (0);C語言程式檔案的基本組成 (續)n前置處理區n標頭檔 (#include)n巨集 (#define)n條件式編譯 (#ifdef, #endif)n全域變數或自定資料型態宣告n主程式區n函數與副程式宣告n主程式內使用的變數 (區域變數) 或自定資料型態宣告n程式碼變數宣告n宣告變數可以方
6、便程式除錯與解讀,在程式設計時亦有助於變數的管理n宣告變數的目的在於將記憶體中的某個區段預留讓程式可做後續的利用n變數宣告後,編譯程式會配置一塊足以容納該變數大小的記憶體空間,無論變數內的值如何變動,都不會影響或變更該空間的大小變數宣告 (續)nC語言中變數宣告方式n變數資料型態 變數名稱 (= 常數值)n宣告a 為整數需用 int a;n宣告b為浮點數且值為0.5需用 float b = 0.5;nC語言中變數宣告的限制n變數名稱不可用保留字,例如case, doublen變數名稱不能以數字開頭n變數名稱中不能有空白n避免變數名稱過長基本資料型態資料型態型態說明位元組表示範圍整數類型long
7、 int長整數4-2147483648 2147483647int整數4-2147483648 2147483647short int短整數2-3276832767unsigned無號整數無負值字元char字元1一個字母或符號浮點數類型float浮點數41.2e-383.4e38double倍精度浮點數82.2e-3081.8e308基本資料型態 (續)n溢位n當數值超過變數可以表達的範圍時,便會發生溢位n例如,有一個短整數的值為32767,若再在此變數上加1,則由於溢位會使變數值變成為-32768,而非32768n因此在選擇變數型態時便要考慮該變數可能儲存數值的範圍基本資料型態 (續)n記憶
8、體內數值的表達方式0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1正負值= 327670 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = -32768+基本資料型態 (續)n字元的表達方式n電腦是個二進位的數值系統,只能表達1/0,因此每一個字元都有一個相對應的數值,該數值稱為字元的ASCII Coden例如,字元A對應的十進位ASCII Code 為65 ,字元0對應的十進位ASCII Code 為48基本資料型態 (續)n跳脫字元與跳脫序列n有些字元是無法用鍵盤輸入,在C語言中以反斜線,加上
9、控制碼來表達一個完整的特殊字元n例如 n表示換行,0表示字串結束基本資料型態 (續)nC語言中提供兩種浮點數資料型態n單精度浮點數,約有78個位數的精度,亦即能表達78個數字n倍精度浮點數,約有1516個位數的精度,亦即能表達1516個數字查詢常數、變數或資料型態所佔位元組n有些程式中可能需要程式設計師自行宣告變數 (尤其是使用者自訂型態) 所需的記憶體空間n此時便可利用sizeof(常數、變數或資料型態)函數來回傳某常數、變數或資料型態所佔的位元組大小,使程式設計師可為自己定義的資料型態自行配置適當的記憶體空間強制資料型態轉換n在程式執行的過程中,可能會遇到需要變更變數資料型態的狀況n例如我們宣告 x1, x2, x3 為整數變數來分別記錄三次作業成績為71, 82, 95,若我們要算出平均成績X(宣告為倍精度浮點數),並直接將三個整數變數相加除3,即X = (x1+x2+x3)/3則X會得到82.000,而非正確答案82.667。我們就必須在程式中強制轉換資料型態。n我們可將上述例子改為 X = (x1+x2+x3)/3.0或X = (double) (x1+x2+x3)/3強制資料型態轉換 (續)n整數轉換浮點數n假設整數A = 5 轉換成浮點數為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標準版商業店鋪租賃轉讓合同模板
- 2025蜂蜜生產養殖收購合同
- 采購丙綸織帶合同范本
- 防疫安全教育中班
- 2025聘請小說作者合同的范本
- 餐飲培訓公司合同范本
- 2025年標準合同范本
- 財務規范化建設
- 2025借用合同簡單借用合同范文
- 2025電動滑板車銷售合同協議書
- 2024年咨詢工程師之工程項目組織與管理題庫含完整答案(歷年真題)
- 《電力建設施工技術規范 第2部分:鍋爐機組》DLT 5190.2
- (正式版)JBT 14682-2024 多關節機器人用伺服電動機技術規范
- 供水管網搶修管理課件
- 2024屆廣東省廣州市高三下學期一模生物試題及答案
- 國內外化工發展情況及安全形勢
- 2018年高考數學全國1卷第12題出處及變式
- 發作性睡病病案分析
- 神經重癥鎮靜鎮痛護理課件
- 設備維修費用月度分析報告
- 呆滯分析報告
評論
0/150
提交評論