本文へスキップ
BecomeCoder

C++コース · 第3章 制御構文 · レッスン10

else if と三項演算子

ブラウザで完結

導入

3つ以上に分けたいときは else if を重ねます。短い分岐なら「三項演算子」で1行にも書けます。

説明

else if (条件) を上から順に見て、最初に合った枝だけが実行されます。

#include <iostream>
using namespace std;

int main() {
    int score = 75;
    if (score >= 90) {
        cout << "優" << endl;
    } else if (score >= 70) {
        cout << "良" << endl;
    } else if (score >= 60) {
        cout << "可" << endl;
    } else {
        cout << "不可" << endl;
    }
    return 0;
}

条件 ? A : B は「条件が true なら A、false なら B」を表す三項演算子です。値を選ぶ短い分岐に便利です。

#include <iostream>
using namespace std;

int main() {
    int n = 7;
    cout << (n % 2 == 0 ? "偶数" : "奇数") << endl;   // 奇数
    int a = 5, b = 8;
    int big = (a > b ? a : b);   // 大きいほうを選ぶ
    cout << "大きいのは " << big << endl;             // 8
    return 0;
}

やってみよう

score の値を変えて、判定が変わることを確かめましょう。三項演算子の n も変えてみてください。

演習

int temp = 28; について、三項演算子で temp >= 25 なら 暑い、そうでなければ 快適 と表示してください(結果は 暑い)。

ヒント1を見る

cout << (temp >= 25 ? "暑い" : "快適") << endl;

実際に動かしてみよう

下のエディタにC++を書いて「実行」を押すと、ブラウザ内のインタプリタで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(cin を使う回は「標準入力」欄に値を入れてから実行します)。

C/C++ — ブラウザ内で実行

ブラウザ内でC/C++を動かす学習用インタプリタ(JSCPP)を読み込みます(入門向けのサブセットです)。
スクロールして表示された時点でも自動で読み込まれます。