C++

C++の条件分岐について解説

C++の条件分岐は、プログラムの実行フローを制御するための重要な構文です。条件分岐を使用することで、特定の条件に基づいて異なるコードを実行することができます。C++で使用される主な条件分岐の方法には、if文、if-else文、else if文、および switch文があります。

1. if

if文は、指定された条件が真(true)の場合にのみコードを実行します。

構文

if (条件) {
    // 条件が真の場合に実行されるコード
}

#include <iostream>
using namespace std;

int main() {
    int number = 10;

    if (number > 0) {
        cout << "The number is positive." << endl;
    }

    return 0;
}

2. if-else

if-else文は、if文の条件が偽(false)の場合に実行されるコードブロックを追加します。

構文

if (条件) {
    // 条件が真の場合に実行されるコード
} else {
    // 条件が偽の場合に実行されるコード
}

#include <iostream>
using namespace std;

int main() {
    int number = -5;

    if (number > 0) {
        cout << "The number is positive." << endl;
    } else {
        cout << "The number is negative or zero." << endl;
    }

    return 0;
}

3. else if

else if文は、複数の条件を順に評価し、最初に真となる条件のコードブロックを実行します。

構文

if (条件1) {
    // 条件1が真の場合に実行されるコード
} else if (条件2) {
    // 条件2が真の場合に実行されるコード
} else {
    // すべての条件が偽の場合に実行されるコード
}

#include <iostream>
using namespace std;

int main() {
    int number = 0;

    if (number > 0) {
        cout << "The number is positive." << endl;
    } else if (number < 0) {
        cout << "The number is negative." << endl;
    } else {
        cout << "The number is zero." << endl;
    }

    return 0;
}

4. switch

switch文は、整数型または文字型の値に基づいて複数の分岐を実行する場合に使用されます。

構文

switch (式) {
    case 定数1:
        // 式が定数1と一致する場合に実行されるコード
        break;
    case 定数2:
        // 式が定数2と一致する場合に実行されるコード
        break;
    // 必要に応じてcaseを追加
    default:
        // 式がいずれの定数とも一致しない場合に実行されるコード
}

#include <iostream>
using namespace std;

int main() {
    char grade = 'B';

    switch (grade) {
        case 'A':
            cout << "Excellent!" << endl;
            break;
        case 'B':
        case 'C':
            cout << "Well done!" << endl;
            break;
        case 'D':
            cout << "You passed." << endl;
            break;
        case 'F':
            cout << "Better try again." << endl;
            break;
        default:
            cout << "Invalid grade." << endl;
    }

    return 0;
}

条件式と論理演算子

条件式には、論理演算子や比較演算子を使用できます。

  • 比較演算子:
    • ==: 等しい
    • !=: 等しくない
    • <: より小さい
    • >: より大きい
    • <=: 以下
    • >=: 以上
  • 論理演算子:
    • &&: AND
    • ||: OR
    • !: NOT

#include <iostream>
using namespace std;

int main() {
    int age = 20;

    if (age >= 18 && age <= 25) {
        cout << "You are eligible for the youth program." << endl;
    } else {
        cout << "You are not eligible for the youth program." << endl;
    }

    return 0;
}

まとめ

C++の条件分岐を使用することで、プログラムの実行フローを制御し、異なる条件に基づいて適切な処理を実行することができます。

if文、if-else文、else if文、およびswitch文を適切に使い分けることで、より柔軟で読みやすいコードを書くことができます。

スポンサーリンク

-C++