/*
以下是 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

*/