<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # C 編程中的函數 > 原文: [https://beginnersbook.com/2014/01/c-functions-examples/](https://beginnersbook.com/2014/01/c-functions-examples/) 函數是執行特定任務的語句塊。假設您正在使用 C 語言構建應用,并且在某個程序中,您需要多次執行相同的任務。在這種情況下,您有兩種選擇: a)每次要執行任務時都使用相同的語句集 b)創建一個執行該任務的函數,并在每次需要執行該任務時調用它。 使用選項(b)是一種很好的做法,優秀的程序員總是在用 C 編寫代碼時使用函數。 ### 函數類型 1)**預定義的標準庫函數** - 如`puts()`,`gets()`,`printf()`,`scanf()`等 - 這些函數已經在頭文件中有定義(`.h`文件如`stdio.h`),所以我們只要在需要使用它們時調用它們。 2)**用戶定義函數** - 我們在程序中創建的函數稱為用戶定義函數。 在本指南中,我們將學習如何創建用戶定義的函數以及如何在 C 編程中使用它們。 ## 為什么我們需要 C 中的函數 由于以下原因使用函數: a)提高代碼的可讀性。 b)提高代碼的可重用性,可以在任何程序中使用相同的函數,而不是從頭開始編寫相同的代碼。 c)如果使用函數,代碼的調試會更容易,因為錯誤很容易被跟蹤。 d)減少代碼的大小,重復的語句集被函數調用替換。 ### 函數的語法 ```c return_type function_name (argument list) { Set of statements – Block of code } ``` **`return_type`**:返回類型可以是任何數據類型,如`int`,`double`,`char`,`void`,`short`等。一旦你完成下面的例子,不要擔心你會更好地理解這些術語。 **`function_name`**:它可以是任何東西,但建議為函數設置一個有意義的名稱,這樣只要看到它的名字就可以很容易地理解函數的用途。 **參數列表**:參數列表包含變量名稱及其數據類型。這些參數是函數的一種輸入。例如 - 用于相加兩個整數變量的函數將具有兩個整數參數。 **代碼塊**:C 語句集,只要對函數進行調用,就會執行。 **您覺得上述術語令人困惑嗎? - 不要擔心,在你學會了所有這些之前我不會結束本指南 :)** 讓我們舉一個例子 - 假設你想創建一個函數來相加兩個整數變量。 **讓我們分解問題,以便它易于理解:** 函數將添加兩個數字,因此它應該有一些有意義的名稱,如`sum`,`addition`等。例如,讓我們為這個函數取名。 ```c return_type addition(argument list) ``` 這個函數相加了兩個整數變量,這意味著我需要兩個整數變量作為輸入,讓我們在函數簽名中提供兩個整數參數。函數簽名是: ```c return_type addition(int num1, int num2) ``` 兩個整數之和的結果僅為整數。因此函數應該返回一個整數值 - **我得到了我的返回類型** - 它將是整數: ```c int addition(int num1, int num2); ``` 所以你得到了你的函數原型或簽名。現在你可以在 C 程序中實現這樣的邏輯: ### 如何在 C 中調用函數? 考慮以下 C 程序: #### 示例 1:創建用戶定義的函數`addition()` ```c #include <stdio.h> int addition(int num1, int num2) { int sum; /* Arguments are used here*/ sum = num1+num2; /* Function return type is integer so we are returning * an integer value, the sum of the passed numbers. */ return sum; } int main() { int var1, var2; printf("Enter number 1: "); scanf("%d",&var1); printf("Enter number 2: "); scanf("%d",&var2); /* Calling the function here, the function return type * is integer so we need an integer variable to hold the * returned value of this function. */ int res = addition(var1, var2); printf ("輸出: %d", res); return 0; } ``` 輸出: ```c Enter number 1: 100 Enter number 2: 120 輸出: 220 ``` #### 示例 2:創建一個不返回任何內容的`void`用戶定義函數 ```c #include <stdio.h> /* function return type is void and it doesn't have parameters*/ void introduction() { printf("Hi\n"); printf("My name is Chaitanya\n"); printf("How are you?"); /* There is no return statement inside this function, since its * return type is void */ } int main() { /*calling function*/ introduction(); return 0; } ``` 輸出: ```c Hi My name is Chaitanya How are you? ``` **有關 C 中函數的注意事項:** 1)C 程序中的`main()`也是一個函數。 2)每個 C 程序必須至少有一個函數,即`main()`。 3)函數數量沒有限制; C 程序可以具有任意數量的函數。 4)一個函數可以調用自身,它被稱為“**遞歸**”。我已經為它寫了一份單獨的指南。 **C 函數必須記住的術語** **返回類型**:返回值的數據類型。它也可以是`void`的,在這種情況下,函數不返回任何值。 注意:例如,如果函數返回類型是 **`char`**,那么函數應該返回`char`類型的值,并且在調用此函數時`main()`函數應該有一個`char`數據類型的變量來存儲返回的值。 結構看起來像: ```c char abc(char ch1, char ch2) { char ch3; … … return ch3; } int main() { … char c1 = abc('a', 'x'); … } ``` #### 關于 C 中函數的更多主題 1) [**函數 - 按值調用方法**](https://beginnersbook.com/2014/01/c-function-call-by-value-example/) - 在按值調用方法中,實際參數被復制到形式參數,因此函數對形式參數執行的任何操作都不會影響實際參數。 2) [**函數 - 按引用調用方法**](https://beginnersbook.com/2014/01/c-function-call-by-reference-example/) - 與按值調用不同,在此方法中,實際參數的地址被傳遞給形式參數,這意味著對形式參數執行的任何操作會影響實際參數的值。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看