このサイトは更新終了し, こちらに移行しています。

C言語入門: 条件分岐

筑波大学農林工学系 奈佐原(西田)顕郎

ホーム


条件を判定して処理を分岐するには、if文を使う。以下に例を示す:

  1. /* iftest.c */
  2. /* compile: $ gcc iftest.c -o iftest */
  3. /* 2008/07/15 K. Nasahara */
  4. # include <stdio.h>
  5. main()
  6. {int x;
  7. printf("Give me a number!\n");
  8. scanf("%d", &x);
  9. if (x%2==0) printf("It's an even number!\n");
  10. else printf("It's an odd number!\n");
  11. }
注意: 左端の数字(6.など)は打ち込まないで良い。
このプログラムは、与えられた数が偶数(even number)か奇数(odd number)かを判定する。
$ ./iftest
Give me a number!
4
It's an even number!
$ ./iftest
Give me a number!
7
It's an odd number!
$
10行目の
x%2
は、xを2で割った余りを求める計算である。こういう計算を剰余計算(modulo calculus)という。


別の例を挙げよう。次のプログラムは、「3では割り切れるが2では割り切れない数」を判定する:

  1. /* iftest2.c */
  2. /* compile: $ gcc iftest2.c -o iftest2 */
  3. /* 2008/07/15 K. Nasahara */
  4. # include <stdio.h>
  5. main() //プログラム本体のはじまり
  6. {
  7. int x; //変数x の宣言。
  8. printf("Give me a number!\n"); //メッセージをコンソールに表示。
  9. scanf("%d", &x); //ユーザーから変数xに値を代入する。
  10. if (x%3==0 && x%2!=0) //条件の設定。
  11. printf("It's my favorite number!\n"); //メッセージをコンソールに表示。
  12. else printf("I don't like it...\n"); //条件が成り立たない場合の処理。メッセージをコンソールに表示。
  13. }
注意: 左端の数字(6.など)は打ち込まないで良い。
$ ./iftest2
Give me a number!
9
It's my favorite number!
$ ./iftest2
Give me a number!
7
I don't like it...
$ ./iftest2
Give me a number!
6
I don't like it...
$

(ブラウザの「戻る」ボタンで戻ってください)