/*
以下是 C programming language 課程的主題與時數。

一般而言,大綱如下所列。然而因應學員的程度不同及需求不同,
可有不同的上課方式與進度,時數也將因此有所調整。因此,
可能調整開出 6 小時、12 小時、18 小時課程,完全視需求而定。


課程:C 語言精要
時數:12 小時
適合對象:曾經有過其他程式語言基礎,但對 C 語言毫無所悉或一知半解者。
教材:侯捷提供講義(電子檔),索課單位自行影印發給學員。

課程主題:
◎概論(C的歷史、優缺點、編譯概念、編譯環境、執行環境...)
◎最基本的C程式
◎C程式的根本架構
◎註解(comments)
◎前處理器指令(preprocessor directives)—— #include, #define
◎區塊(blocks)
◎函式(functions)——自定函式、標準函式
◎流程控制(flow control)—— if, switch-case, for, while, do while, break, continue, goto
◎常數/字面常數(constants/literals)
◎變數(variables)—— 宣告(declaration)、定義(definition)、生存範圍(scope)
◎變數型別(types)—— 基本型別、自定型別(結構、strcutures)
◎運算子(operators)—— 邏輯(logical)、算術(arithmetic)、位元(bitwise)運算
◎飾詞(modifiers)——const, volatile, static

◎指標(pointers)—— 指向變數(pointer to variable)、指向函式(pointer to function)、指向指標(pointer to pointer)
◎陣列(array)
◎標準函式(C runtime library functions; CRT)
◎關於I/O——printf/scanf family functions
◎關於字串(string)—— 字元陣列(character array)與相關標準函式
◎關於記憶體(memory)—— malloc/free family functions
◎關於檔案(file)——fopen/fclose family functions


課程:高階 C 語言
時數:6 小時
適合對象:本課程以「函式、指標、記憶體、物件導向模擬」為主要內容,適合對 C 語言已有相當基礎者
教材:侯捷提供講義(電子檔),索課單位自行影印發給學員。

課程主題:

◎關於函式(function)
函式形式複習(參數、引數、函式本體、回返值)
如何成就一個設計良好的函式

◎關於指標(pointer)
指標的本質
指標 vs. 引用(reference)
指標 vs. 陣列(array)
指標 vs. 字串(string)
指向變數 vs. 指向函式
當指標被做為函式參數
野指標(wild pointer)的存在與避免

◎關於記憶體(memory)
C 語言的記憶體概觀
CRT(C Runtime Library)中的記憶體相關函式
記憶體區塊(allocated memory block)分析
如何面對記憶體不足
自製記憶池(memory pool)
◎物件導向(Object Oriented)
以 C Struct 模擬 C++ Class,包括 data members, member functions, this pointer... 

-- the end

*/