第3章 C言語の条件分岐 ~ if と for について ~

 どうなりましたか?

 for についての説明は、ここまでです。 次は、for と同じくらいC言語で良く使われるif について説明していきます。

 ところで先ほど皆さんには、countの値を調べてもらいましたね。その部分を次のように書き直してみて下さい。

#include <stdio.h>
void  main()
{
        int  count;

        for  (count = 0; count < 5; count++) {
                printf( "countは今%dです\n",  count );
        }

        if (count == 4) {
                printf( "正解は4でした\n" );
        } else if (count == 5) {
                printf( "正解は5でした\n" );
        } else {
                printf( "4でも5でもありませんでした\n" );
        }
}

 いきなり、いっぱい出てきましたね。でも心配することはありません。 ifは英語で、「もしも ・・・ ならば」という意味ですね。 一方、elseには「そのほかに」という意味がありますから、 上の記述がどういう意味か自然とわかってきますね。

 では結果を頭に浮かべつつ、上の記述を実行して見て下さい。 予想通りの結果が表示されましたか? では、すぐにfor ( ) の中を次のように書き換えて下さい。

  for (count = 0; count < 4; count++) {
    printf( "countは今%dです\n", count );
  }

 どうなりましたか? 今度は、条件判定を6にしてから実行してみて下さい。予想通りの結果が得られると思います。

 もうわかりましたね。それでは、さっそくif の文法を見ていきましょう。

  if ( 条件判定A ) {
    Aが条件通りの場合、ここを通過する;
  }
  else if ( 条件判定B ) {
    Aの条件とは違うが、Bの条件は満たしている場合、ここを通過する;
  }
  else {
    AとB、いずれの条件とも違う場合、ここを通過する;
  }

 ※else if節も、else節も不必要であれば省略できます。ただし、いきなりelse節から始めることはできません。

 ifの条件判定は< だけでなく、他にも次のようなものがあります。
 if (count < 10)、 if (count > 10)、 if (count <= 0)、
 if (count == 5)、 if (count != 5)、 if (count >= 0)、
      (1)          (2)
 (1)と(2)以外は、見たまんまですね。結構C言語が簡単に思えてきませんか?

 (1)の「==」は、右と左の値が等しいかどうかを判定しています。等しい時だけ、中の処理に移ってくれます。これは、代入処理に「=」のみを用いてしまってるので、「==」と二つ重ねているのです。

 (1)の「!=」は、その逆です。値が等しくない時だけ、中の処理に移ってくれます。

 さらに、条件を二つや、三つに重ねることも出来ます。
   if ( ( count > 0 ) && ( count < 5 ) ) {
                (3)

if ( ( count == 5 ) || ( count != 10 ) ) {
                (4)

 (3)の「&&」は、count > 0 と count < 5 の二つの条件があった時にのみ、中の処理に移ってくれます。

 (4)の「||」は、count == 5 か count != 10 のどちらかでも条件があえば、中の処理に移ってくれます。

 まぁ、「&&」と「||」は今のところ重要ではありません。頭の隅にでも置いておいてください。

 そして、今出てきた条件判定はどれも、for の条件判定(真ん中のところですね)に同じように使えます。また、while というfor に似ている繰り返し制御の条件判定でも、同じように使えます。

 for ( ; count <= 10; ) や、while (count != 10) という具合になります。

 以上が、if とfor の説明です。今のところ、if とfor が何なのかくらいが、わかっていれば大丈夫です。

 最後に、次ページの例題を打ち込んでみてください。

 習っていないことも、いくつか出てきます。その場合はまず、どういう動きをするのか予想を立てて、それから実行してみて下さい。

< 前のページへ
お問い合わせ
  • ようかん
  • SG Labs(エスジー ラボ)
  • ITERACY
  • RiceLog(ライスログ)
  • Salesforce導入コンサルティング
  • SES営業向け用語講座

Pagetop