no.4


if

ifは,条件による分岐に使います.→ 教科書P.32

パターン1

  if(条件) {
    Yesのときの処理
  }
  else {
    Noのときの処理
  }

条件は a>b のような2つのものの比較を書きます.

[例]  if(x>5) {
            y=x+1;
            printf("%d\n",y);
        }
        else {
            z=x-1;
            printf("%d\n",z);
        }


パターン2

  if(条件) {
    Yesのときの処理
  }

Noの場合の処理がないときは,else以降がなくなります.

[例]  if(a==3) {
            b=a*3;
            printf("%d\n",b);
        }

比較の式の書き方
  aとbが等しい    		a==b
  aとbは等しくない 		a!=b
    aはbより大きい 		a>b
  aはb以上    		a>=b
    aはbより小さい 		a<b
  aはb以下    		a<=b

問題

変数 p の値が 3 のときに Yes ,それ以外は No と表示するように□を埋めなさい.

#include <stdio.h>
int main(void) {
    int p;
    printf("整数を入れて ");
    scanf("%d",&p);
    if(p□□3){
        printf("Yes\n");
    }
    □□□□ {
        printf("No\n");
    }
    return 0;
}

こたえ


アドバンス

条件式は、1か0になる。

 ifの括弧の中に書く条件式は正しくは論理式といいます。それで、この論理式というものは値があります。別の言い方をすると計算して答えを出すのです。
 どういうことかというと、条件式が真(yes)なら1、偽(no)なら0になるのです。ということは、(3>2)は真なので1になります。(5<3)は偽なので0です。下のプログラムを実行して見てください。画面に表示される数は 「1 0」となるはずです。
#include <stdio.h>
int main(void) {
    int a,b,x,y;
    a=9;
    b=2;
    x=(a>b);
    y=(a<b);
    printf("%d %d\n",x,y);
    return 0;
}

注) 真偽を判定する場合は0でない値は「真」とみなされます。

→ 戻る [プログラミング1へ]

大同大学 情報学部 情報システム学科 大石研究室