WeHelp
C 語言是一種通用的、程序式的程式語言,可直接對記憶體與硬體進行操作,效率極高。
  1. C 特色用途、相關職務
  2. Windows 環境建置、測試
  3. Mac 環境建置、測試
  4. Linux 環境建置、測試
  5. C 標準輸出、輸入
  6. C 資料型態
  7. C 變數使用
  8. C 運算符號
  9. IF 條件判斷
  10. Switch 條件判斷
  11. While 迴圈
  12. For 迴圈
  13. Array 陣列
  14. String 字串
  15. Function 函式
  16. 標準函式庫
  17. Struct 結構
  18. Pointer 指標
  19. 指標與函式參數
  20. 指標與陣列
  21. 指標與結構
  22. 動態配置記憶體
Function 函式
# C 函式基礎觀念與語法 函式(Function)是一段可以重複使用的程式碼,用來完成特定工作。將程式分成多個函式,可以讓程式更容易閱讀、測試與維護。 --- ## 一、函式的基本結構 ```c 回傳型別 函式名稱(參數列表) { // 函式內容 return 回傳值; } ``` 例如: ```c int add(int a, int b) { return a + b; } ``` 說明: - `int`:函式的回傳型別 - `add`:函式名稱 - `int a, int b`:函式參數 - `return a + b;`:回傳結果 --- ## 二、函式定義 函式定義是實際撰寫函式內容的地方。 ```c int square(int number) { return number * number; } ``` 此函式名為 `square`,接受一個整數參數 `number`,並回傳它的平方值。 如果函式不需要回傳值,可以使用 `void`: ```c void sayHello() { printf("Hello!\n"); } ``` --- ## 三、函式呼叫 要執行函式,必須在其他地方呼叫它。 ```c sayHello(); ``` 有參數的函式,呼叫時需要傳入對應的值: ```c int result = square(5); printf("%d\n", result); ``` 執行結果: ```text 25 ``` --- ## 四、函式參數 參數是傳入函式的資料。 ```c int add(int x, int y) { return x + y; } ``` 呼叫時: ```c int result = add(3, 4); ``` 其中: - `x`、`y` 是函式定義中的形式參數 - `3`、`4` 是呼叫時傳入的實際參數 C 語言一般採用「傳值呼叫」,也就是函式會取得參數的副本,修改參數通常不會影響原本的變數。 --- ## 五、函式回傳值 函式可以使用 `return` 回傳資料。 ```c int multiply(int a, int b) { return a * b; } ``` 呼叫後可以將結果存入變數: ```c int answer = multiply(2, 5); ``` 如果函式沒有回傳值,使用 `void`: ```c void printMessage() { printf("Welcome!\n"); } ``` `void` 函式可以使用單獨的 `return;` 提早結束,但不需要回傳資料。 --- ## 六、函式宣告(函式原型) 如果函式定義寫在 `main()` 後面,必須先宣告函式原型: ```c #include <stdio.h> int add(int a, int b); // 函式宣告 int main() { int result = add(10, 20); printf("%d\n", result); return 0; } int add(int a, int b) // 函式定義 { return a + b; } ``` 函式原型的格式如下: ```c 回傳型別 函式名稱(參數型別); ``` --- # 程式範例 1:無參數、無回傳值 ```c #include <stdio.h> void printWelcome() { printf("歡迎學習 C 語言!\n"); } int main() { printWelcome(); return 0; } ``` 說明: - `printWelcome()` 沒有參數 - 回傳型別是 `void` - 呼叫函式後直接印出訊息 輸出: ```text 歡迎學習 C 語言! ``` --- # 程式範例 2:有參數、有回傳值 ```c #include <stdio.h> int add(int a, int b) { return a + b; } int main() { int result; result = add(10, 20); printf("總和 = %d\n", result); return 0; } ``` 說明: - `add()` 接受兩個整數參數 - 將兩數相加後回傳 - `main()` 使用變數 `result` 儲存回傳值 輸出: ```text 總和 = 30 ``` --- # 程式範例 3:判斷偶數或奇數 ```c #include <stdio.h> int isEven(int number) { if (number % 2 == 0) { return 1; } else { return 0; } } int main() { int number = 8; if (isEven(number)) { printf("%d 是偶數\n", number); } else { printf("%d 是奇數\n", number); } return 0; } ``` 說明: - `%` 是取餘數運算子 - 若數字除以 2 的餘數為 0,就是偶數 - `isEven()` 回傳: - `1`:是偶數 - `0`:不是偶數 輸出: ```text 8 是偶數 ``` --- ## 重點整理 | 概念 | 說明 | |---|---| | 函式定義 | 撰寫函式實際執行的內容 | | 函式呼叫 | 使用函式,例如 `add(3, 4)` | | 函式參數 | 傳入函式的資料 | | 回傳值 | 函式執行後傳回的結果 | | `void` | 表示函式沒有回傳值 | | `return` | 結束函式並回傳資料 | | 函式原型 | 先告知編譯器函式的名稱、參數與回傳型別 | 常見的函式格式如下: ```c 回傳型別 函式名稱(參數) { // 執行內容 return 回傳值; } ```
相關學習地圖、教學課程
C 語言,系統程式
掌握基礎的 C 語法,以及進階的系統程式開發能力。