ifで条件分岐をしてみよう

こんにちは、めのんです!

今回は「if」を使った条件分岐を見ていくことにします。

if文の基本

それでは具体的な例を挙げてみます。

まず「score」というint型の変数を初期値85で宣言します。

次にscoreの値が80より大きかったら何らかの処理をするコードを書いていきます。
「if」を使って上のソースコードのように書きます。

ifのあとの丸括弧の中に条件を書き、そのあとの波括弧の中に条件が真のときの処理を書きます。
ここでは条件が真のときに「Great!」と出力するようにしています。

次に、条件が偽の場合に違う処理を実行させてみます。

ifの条件が偽の場合はelse側の波括弧の中が実行されますので、ここでは「so so … !」が出力されます。

さらに細かな条件を書くこともできます。

その場合は次のように「else if」でつないでいってあげればOKです。

それでは実行して確認してみましょう。

今はscoreが85なので「Great!」と表示されました。

関係演算子と等価演算子

ifの条件の中で使って「<」のような記号は「関係演算子」といいます。
関係演算子には次の4つがあります。

  • < (より小さい)
  • > (より大きい)
  • <= (以下)
  • >= (以上)

また、大小関係ではなくて両方の値が等しいかどうかを判定する演算子もあります。
それを「等価演算子」といい、次の2つがあります。

  • == (等しい)
  • != (等しくない)

論理演算子と否定演算子

ほかにifの条件で使う演算子に「論理演算子」と「否定演算子」があります。

論理演算子には次の2つがあります。

  • && (かつ)
  • || (または)

否定演算子は「!」で表し、式の前に付けると式全体を否定します(真偽が逆になります)。

条件で変数を宣言する

C++では、ifの条件の丸括弧の中で変数を宣言することができます。

条件の中で宣言する場合は、変数の型は論理型または論理柄に暗黙的に変換できる型でなければなりません。
具体的には、整数型や浮動小数点型ならOKですがstring型はダメです。

条件演算子

条件分岐の結果、値を返す場合には「条件演算子」を使うとスッキリ書くことができます。

このように、条件 ? 真の場合の値 : 偽の場合の値 のように書きます。
ちょっと複雑になりますが、これも覚えておくといいでしょう。

一点だけ注意があって、条件演算子は出力に使っている<<演算子より優先順位が低いので、括弧で囲んでおかないと期待通りの結果になりません。
条件演算子の優先順位は演算子の中でも非常に低いので、ほかの演算子といっしょに使うときは必ず括弧で禍根起きましょう。

せっかくなので実行結果も見ておきましょう。

条件演算子を使う機会はそんなに多くないと思いますが、ほかの方が書かれたプログラムを読むときに現れても慌てないようにしておきましょう。


今回は条件分岐とそれに関わる演算子を見てきました。
C++でプログラミングする上ではすごく大切なことばかりですので、しっかり身に付けておきましょう。