if文「もし〜だったら・・・」 | 技術者が教える初心者さんのためのC言語

技術者が教える初心者さんのためのC言語

〜最小限の知識でプログラム〜

いつも感謝しています。Nです。

今日は、if文「もし~だったら・・・」というものについてお話したいと思います。

私たちは日常生活で「もし~だったら・・・」のような思考を用いて、自分の行動を振り分けたりしています。

例えば、
天気予報を見て傘を持って出かけるかどうか判断するときに

「もし雨が振っていたならば(降水確率100%)」
→「傘をさして出かける」
「もし今日の降水確率80%以上ならば」
→「傘を持って出かける」
「もし今日の降水確率30%より大きくて80%未満ならば」
→「折りたたみ傘を持って出かける」
「もし今日の降水確率30%以下ならば」
→「傘は持って出かけない」

のようなことを考えると思います。

今日のif文をマスターすることで、C言語のプログラムにおいても、コンピュータにこのような条件分岐をさせて、実行する処理を振り分けることができますので、是非マスターしてくださいね。

では、具体的にif文「もし~だったら・・・」について話していきますね。

◆if文の基本形1
if文の基本形1は以下のような形をとります。

if(条件式)
{
   実行文;
}

if(条件式)の部分が「もし~だったら」に相当します。
「・・・する」の部分が{ }でくくられた中に記載されている実行処理文に相当します。

例えば、上の例で「もし今日の降水確率80%以上ならば、傘を持って出かける」をC言語でプログラムするならば、一例として

int   main( void )
{
 int   rainRate;   /* 降水確率を入れる変数 */

 rainRate = 80;  /* 今日の天気予報の降水確率が80% */

 if( rainRate >= 80 )
 {
  /* もし、今日の降水確率が80%以上ならば */

  /* 傘を持って出かける */
  printf("I will go out with my umbrella¥n");
 }

 return( 0 );
}

のように書きます。

ここで、if( 条件式 )の括弧の中に、「~以上」「~以下」「より大きい」「~未満」「等しい」「等しくない」などの条件式をいれます。

C言語での条件式の表現としては、まず覚えておいて欲しいのは、
 「a == b」: aとbは等しい
 「a != b」 :aとbは等しくない
 「a >= b」:aはb以上( bはa以下 )
 「a <= b」:aはb以下( bはa以上 )
 「a < b」  :aはb未満( bはaより大きい )
 「a > b」  :aはbより大きい( bはa未満 )
となります。

更にこの条件式を組み合わせる方法もあります。

上の例で言うならば、「もし今日の降水確率30%より大きくて80%未満ならば」というところに相当します。

これは、「今日の降水確率が30%より大きく」 且つ 「80%未満」ならばと考えることができます。

この場合、if( (30 < rainRate) && (rainRate < 80) )のように「&&」を用いて、条件式を組み合わせて、表現することができます。

C言語での条件式の組み合わせ表現としては、覚えておいて欲しいのは、

 「A && B」 : A 且つ B
 「A || B」 」 : A 或は B

となります。

今回はif文の基本形1「もし~だったら・・・」について、お話しました。身の回りのものを、このif文を使ったらどう表されるだろうなぁと考えてみて、できればプログラムで表現してみてくださいね。