第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 が何なのかくらいが、わかっていれば大丈夫です。
最後に、次ページの例題を打ち込んでみてください。
習っていないことも、いくつか出てきます。その場合はまず、どういう動きをするのか予想を立てて、それから実行してみて下さい。
< 前のページへ 次のページへ >-
IS 559680 / ISO27001
認証範囲 本社、芝大門オフィス情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社、芝大門オフィス品質方針