# 0 基礎 C 語言教學大綱 ## 1️⃣ 認識 C 與環境設定 * C 語言歷史 * 安裝 VS Code / MinGW / WSL * 編譯流程:gcc hello.c -o hello * 第一個程式:Hello World ## 2️⃣ 基本語法與資料型態 * 變數命名規則、常數 * 資料型態:int, char, float, double * printf / scanf 基礎格式化教學(%d, %f) * 實作:BMI 計算器 ## 3️⃣ 運算子與條件判斷 * 算術 / 比較 / 邏輯運算子 * if, else, else if * switch 介紹與實作:計算成績等第 ## 4️⃣ 迴圈與流程控制 * for, while, do-while * break, continue 控制流程 * 綜合實作:求質數、費氏數列 ## 5️⃣ 一維陣列與字串操作 * 陣列初始化、走訪、累加 * 字串:char s\[100] 與 %s * 自製 split 函式概念(Beej’s split) * 練習:反轉字串、字元統計 ## 6️⃣-1 函式與模組化思維 * 函式定義、參數傳遞、回傳值 * void、int 型別使用習慣 * 遞迴:階乘與費氏數列 * CodeStep 練習題實作 ## 6️⃣-2 函式進階 - recursion * Recursion 演算法介紹 * Mergesort 介紹 ## 7️⃣ 指標概念入門 * & 與 \* 解釋 * 指標變數宣告與賦值 * 指標與陣列的關係 * 練習:以指標反轉陣列 ## 8️⃣ 陣列與指標整合 * 指標與字串陣列 * char \*\*argv 說明 * 二維陣列與 \*p\[] 操作 * Beej’s split 範例進階 ## 9️⃣ 結構與 typedef * struct/union 定義與使用 * 結構作為參數傳遞 * 結構現實應用 * 練習:學生資料管理系統 ## 🔟 動態記憶體管理 * malloc, calloc, realloc, free * 記憶體洩漏觀念介紹 * 記憶體配置深入觀察 * 字串複製與 split 實作 ## 12 字串處理 * 字串操作標準函式(strlen, strcpy, strcmp, strcat) * 字元與字串的差異與實用案例 * 實作練習:字串反轉、字元計數、子字串尋找 ## 13 檔案處理基礎 * fopen, fscanf, fprintf, fclose * 文字檔 vs 二進位檔說明 * 實作:讀寫學生資料 ## 14 Linked list 結構 * 單向鏈結串列建立與走訪 * 插入與刪除節點操作 * 鏈結串列與 malloc 整合練習 ## 15 Quicksort 演算法 * 排序演算法簡介與比較 * 快速排序演算法邏輯與實作 * 指標與遞迴的綜合應用