ページへ戻る

− Links

 印刷 

blike​/intro​/p0004 :: OSASK計画

osaskwiki:blike/intro/p0004

ページ内コンテンツ
  • (3) if
      • (1) if命令の基本形
      • (2) rei0008.c
      • (3) rei0009.c
      • (4) rei0010.c
      • (5) rei0011.c
      • (6) まとめ

(3) if anchor.png[1]

  • (by K[2], 2011.02.14)
Page Top

(1) if命令の基本形 anchor.png[3]

  • これから出てくるif命令というのは、次の形で使います。
    if (条件式) { 命令 }
  • 条件式というのは、 a == 1 とか b != c とか d > e * 3 とかそういうものです。ここで == は等しいという意味で、 != は等しくないという意味です。
    • ここが見えにくいので違うフォントで書きますね。
      条件式というのは、 a == 1 とか b != c とか d > e * 3 とかそういうものです。ここで == は等しいという意味で、 != は等しくないという意味です。
    • 普通の(1個の) = は変数に値を代入するために使っているので、比較のときは使えないのです。
  • 以上とか以下という書き方もできます。 <= とか >= です。これは =< とか => と書いてはいけません。必ず大小記号を先にしてください。
  • そして条件式がもし成立していたら、 { } ではさまれた中身の命令を実行します。成立していないときは、実行しません。
  • こんな説明を見てもよく分からないと思うので、まずは実例です。
Page Top

(2) rei0008.c anchor.png[4]

int a;
a = inptInt("あなたは... 1.おとこのこ 2.おんなのこ ? ");
if (a == 1) { printf("かっこいい!"); }
if (a == 2) { printf("かわいい!"); }
  • このプログラムでは、最初にあなたが男の子か女の子かを聞かれます。それで数字を入力すると、「かっこいい!」とか「かわいい!」といってくれるわけです。1でも2でもない数字を入れたら何も言いません。
Page Top

(3) rei0009.c anchor.png[4]

int a;
printf("[ゆけつできる?]\n");
a = inptInt("けつえきがたは : 1.O 2.A 3.B 4.AB ? ");
if (a == 1) { printf("OK : O"); }
if (a == 2) { printf("OK : O, A"); }
if (a == 3) { printf("OK : O, B"); }
if (a == 4) { printf("OK : O, A, B, AB"); }
  • これは緊急時に輸血できる血液型を教えてくれるプログラムです。最初にタイトルが出ます。そしてあなたの血液型を聞かれます。たとえばA型の場合、O型とA型の血液が輸血可能だと教えてくれます。
    • まあそれでも基本的には同じ血液型の血液を使うのが普通ですが。
Page Top

(4) rei0010.c anchor.png[5]

int a;
a = inptInt("なんさいですか? ");
if (a == 0) { printf("あかちゃん"); }
if (1 <= a && a <= 5) { printf("ようじ"); }
if (6 <= a && a <= 19) { printf("こども"); }
if (20 <= a && a <= 64) { printf("おとな"); }
if (a >= 65) { printf("こうれいしゃ"); }
  • これは年齢を入れると、赤ちゃん・幼児・子供・大人・高齢者のどれにあたるのかを教えてくれるプログラムです。ここで、 && というのが新出ですよね。これは条件式の中でたまに出てくる記号で、「かつ」という意味です。つまり両方の条件が成立しているかどうかを調べます。どちらか一方しか成立していない場合は、 { } の中を実行しません。
Page Top

(5) rei0011.c anchor.png[6]

int a, b, c, d, e;
printf("[げんきチェック]\n");
a = inptInt("さいきんあさに はやおきできますか 1.できる 0.できない ? ");
b = inptInt("ごはんはおいしいですか 1.おいしい 0.おいしくない ? ");
c = inptInt("しんぱいごとがありますか 1.ない 0.ある ? ");
d = inptInt("よくねむれますか 1.ねむれる 0.あまりねむれない ? ");
e = a + b + c + d;
if (e == 4) { printf("あなたはとてもげんきです"); }
if (1 <= e && e <= 2) { printf("あなたはふつうです"); }
if (e == 0) { printf("あなたはげんきがありません しんぱいです");
  • こんなものも作れます。もう説明しなくても分かりますよね?
Page Top

(6) まとめ anchor.png[7]

  • ここまでの命令だけでも、何か役に立つものは作れると思います。いろいろ作ってみると、いい勉強になります。
    • たぶん http://www.athuman.com/ha/ta/[8] みたいな、質問に答えていってそれを集計してメッセージを出すものも、がんばれば作れます。
  • ifはとてもよく使う命令なので、慣れておくといいと思います。

Last-modified: 2011-02-14 (月) 00:00:00 (JST) (111d) by lina