Skip to content

5. 型

5.1 bool型

4.1では何気なくif文の中にscore >= 60と書いていたが、これ自体も+の演算などと同じように実際は値が定まっている。

if文の前にcoutを挟んで、どんな値が出力されるか確かめてみよう。

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "点数を入力してください。" << endl;
  int score;
  cin >> score;

  cout << (score >= 60) << endl;
  if (score >= 60) {
    cout << "合格です。" << endl;
  } else {
    cout << "不合格です。" << endl;
  }
}

返り値は1もしくは0である。score >= 60という条件が正しい(真の)ときに1となり、謝っている(偽の)ときに0となる。この0と1のみを持つ型をbool型と呼ぶ。

ここで、0false1trueと呼ぶ。

bool型の変数を使って、プログラムを以下のように書き換える事ができる。

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "点数を入力してください。" << endl;
  int score;
  cin >> score;

  bool isGood = (score >= 60);
  if (isGood) {
    cout << "合格です。" << endl;
  }
  if (!isGood) {
    cout << "不合格です。" << endl;
  }
}