この章では、計算や比較、条件によって処理を分岐させる書き方を確認します。C言語で学んだ基本はそのまま使えますが、C++ならではの表現のしやすさにも注目していきましょう。
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 3;
cout << "a + b = " << a + b << endl;
cout << "a - b = " << a - b << endl;
cout << "a * b = " << a * b << endl;
cout << "a / b = " << a / b << endl;
cout << "a % b = " << a % b << endl;
return 0;
}+, -, *, /,
% など、基本的な計算はC言語と同様/ は整数同士だと小数点以下は切り捨てられる#include <iostream>
using namespace std;
int main() {
int score = 75;
if (score >= 60) {
cout << "合格" << endl;
} else {
cout << "不合格" << endl;
}
return 0;
}>=, <=, ==,
!= などの比較演算子で条件判定if 文で結果によって処理を分けるif 文の文法自体は C 言語と同じです。bool 型(true/false)
が正式に用意されており、 int 型(0または0以外)ではなく
意味の分かりやすい真偽値
を使った条件判定が書けます。bool isPassed = true;
if (isPassed) {
cout << "合格です。" << endl;
}このように、C++ では 意図が明確に伝わる条件式 が書きやすくなっています。
#include <iostream>
using namespace std;
int main() {
bool isLoggedIn = false;
if (isLoggedIn) {
cout << "ようこそ" << endl;
} else {
cout << "ログインしてください" << endl;
}
return 0;
}bool 型の変数をそのまま if
文の条件に使えるtrue / false
を明示できるため、意味が分かりやすい次のコードの出力を考えてください。
#include <iostream>
using namespace std;
int main() {
int x = 5;
if (x % 2 == 0) {
cout << "偶数" << endl;
} else {
cout << "奇数" << endl;
}
return 0;
}奇数
5 を 2 で割った余りは 1 なので「奇数」と表示されます。
次のコードの出力を考えてください。
#include <iostream>
using namespace std;
int main() {
int score = 85;
if (score >= 80) {
cout << "優" << endl;
} else if (score >= 60) {
cout << "良" << endl;
} else {
cout << "不可" << endl;
}
return 0;
}優
85 は 80 以上なので「優」と表示されます。
次のコードの出力を考えてください。
#include <iostream>
using namespace std;
int main() {
bool isMember = true;
if (isMember) {
cout << "会員価格が適用されます。" << endl;
} else {
cout << "通常価格です。" << endl;
}
return 0;
}会員価格が適用されます。
isMember が true なので会員向けのメッセージが表示されます。
ユーザーから整数を1つ入力させ、その数が10以上なら「10以上」、それ未満なら「10未満」と表示するプログラムを書きなさい。
// 04_check_10.cpp
#include <iostream>
using namespace std;
int main() {
int number;
cout << "整数を入力してください:";
cin >> number;
if (number >= 10) {
cout << "10以上" << endl;
} else {
cout << "10未満" << endl;
}
return 0;
}ユーザーから2つの整数を入力させ、大きい方の値を表示するプログラムを書きなさい。
// 04_max_of_two.cpp
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "2つの整数を入力してください:";
cin >> a >> b;
if (a > b) {
cout << "大きい方は " << a << endl;
} else {
cout << "大きい方は " << b << endl;
}
return 0;
}if 文で結果によって処理を分けられるbool
型をそのまま条件として使える(C++ならではの明確な表現)