工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ 関数

C++ 関数

このチュートリアルでは、例を使用して C++ 関数と関数式について学習します。

関数は、特定のタスクを実行するコードのブロックです。

円を作成して色を付けるプログラムを作成する必要があるとします。この問題を解決するために 2 つの関数を作成できます:

複雑な問題を小さなチャンクに分割することで、プログラムが理解しやすく再利用しやすくなります。

関数には次の 2 種類があります。

<オール>
  • 標準ライブラリ関数: C++ で定義済み
  • ユーザー定義関数: ユーザーが作成
  • このチュートリアルでは、主にユーザー定義関数に焦点を当てます。


    C++ ユーザー定義関数

    C++ では、プログラマは独自の関数を定義できます。

    ユーザー定義関数は、特定のタスクを実行するコードをグループ化し、そのコードのグループに名前 (識別子) を与えます。

    関数がプログラムの任意の部分から呼び出されると、関数の本体で定義されたコードがすべて実行されます。


    C++ 関数宣言

    関数を宣言する構文は次のとおりです:

    returnType functionName (parameter1, parameter2,...) {
        // function body   
    }

    関数宣言の例を次に示します。

    // function declaration
    void greet() {
        cout << "Hello World";
    }

    ここで、

    注: returnTypeについて学びます と parameters


    関数の呼び出し

    上記のプログラムでは、greet() という名前の関数を宣言しています。 . greet() を使用するには 関数を呼び出す必要があります。

    上記の greet() を呼び出す方法は次のとおりです。 関数。

    int main() {
         
        // calling a function   
        greet(); 
    
    }
    <図>

    例 1:テキストを表示する

    #include <iostream>
    using namespace std;
    
    // declaring a function
    void greet() {
        cout << "Hello there!";
    }
    
    int main() {
    
        // calling the function
        greet();
    
        return 0;
    }

    出力

    Hello there!

    関数パラメータ

    前述のように、関数はパラメーター (引数) を使用して宣言できます。パラメーターは、関数を宣言するときに渡される値です。

    たとえば、以下の関数を考えてみましょう:

    void printNum(int num) {
        cout << num;
    }

    ここでは、int 変数 num は関数パラメータです。

    関数を呼び出すときに、関数パラメーターに値を渡します。

    int main() {
        int n = 7;
        
        // calling the function
        // n is passed to the function as argument
        printNum(n);
        
        return 0;
    }

    例 2:パラメータを持つ関数

    // 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;
    }

    出力

    The int number is 5
    The double number is 5.5

    上記のプログラムでは、1 つの int を持つ関数を使用しました。 パラメータと 1 つの double パラメータ。

    次に num1 を渡します そして num2 引数として。これらの値は関数パラメータ n1 によって保存されます と n2

    <図>

    注: 関数の呼び出し中に渡される引数の型は、関数宣言で定義された対応するパラメーターと一致する必要があります。


    返品明細書

    上記のプログラムでは、関数宣言で void を使用しました。たとえば、

    void displayNumber() {
        // code
    }

    これは、関数が値を返さないことを意味します。

    関数から値を返すこともできます。このために、returnType を指定する必要があります。 関数宣言中の関数の。

    次に、return ステートメントを使用して、関数から値を返すことができます。

    たとえば、

    int add (int a, int b) {
       return (a + b);
    }

    ここでは、データ型 int を持っています void の代わりに .これは、関数が int を返すことを意味します

    コード return (a + b); 2 つのパラメーターの合計を関数値として返します。

    return statement は、関数が終了したことを示します。 return の後の任意のコード 関数内は実行されません。


    例 3:2 つの数字を足す

    // 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;
    }

    出力

    100 + 78 = 178

    上記のプログラムでは、add() 関数は、2 つの数値の合計を見つけるために使用されます。

    2 つの int を渡します リテラル 10078 関数の呼び出し中。

    関数の戻り値を変数 sum に格納します

    <図>

    合計 int の変数です タイプ。これは、add() の戻り値が int のものです タイプしてください。


    関数プロトタイプ

    C++ では、関数宣言のコードは関数呼び出しの前にある必要があります。ただし、関数呼び出しの後に関数を定義する場合は、関数プロトタイプを使用する必要があります。たとえば、

    // function prototype
    void add(int, int);
    
    int main() {
        // calling the function before declaration.
        add(5, 3);
        return 0;
    }
    
    // function definition
    void add(int a, int b) {
        cout << (a + b);
    }

    上記のコードでは、関数のプロトタイプは次のとおりです:

    void add(int, int);

    これにより、関数名とそのパラメーターに関する情報がコンパイラーに提供されます。そのため、関数が定義される前にコードを使用して関数を呼び出すことができます。

    関数プロトタイプの構文は次のとおりです:

    returnType functionName(dataType1, dataType2, ...);

    例 4:C++ 関数のプロトタイプ

    // 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);
    }

    出力

    100 + 78 = 178

    上記のプログラムは、例 3 とほとんど同じです。 .唯一の違いは、ここでは関数がに定義されていることです 関数呼び出し。

    そのため、この例では関数プロトタイプを使用しています。


    ユーザー定義関数を使用する利点


    C++ ライブラリ関数

    ライブラリ関数は、C++ プログラミングの組み込み関数です。

    プログラマーは、関数を直接呼び出してライブラリ関数を使用できます。関数自体を記述する必要はありません。

    C++ のいくつかの一般的なライブラリ関数は sqrt() です 、 abs()isdigit() など

    ライブラリ関数を使用するには、通常、これらのライブラリ関数が定義されているヘッダー ファイルを含める必要があります。

    たとえば、sqrt() などの数学関数を使用するには と abs() 、ヘッダーファイル cmath を含める必要があります .


    例 5:数値の平方根を求める C++ プログラム

    #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;
    }

    出力

    Square root of 25 = 5

    このプログラムでは、sqrt() ライブラリ関数は、数値の平方根を計算するために使用されます。

    sqrt() の関数宣言 cmath で定義されています ヘッダファイル。そのため、コード #include <cmath> を使用する必要があります sqrt() を使用するには 関数。

    詳細については、C++ 標準ライブラリ関数にアクセスしてください。


    C言語

    1. C++ 演算子
    2. C++ コメント
    3. C++ プログラミングで配列を関数に渡す
    4. C++ フレンド関数とフレンド クラス
    5. StratasysInsightで人気のある10の機能
    6. C++ 演算子のオーバーロードと例
    7. 例を含む Python Lambda 関数
    8. Verilog 関数
    9. C - 関数
    10. C++ オーバーロード (演算子と関数)
    11. C++ のポリモーフィズム