はじめての C

[Learning GNU C]

第4章 フロー制御

(ある) 決定に もとづいた 動作を とること。

C では 分岐 branching と ループ looping という 2種類の 判定手段を 備える。 分岐は なにを 選択肢に とるかを 決定し ループは ある一定の 動作を 何回 くり返すかを 決定する。

4-1. 分岐

分岐は 1つの 枝 branch か 別の (どちらを) たどるかを 選択するため こう 呼ばれる。 if 命令文は 分岐命令文の なかでは 最も やさしいものだ。 それは マルカッコ "( )" に 式 expression を 入れ (ナミカッコ "{ }" で 囲んだ) 1つの 命令文 または 命令文の ブロックを 使う。 その式が 真である (ゼロでないと 評価) なら この命令文 あるいは 命令文の ブロックが 実行される。 そうでなければ これらの 命令文は 飛ばされる (スキップ)。 if 命令文は 次のような 形を とる。

if (expression)
statement;

あるいは

if (expression)
{
statement1;
statement2;
statement3;
}

これが -- 即製の -- コードの 例題だ。

Example 4-1. using_if.c

#include <stdio.h>

int
main()
{
int cows = 6

if (cows > 1)
printf("ウシを 飼ってます\n");
if (cows > 10)
printf("それも いっぱい!\n");

return 0;
}

コンパイルし 実行すると このプログラムは (次のように) 表示する。

ciaran@poor:~/book$ gcc -Wall -Werror -o cows using_if.c
ciaran@poor:~/book$ ./cows
ウシを 飼ってます
ciaran@poor:~/book$

2つ目の printf() 命令文は その式が 偽である (ゼロと 評価) ので 実行されない。