<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # C++ 函數 > 原文: [https://www.programiz.com/cpp-programming/function](https://www.programiz.com/cpp-programming/function) #### 在本教程中,我們將借助示例學習 C++ 函數和函數表達式。 函數是執行特定任務的代碼塊。 假設我們需要創建一個程序來創建一個圓并為其著色。 我們可以創建兩個函數來解決此問題: * 畫圓的函數 * 給圓上色的函數 將復雜的問題分成較小的塊可以使我們的程序易于理解和重用。 有兩種函數: 1. **標準庫函數**:在 C++ 中預定義 2. **用戶定義的函數**:由用戶創建 在本教程中,我們將主要關注用戶定義的函數。 * * * ## C++ 用戶定義函數 C++ 允許程序員定義自己的函數。 用戶定義的函數將執行特定任務的代碼分組,并為該組代碼指定名稱(標識符)。 從程序的任何部分調用該函數時,它們都將執行該函數主體中定義的代碼。 * * * ### C++ 函數聲明 聲明函數的語法為: ```cpp returnType functionName (parameter1, parameter2,...) { // function body } ``` 這是一個函數聲明的例子。 ```cpp // function declaration void greet() { cout << "Hello World"; } ``` 這里, * 該函數的名稱為`greet()` * 該函數的返回類型為`void` * 空括號表示沒有任何參數 * 函數體寫在`{}`內部 **注意**:我們將在本教程的后面部分學習`returnType`和`parameters`。 * * * ### 調用函數 在上面的程序中,我們聲明了一個名為`greet()`的函數。 要使用`greet()`函數,我們需要對其進行調用。 這就是我們可以調用上面的`greet()`函數的方法。 ```cpp int main() { // calling a function greet(); } ``` ![Working of C++ function](https://img.kancloud.cn/f3/d9/f3d9c3f30adbf3e28b8537d1eb06d483.png "Working of C++ function") 函數如何在 C++ 中工作 * * * ### 示例 1:顯示文本 ```cpp #include <iostream> using namespace std; // declaring a function void greet() { cout << "Hello there!"; } int main() { // calling the function greet(); return 0; } ``` **輸出** ```cpp Hello there! ``` * * * ### 函數參數 如上所述,可以使用參數(參數)聲明函數。 參數是在聲明函數時傳遞的值。 例如,讓我們考慮以下函數: ```cpp void printNum(int num) { cout << num; } ``` 在此,`int`變量`num`是函數參數。 我們在調用函數時將值傳遞給函數參數。 ```cpp int main() { int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; } ``` * * * ### 示例 2:帶參數的函數 ```cpp // program to print a text #include <iostream> using namespace std; // display a number void displayNum(int n1, float n2) { cout << "The int number is " << n1; cout << "The double number is " << n2; } int main() { int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; } ``` **輸出** ```cpp The int number is 5 The double number is 5.5 ``` 在上面的程序中,我們使用了一個函數,該函數具有一個`int`參數和一個`double`參數。 然后,我們將`num1`和`num2`作為參數傳遞。 這些值分別通過函數參數`n1`和`n2`存儲。 ![C++ function with parameters](https://img.kancloud.cn/f3/d9/f3d9c3f30adbf3e28b8537d1eb06d483.png "C++ function with parameters") 帶參數的 C++ 函數 **注意**:調用函數時傳遞的參數類型必須與函數聲明中定義的相應參數匹配。 * * * ### `return`語句 在以上程序中,我們在函數聲明中使用了`void`。 例如, ```cpp void displayNumber() { // code } ``` 這意味著該函數不返回任何值。 也可以從函數返回值。 為此,我們需要在函數聲明期間指定函數的`returnType`。 然后,`return`語句可用于從函數返回值。 例如, ```cpp int add (int a, int b) { return (a + b); } ``` 在這里,我們具有數據類型`int`而不是`void`。 這意味著該函數返回`int`值。 代碼`return (a + b);`返回兩個參數的總和作為函數值。 `return`語句表示函數已結束。 函數內`return`之后的任何代碼均不執行。 * * * ### 示例 3:加兩個數字 ```cpp // program to add two numbers using a function #include <iostream> using namespace std; // declaring a function int add(int a, int b) { return (a + b); } int main() { int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; } ``` **輸出** ```cpp 100 + 78 = 178 ``` 在上述程序中,`add()`函數用于查找兩個數字的和。 在調用函數時,我們傳遞了兩個`int`字面值`100`和`78`。 我們將函數的返回值存儲在變量`sum`中,然后進行打印。 ![Working of C++ Function with return statement ](https://img.kancloud.cn/f3/d9/f3d9c3f30adbf3e28b8537d1eb06d483.png "Working of C++ Function with return statement ") C++ 函數與`return`語句的配合使用 注意,`sum`是`int`類型的變量。 這是因為`add()`的返回值是`int`類型的。 * * * ### 函數原型 在 C++ 中,函數聲明的代碼應在函數調用之前。 但是,如果要在函數調用之后定義函數,則需要使用函數原型。 例如, ```cpp // function prototype void add(int, int); int main() { // calling the function before declaration. add(5, 3); return 0; } // function definition add(int a, int b) { cout < (a + n); } ``` 在上面的代碼中,函數原型為: ```cpp void add(int, int); ``` 這為編譯器提供了有關函數名稱及其參數的信息。 這就是為什么我們可以在定義函數之前使用代碼來調用函數。 函數原型的語法為: ```cpp returnType functionName(dataType1, dataType2, ...); ``` * * * ### 示例 4:C++ 函數原型 ```cpp // using function definition after main() function // function prototype is declared before main() #include <iostream> using namespace std; // function prototype int add(int, int); int main() { int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; } // function definition int add(int a, int b) { return (a + b); } ``` **輸出** ```cpp 100 + 78 = 178 ``` 上面的程序與**示例 3** 幾乎相同。 唯一的區別是,此處在函數調用之后定義了**函數**。 這就是我們在此示例中使用函數原型的原因。 * * * ### 使用用戶定義函數的好處 * 函數使代碼可重用。 我們可以聲明一次并多次使用它們。 * 通過將每個小任務劃分為一個函數,函數使程序更容易。 * 函數增加了可讀性。 * * * ## C++ 庫函數 庫函數是 C++ 編程中的內置函數。 程序員可以通過直接調用庫函數來使用它們; 他們不需要自己編寫函數。 C++ 中一些常見的庫函數是`sqrt()`,`abs()`,`isdigit()`等。 為了使用庫函數,我們通常需要包括在其中定義這些庫函數的頭文件。 例如,為了使用諸如`sqrt()`和`abs()`之類的數學函數,我們需要包括頭文件`cmath`。 * * * ### 示例 5:查找數字的平方根的 C++ 程序 ```cpp #include <iostream> #include <cmath> using namespace std; int main() { double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; } ``` **輸出** ```cpp Square root of 25 = 5 ``` 在此程序中,`sqrt()`庫函數用于計算數字的平方根。 `sqrt()`的函數聲明在`cmath`頭文件中定義。 這就是為什么我們需要使用代碼`#include <cmath>`來使用`sqrt()`函數的原因。 要了解更多信息,請訪問 [C++ 標準庫函數](/cpp-programming/library-function)。
                  <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>

                              哎呀哎呀视频在线观看