C++ if文のサンプル

C++のif文のサンプルです。

目次

if文

if (条件式1){
  条件式1を満たした時に実行される処理
} else if (条件式2) {
  条件式2を満たした時に実行される処理
} else {
  どの条件式も満たさなかった時に実行される処理
}
  • else ifは1つ以上記述できます。省略もできます。
  • elseは1つのみ記述できます。省略もできます。

コード

サンプルのコードです。
11行目の条件式を満たすので1が表示されます。
15行目のように、else if文の中にif文を記述することができます。入れ子の構造です。

#include <iostream>
using namespace std;

int main() {

	int num = 1;

	if (num == 0) {
		cout << "0\n";
	}
	else if (num == 1) {
		cout << "1\n"; // 1が表示される
	}
	else if (num == 2) {
		if (num == 2) {
			cout << "サンプルです\n";
		}
	}
	else {
		cout << "01以外\n";
	}

	return 0;
}

比較演算子

上記コードの==は比較演算子です。
以下は、C++の比較演算子の一覧です。

比較演算子 説明
a == b aとbの値は等しい
a != b aとbの値は等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい

論理演算子の論理積(&&)

  • if文で論理積(&&)を使用する場合、論理積(&&)の左の式と右の式の両方が条件に合致する場合にtrueになります。
  • 論理積(&&)の左の式がfalseの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。

コード

8行目は、偶数かつ10より小さい場合にtrueになります。
→OKが表示されます。

#include <iostream>
using namespace std;

int main() {

	int num = 6;

	if ((num % 2 == 0) && (num <10)) {
		cout << "OK\n"; // OKが表示される
	}
	else {
		cout << "NG\n";
	}

	return 0;
}

論理演算子の論理和(||)

  • if文で論理和(||)を使用する場合、 論理和(||)の左の式または右の式のどちらかが条件に合致する場合にtrueになります。
  • 論理和(||)の左の式がtrueの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。

コード

8行目は、偶数または10より小さい場合にtrueになります。
→OKが表示されます。

#include <iostream>
using namespace std;

int main() {

	int num = 1;

	if ((num % 2 == 0) || (num <10)) {
		cout << "OK\n"; // OKが表示される
	}
	else {
		cout << "NG\n";
	}

	return 0;
}

論理演算子の否定(!)

  • !aとした場合、aがfalseの場合にtrueになり、aがtrueの場合にfalseになります。

コード

8行目はnumと1の比較でfalseになり、それを!で否定して条件式はtrueになります。
12行目はnumと9の比較でtrueになり、それを!で否定して条件式はfalseになります。

#include <iostream>
using namespace std;

int main() {

	int num = 9;

	if (!(num == 1)) {
		cout << "test1\n"; // test1が表示される
	}

	if (!(num == 9)) {
		cout << "test2\n";
	}
	else {
		cout << "test3\n"; // test3が表示される
	}
	return 0;
}

関連の記事

C++ switch文のサンプル
C++ for文とbreakとcontinueのサンプル
C++ while文とdo while文のサンプル



△上に戻る