Feis Studio logo
C 語言入門
C 語言相關系列影片
C 語言入門
C 語言的 LeetCode 四月挑戰
C 語言的 LeetCode 五月挑戰
Python 與 C 的 LeetCode 六月挑戰
Python、C++ 與 C 的 LeetCode 七月挑戰
C 語言的 LeetCode 面試精選 150 題挑戰
第 01 章 - 預備知識
01 - 01 | C 語言入門課程簡介
01 - 02 | 程式語言簡介
01 - 03 | C 語言的特色
01 - 04 | C 語言的標準
01 - 05 | 需要準備的工具
01 - 06 | 常見的 C 語言編譯器介紹
01 - 07 | 不同的編譯器有甚麼差?
第 02 章 - 安裝與使用開發環境
02 - 01 | 整合開發環境介紹
02 - 02 | 安裝整合開發環境 (Code::Blocks / Windows 10)
02 - 03 | 使用整合開發環境 (Code::Blocks / Windows 10)
02 - 04 | 整合開發環境設定 (Code::Blocks / Windows 10)
02 - 05 | 編譯器的錯誤訊息
第 03 章 - 開始學習 C 語言
03 - 01 | 跟我的第一個程式說 Hello
03 - 02 | 字元的跳脫
03 - 03 | 簡單的文字圖形練習
03 - 04 | 求兩數字的和
03 - 05 | 算三個數字的和
03 - 06 | 程式寫作風格初探
03 - 07 | 數值交換
03 - 08 | 初學者的練習方式
第 04 章 - 資料型態
04 - 01 | 資料型別簡介
04 - 02 | 整數型別簡介
04 - 03 | 浮點數型別簡介
04 - 04 | 將 printf 或 scanf 用在不同資料型別
04 - 05 | 不同資料型別間的轉換與字面常數
04 - 06 | 字元型別簡介
04 - 07 | 字元編碼簡介
04 - 08 | 使用 char 字元型別
04 - 09 | 怎麼對 char 型別做運算?
04 - 10 | 字元大小寫轉換練習
04 - 11 | 怎麼選擇要使用的型別
第 05 章 - 運算與表示式
05 - 01 | 運算與表示式
05 - 02 | 整數與浮點數的算術運算
05 - 03 | 賦值運算
05 - 04 | 怎麼表示是非對錯?
05 - 05 | 等號與關係運算
05 - 06 | 邏輯運算
05 - 07 | 運算子的優先順序
第 06 章 - 有條件型流程控制 (if 述句)
06 - 01 | 程式流程控制
06 - 02 | 有條件的執行 (if 述句)
06 - 03 | 猜數字 (使用 if 述句)
06 - 04 | 滿額折扣計算練習 (使用 if 述句)
06 - 05 | 正三角形判斷練習 (使用 if 述句)
06 - 06 | 等腰三角形判斷練習 (使用 if 述句)
06 - 07 | 直角三角形的判斷練習 (使用 if 述句)
06 - 08 | 三角形種類判斷練習 (使用 if 述句)
06 - 09 | 三角形種類判斷的條件簡化
第 07 章 - 基礎統計練習
07 - 01 | 對兩個變數求最大值的練習 (使用 if 述句)
07 - 02 | 對三個變數求最大值的練習 (使用 if 述句)
07 - 03 | 對四個變數求最大值的練習 (使用 if 述句)
07 - 04 | 對多個變數求最小值的練習 (使用 if 述句)
07 - 05 | 對三個變數求中位數的練習 (使用 if 述句)
07 - 06 | 對多個變數排序 (使用 if 述句)
07 - 07 | 對兩個變數依照大小排序練習 (使用 if 述句)
07 - 08 | 三個變數的數值交換 (使用 if 述句)
07 - 09 | 對三個變數依照大小排序練習 (使用 if 述句)
07 - 10 | 用兩個變數的數值交換對三個變數做排序 [上]
07 - 11 | 用兩個變數的數值交換對三個變數做排序 [下]
07 - 12 | 用排序簡化三角形種類判斷條件 (使用 if 述句)
第 08 章 - 選擇型流程控制 (if-else, switch)
08 - 01 | 二選一的交叉路口 (if-else 述句)
08 - 02 | 兩個變數比大小的練習 (使用 if-else 述句)
08 - 03 | 猜數字練習 (使用 if-else 述句)
08 - 04 | 簡易四則運算練習 (使用 if-else 述句)
08 - 05 | 對多個變數求最大值的練習 (使用 if-else 述句)
08 - 06 | 多選一的路口 (switch 述句)
08 - 07 | ID 查詢的練習 (使用 switch 述句)
08 - 08 | 猜數字要怎樣能猜到對為止?
第 09 章 - 重複型流程控制 (while, do-while)
09 - 01 | 有條件的重複執行 (while 述句)
09 - 02 | 猜數字練習 (使用 while 述句)
09 - 03 | 數數猜了幾次的練習 (使用 while 述句)
09 - 04 | 求不定個數正整數和的練習 (使用 while 述句)
09 - 05 | 求不定個數正整數平均的練習 (使用 while 述句)
09 - 06 | 數數字的練習 (使用 while 述句)
09 - 07 | 至少做一次的重複執行 (do-while 述句)
09 - 08 | 複合賦值與遞增遞減運算
09 - 09 | 消費金額計算的練習 (使用 switch 述句)
第 10 章 - 計數型流程控制 (for)
10 - 01 | 計次型的重複執行 (for 述句)
10 - 02 | 數數字練習 (使用 for 述句)
10 - 03 | 數等差數列的練習 (使用 for 述句)
10 - 04 | 數特定條件數列的練習 (使用 for 述句)
10 - 05 | 求連續整數和的練習 (使用 for 述句)
10 - 06 | 用文字繪橫線的練習 (使用 for 述句)
10 - 07 | 中止重複執行 (break 與 continue 述句)
第 11 章 - 列出符合特定條件的數字
11 - 01 | 找出所有正因數的練習 (使用 for 述句)
11 - 02 | 韓信點兵的練習
11 - 03 | 有範圍的韓信點兵問題 (使用 for 述句)
11 - 04 | 韓信點兵中的最大值問題 (使用 for 述句)
11 - 05 | 有次數的韓信點兵練習 (使用 for 述句)
11 - 06 | 質數判斷練習 (使用 for 述句)
第 12 章 - 迴圈內有迴圈
12 - 01 | 印出九九乘法表的練習 (使用 for 述句)
12 - 02 | 用文字繪製長方形的練習 (使用 for 述句)
12 - 03 | 用文字繪製空心長方形的練習 (使用 for 述句)
12 - 04 | 用文字繪製三角形的練習 (使用 for 述句)
12 - 05 | 基於座標法用文字繪製三角形 (使用 for 述句)
12 - 06 | 求簡易整數方程式的練習 (使用 for 述句 )
第 13 章 - 函式
13 - 01 | 函式簡介
13 - 02 | 更多關於函式使用的細節
13 - 03 | 使用 C 標準函式庫
13 - 04 | 對兩個變數求最大值的練習 (使用函式)
13 - 05 | 關於變數名稱可視範圍 (scope)
13 - 06 | 對三個變數求最大值的練習 (使用函式)
13 - 07 | 用文字繪製三角形的練習 (使用函式)
13 - 08 | 亂數生成 (使用函式)
13 - 09 | 擲骰子的練習 (使用函式)
第 14 章 - 遞迴
14 - 01 | 函式遞迴
14 - 02 | 數數字的練習 (使用函式)
14 - 03 | 求連續整數和的練習 (使用函式)
14 - 04 | 求上樓梯方法數的練習 (使用函式)
第 15 章 - 陣列
15 - 01 | 陣列簡介
15 - 02 | 骰子點數出現次數統計的練習
15 - 03 | 骰子點數出現次數的統計 (使用陣列)
15 - 04 | 循序存取陣列元素 (使用迴圈)
15 - 05 | 隨機存取陣列元素
15 - 06 | 兩顆骰子點數和出現次數統計的練習 (使用陣列)
15 - 07 | 三顆骰子點數和出現次數統計的練習 (使用陣列)
第 16 章 - 於陣列中搜尋與統計
16 - 01 | 查詢數字的練習 (使用陣列)
16 - 02 | 查詢範圍內數字的練習 (使用陣列)
16 - 03 | 查詢上限內最大數字的練習 (使用陣列)
16 - 04 | 查詢最接近數字的練習 (使用陣列)
16 - 05 | 畫數字統計長條圖的練習 (使用陣列)
16 - 06 | 求小範圍內眾數的練習 (使用陣列)
16 - 07 | 數字統計的練習 (使用陣列)
第 17 章 - 陣列排序
17 - 01 | 陣列的排序問題
17 - 02 | 怎麼檢驗陣列已經排好序 ?
17 - 03 | 透過數值交換對陣列排序
17 - 04 | 泡沫排序法
第 18 章 - 陣列的陣列
18 - 01 | 關於陣列的記憶體配置
18 - 02 | 陣列的陣列
18 - 03 | 用二維陣列表示九宮格
18 - 04 | 用一維陣列表示九官格
18 - 05 | 隨機生成九宮格的練習
第 19 章 - 亂數的產生
19 - 01 | 產生不重複亂數的練習 (使用陣列)
19 - 02 | 用建表法產生不重複的亂數 (使用陣列)
19 - 03 | 用交換法產生不重複的亂數 (使用陣列)
19 - 04 | 全域 (global) 變數的特殊性
19 - 05 | 全域變數與靜態 (static) 區域變數
19 - 06 | 整數的溢位
19 - 07 | 自行生成偽亂數
19 - 08 | 實作偽亂數生成
19 - 09 | 自定義亂數函式
第 20 章 - 陣列的複製
20 - 01 | 陣列的複製
20 - 02 | 在函式間傳遞陣列
20 - 03 | 可對任意大小陣列求最大值的函式
20 - 04 | 存取陣列外元素的問題
20 - 05 | 使用 sizeof 求陣列長度
20 - 06 | 用保留值標記陣列長度
20 - 07 | 存取陣列元素的原理
20 - 08 | 在函式間傳遞陣列的原理
第 21 章 - 字串
21 - 01 | 字串簡介
21 - 02 | 計算字串長度的練習 (使用函式)
21 - 03 | 從鍵盤輸入讀入一行字的練習
21 - 04 | 關於讀入字串的緩衝區溢位問題
21 - 05 | 使用 scanf 讀入資料的問題
21 - 06 | 處理 scanf 函式讀入資料的問題
第 22 章 - 結構
22 - 01 | 結構簡介
22 - 02 | 在函式間傳遞結構物件
第 23 章 - 指標基礎
23 - 01 | 沒有指標的世界
23 - 02 | 指標變數宣告與取址運算
23 - 03 | 指標間接運算
23 - 04 | 更多指標與取址間接運算的細節
第 24 章 - 指標與函式呼叫
24 - 01 | 指標與函式呼叫
24 - 02 | 兩個變數數值交換 (使用函式)
24 - 03 | 兩個變數的排序 (使用函式)
24 - 04 | 該傳變數值還是址
第 25 章 - 指標與陣列
25 - 01 | 指標對整數的加減運算
25 - 02 | 指標與陣列
25 - 03 | 循序存取陣列元素 (使用指標)
25 - 04 | 指標與下標運算子
25 - 05 | 在函式間傳遞陣列 (使用指標)
25 - 06 | 指標與陣列的關係
25 - 07 | 指標與遞增遞減運算子
第 26 章 - 指標與字串
26 - 01 | 指標與字串
26 - 02 | 字串字面常數的特殊性
26 - 03 | const 修飾字
26 - 04 | 字串字面常數與 const char *
26 - 05 | 指標與 const
26 - 06 | 使用函式複製字串
第 27 章 - 指標與結構
27 - 01 | 在函式間傳遞結構物件 (使用指標)
第 28 章 - 指標的陣列與陣列的指標
28 - 01 | 指標的陣列
28 - 02 | 陣列的指標
28 - 03 | 在函式間使用哪種指標傳遞陣列
28 - 04 | 在函式間傳遞二維陣列
28 - 05 | 使用指標陣列在函式間傳遞二維陣列
28 - 06 | 在函式間傳遞任意長寬的二維陣列
28 - 07 | 儲存多個字串
28 - 08 | 可修改內容的多個字串
28 - 09 | 輸入不定個數字串的練習
28 - 10 | 輸入不定個數字串的優化
第 29 章 - 指標的轉型
29 - 01 | 指標間轉型的限制
29 - 02 | 合法的隱性轉型
29 - 03 | 指標與整數間的轉型
29 - 04 | 指標與指標間的強制轉型
29 - 05 | 泛用指標簡介
第 30 章 - 生命週期與動態配置
30 - 01 | 輸入任意個整數後一起印出的練習 (使用固定大小陣列)
30 - 02 | 怎麼讓陣列變大 ?
30 - 03 | 用同一個指標指向不同的陣列
30 - 04 | 變數的生命週期
30 - 05 | 使用自動變數所遇到的問題
30 - 06 | 動態配置記憶體
30 - 07 | 釋放動態配置的記憶體
30 - 08 | 重新配置記憶體
第 31 章 - 函式指標
31 - 01 | 函式指標簡介
31 - 02 | 函式指示符與其特殊性
31 - 03 | 函式指標相關運算的化簡
31 - 04 | 在函式間傳遞函式
31 - 05 | 簡易四則運算練習 (使用函式指標)
31 - 06 | 使用標準庫的快速排序函式排序