0からのゲームプログラミング > if 文

Back Next
更新日 2003.09.01
if 文

 今までのプログラムは、単に上から下に流れるだけでした。制御文である if 文を使えば、処理を分岐させることが出来ます。ここからがプログラムが面白くなってくるところでもあります。

 使い方は、if(式) で、式の値が 0 以外の場合、次の文が実行されます。次の例で確認してみて下さい。

プログラムコード

#include	<stdio.h>

void main(void)
{
	if(0)
		printf("式の値は 0 です。\n");

	if(1)
		printf("式の値は 1 です。\n");
}

実行結果
式の値は 1 です。


 複数の文を if 文で制御したい場合は、中括弧 { と } のブロックで囲みます。下の例のように使います。下の例では、2つの文をブロックで囲んでいます。

サンプル

#include	<stdio.h>

void main(void)
{
	if(0)
	{
		printf("式の値は 0 です。\n");
		printf("表示されないよ。\n");
	}

	if(1)
	{
		printf("式の値は 1 です。\n");
		printf("表示されるよ。\n");
	}
}

実行結果
式の値は 1 です。
表示されるよ。


 if(式) の式の値が 0 以外の場合、条件が成立するので、この場合、条件が(しん)であるといいます。逆に、条件が成立しない場合(式の値が 0 のとき)、条件が(ぎ)であるといいます。
 if 文の条件が真のとき、次の文が実行されると説明しました。偽のとき文を実行させるには、以下のように else を使います。

サンプル

#include	<stdio.h>

void main(void)
{
	if(0)
		printf("条件が真のとき、実行されます。\n");
	else
		printf("条件が偽のとき、実行されます。\n");
}

実行結果
条件が偽のとき、実行されます。

 上の例で、if(0) の括弧の中が 0 以外の場合どうなるか、試してみましょう。


 if 文によって分岐させれるといっても、上記までの例では、0 とか 1 の定数を指定していたので、あらかじめ結果が分かっていました。今度は、キーボードの入力によって処理を切り替えてみましょう。

サンプル

#include	<stdio.h>

void main(void)
{
	int	number;

	printf("何か数字を入力して下さい。:");
	scanf("%d", &number);	// 変数 number に値を格納

	// number の値によって、処理を分岐させる
	if(number)
		printf("真:入力した数字は 0 以外でした。\n");
	else
		printf("偽:入力した数字は 0 でした。\n");
}

「0」 と入力して 「Enter」 を押したときの実行結果
何か数字を入力して下さい。:0
偽:入力した数字は 0 でした。

 0 以外の場合でも試してみましょう。


コラム - Insert (挿入する)

 「Insert」キー押すことによって、文字を挿入するか上書きするかを切り替えることが出来ます。通常は、挿入にしといた方が使い易いかと思いますが、状況に応じて切り替えて使います。
 

【スポンサード リンク】


Back Next

0からのゲームプログラミング > if 文