本文へスキップ
BecomeCoder

C++コース · 第2章 演算子 · レッスン7

比較・論理演算子 ― 条件を作る

ブラウザで完結

導入

「等しいか」「大きいか」を調べる比較演算子と、それらを組み合わせる論理演算子は、次章の条件分岐の土台になります。

説明

比較演算子の結果は booltrue=1 / false=0)です。cout では 1/0 で表示されます。

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 3;
    cout << (a == b) << endl;  // 0(等しい?→ false)
    cout << (a != b) << endl;  // 1(等しくない?→ true)
    cout << (a > b) << endl;   // 1
    cout << (a <= b) << endl;  // 0
    return 0;
}

「等しい」は ==(イコール2つ)です。=(1つ)は代入なので混同に注意します。

論理演算子 &&(かつ)・||(または)・!(否定)で条件を組み合わせます。

#include <iostream>
using namespace std;

int main() {
    int age = 25;
    bool member = true;
    cout << (age >= 20 && member) << endl;  // 1(両方 true)
    cout << (age < 18 || age > 60) << endl; // 0(どちらも false)
    cout << (!member) << endl;              // 0(true の否定)
    return 0;
}

やってみよう

abagemember を変えて、各条件が 1/0 のどちらになるか確かめましょう。

演習

int n = 8; について、n0 より大きく、かつ偶数(n % 2 == 0)かどうかを1つの条件で判定し、結果(1)を表示してください。

ヒント1を見る

cout << (n > 0 && n % 2 == 0) << endl;

実際に動かしてみよう

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

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

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