C 語言自我評量暨學習要點
Von Neuman 電腦架構
自動化機器的功能:處理資料、記錄及控制狀態改變
C
程式語言的目的
低階:如何操作 Von Neuman 架構電腦
高階:數學符號語言的抽象化
C
語言在程式語言發展史上的地位
高階與低階的
C
語言/可移植性
C
語言與作業系統的關係
如何製作程式 — 設計、編輯、編譯、連結、載入、執行、偵錯
撰寫程式會發生的錯誤
編譯錯誤(文法錯誤)
執行錯誤(邏輯錯誤)
C 編譯器的前處理器
常數定義
巨集定義
定義檔引入
條件式編譯控制
程序式程式語言的基本架構 (建構演算法的基本工具)
資料宣告 (變數宣告)
資料搬移
數學/邏輯運算
控制移轉 (goto, if else, switch case, while, repeat, for , function)
C
語言的語法:BNF
保留字 (reserve word)、運算子 (operator)
敘述 (Statement)
表示式 (Expression, precedence, associativity)
變數的作用範圍 (scope) 與變數生命週期
Local vs. Global
Auto vs. Static
變數型別檢查的意義, 型別自動轉換的時機, 型別強迫轉換
作業系統提供的支援
輸入、輸出函式庫 (螢幕、鍵盤、檔案) (stdio.h, conio.h)
字串處理函式庫 (string.h)
數學函式庫 (math.h)
偵錯函式庫 (assert.h)
動態記憶體配置函式庫 (malloc.h)
程式 (演算法) 發展的基本方法
控制流程導向
資料流 — 程式是為了控制資料變化的
狀態圖 — 撰寫模擬程式常用之工具
資料結構化 (抽象化)
陣列
結構
複雜的變數宣告 / typedef 敘述
Top-down 程序式程式設計
指標變數
資料 — 動態記憶體配置
函式 — 程式當作資料來處理
Wild pointer (illegal access), memory leakage
模組化的程式設計 (模組的重用)
基本演算法
疊代式演算法
遞迴式演算法
回
程式設計課程
首頁
by Pei-yih Ting
E-mail:
pyting@cs.ntou.edu.tw