3つの基本構造のうち、順次構造と選択構造を学びました。
選択構造は、C++では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行ならブロックは無しでもよい

初めにやった基本的な奴です。
```if(条件式)```の条件によって、```if```直下のブロックと、```else```ブロックに処理が分岐します。

"if~else文"
if(条件式)
{
    trueの時の処理のブロック
}
else
{
    falseの時の処理のブロック
}

サンプルコード

上の奇数と偶数で処理を分けるソースコードが、そのものです。
正の整数には奇数か偶数しかありません。したがって、このif文は、すべての正の整数を対象に条件を2つに分けており、もれなく正の整数を処理するところに注意しましょう。(逆に言うと、条件によっては漏れがある場合があります。)

条件がTrueの時だけ実行するパターン。

"Trueの時だけ実行"
   if(条件式)
   {
       //trueの時の処理
   }

```else```ブロックがないだけである。elseの時がない場合はelseの処理を省いてよい。
ただし、二者択一パターンの時と違い、falseの時は処理を行わないでスルーしてしまうので、処理漏れ(処理が必要なのに処理をしないでしまう状態)に注意が必要である。

サンプルコード

"10より大きい時だけ表示"
    int var;
    cin >> var;
 
    if(var > 10)
    {
        cout << "varは10より大きい" << endl;
    }
  • game-engineer/classes/2023/game-programing-1/first-term/5/05-01-1245.txt
  • 最終更新: 3年前
  • by root