else「そうでなくて!」 | 技術者が教える初心者さんのためのC言語

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

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

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

前回の記事「if文「もし~だったら・・・」」で、if文の基本を紹介しました。
ifの( )の中の条件式が成立したときに、{ }の中の文を実行するというものでした。

今回は、その続きです。
その条件式が成立しない場合に、実行させたい文がある時どうすればよいかについてお話しますね。

前回、今回のif文をマスターすることで、場合分けをするプログラムが書けるようになります。そしてこれをマスターすることで、かなりのことがプログラムで書けるようになりますので、是非マスターしてくださいね。

では、具体的にお話していきますね。

例えば、
「降水確率が30%以上ならば」→「傘をもって出かける」
そうでないならば」→「傘はもって出かけない」
というパターンの場合です。

このような場合には、C言語ではif-else文を用います。if-else文の形式は、

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

のようになっていて、

もし条件式が成立するならば、実行文Aを行い、そうでないならば、実行文Bを行う」という意味になります。
つまり、elseの後の{ }の中で、条件式が成り立たないときに実行させたいものを書きます。

上の降水確率の例をプログラムで書くと、一例として

int  main( void )
{
   int  rainRate;

   rainRate = 20;   /* 今日の降水確率 20% */

   if( rainRate  >= 30 )
  {
      /* 降水確率 が30%以上の時に実行させたい */
       printf("I will go out  with my umbrella");
  }
  else
 {
  /* そうではない場合(降水確率が30%以上でない場合) */
      printf("I will go out  without my umbrella");
 }

  return( 0 );
}

のようになります。

更に、このelse文には条件を付けることもできます。
「そうでなくて、~ならば」というようにすることもできます。

例えば、

「もし降水確率が80%以上ならば」
→「傘をもって出かける」
そうではなくて、降水確率が30%より大きくて80%未満ならば
→「折りたたみ傘をもって出かける」
「そうでないならば、」
→「傘をもって出かけない」

このような場合、elseの後にifを付け加えます。形式としては、

if( 条件式 )
{
   実行文A;
}
else if( 条件式2 )
{
   実行文B;
}
else
{
   実行文C;
}

のようになっていて、

もし条件式が成立するならば、実行文Aを行い、そうでなく条件式2ならば、実行文Bを行い、そうでないならば、実行文Cを行う」という意味になります。

上の降水確率をプログラムで書くならば、一例として、

int  main( void )
{
    int   rainRate;

   int  rainRate = 40;

  if( rainRate >= 80 )
  {
      /*  降水確率が80%以上の時の実行文を書く */

  }
  else if(  (30 < rainRate) && (rainRate < 80) )
  {
  /*  そうでなくて、もし30% < 降水確率 < 80% ならばの実行文を書く */

  }
  else
 {
 /* そうでない場合の実行文を書く */

  }

  return( 0 );
}

のようになります。

elseがつくと、「そうでなくて」となると覚えておくとよいと思います。


if文に関しては、ここまで押さえておけば大丈夫だと思います。