===== 選択構造のバリエーション =====
3つの基本構造のうち、順次構造と選択構造を学びました。\\
選択構造は、C++ではif文で表すことができることも学習済みだと思います。\\
==== if文 ====
if(条件式)
{
trueの時の処理のブロック
}
else
{
falseの時の処理のブロック
}
//例:奇数か偶数かで、処理を分ける
int var;
cin >> var;
if(var%2 == 0)
{
cout << "var は偶数です" << endl;
}
else
{
cout << "var は奇数です" << endl;
}
一応ブロックで書きましたが、1行のみの命令で済むのであればブロックは、要りませんが、見やすくまとめるためにわざわざつけることも多いです。\\
if(条件式)
trueの時の処理のブロック
else
falseの時の処理のブロック
//ブロックなしで奇数偶数の分類を書いたもの
if(var%2 == 0)
cout << "var は偶数です" << endl; //命令が1行ならブロックは無しでもよい
else
cout << "var は奇数です" << endl; //命令が1行ならブロックは無しでもよい
==== その1:二者択一 ====
初めにやった基本的な奴です。\\
```if(条件式)```の条件によって、```if```直下のブロックと、```else```ブロックに処理が分岐します。\\
if(条件式)
{
trueの時の処理のブロック
}
else
{
falseの時の処理のブロック
}
=== サンプルコード ===
上の奇数と偶数で処理を分けるソースコードが、そのものです。\\
正の整数には奇数か偶数しかありません。したがって、このif文は、すべての正の整数を対象に条件を2つに分けており、もれなく正の整数を処理するところに注意しましょう。(逆に言うと、条件によっては漏れがある場合があります。)\\
==== その2:条件選択 ====
条件がTrueの時だけ実行するパターン。\\
if(条件式)
{
//trueの時の処理
}
```else```ブロックがないだけである。elseの時がない場合はelseの処理を省いてよい。\\
ただし、二者択一パターンの時と違い、falseの時は処理を行わないでスルーしてしまうので、処理漏れ(処理が必要なのに処理をしないでしまう状態)に注意が必要である。\\
=== サンプルコード ===
int var;
cin >> var;
if(var > 10)
{
cout << "varは10より大きい" << endl;
}