C言語入門:if、else、else if
C言語でプログラムを書くうえで「もしもこうなったら、こうする」「この場合はこうする」「それ以外の場合はこうする」など、条件によりプログラムを分岐させる事は非常に重要です。 全てのプログラムは分岐方法の組み合わせであると言っても過言では無いと思われます。 ここでは、処理を分岐させるif文・else文・else if文の基本的な使い方を説明したいと思います。 ここでは、サンプルコードの結果は書いていません。 実際に手元にサンプルコードをコピー ⇒ コンパイル ⇒ 実行してみてください。
if
if文は「もしもこうなったら、こうしろ」という事を書くための文法です。 if文はifという文字列と「() ←括弧」により表現されます。 括弧の中が条件文になります。 条件文とは「もしも」の部分になります。 例えば、if文を利用してaという変数が1の場合は以下のようにします。
#include <stdio.h>
int
main()
{
int a;
a = 1;
if (a == 1) {
printf("a is 1\n");
}
}
上記例はaという定数が1である場合「a is 1」という文字列を表示します。 説明をする前に使ってしまいましたがif文の括弧の中の「==」部分は「同じであれば」という条件を表現しています。
== | 同じである |
!= | 同じではない |
< | 左の項の方が小さい |
> | 左の項の方が大きい |
<= | 左の項は右の項と同一もしくは大きい |
>= | 左の項は右の項と同一もしくは小さい |
以下の例も試してみてください。
#include <stdio.h>
int
main()
{
int a;
a = 1;
if (a != 0) {
printf("a is not 0\n");
}
if (a < 0) {
printf("a is less than 0\n");
}
if (a <= 1) {
printf("a is equal to or less than 1\n");
}
}
if文は「もしも、こうだったら」を表しますが、else文は「if文の条件以外だったら」というのを表します。 以下に例を示します。
#include <stdio.h>
int
main()
{
int a;
a = 2;
if (a == 0) {
printf("a is 0\n");
} else {
printf("else : a is not 0\n");
}
}
else文はif以外全部を表しますが、「if以外でさらにこの条件だったら」という表現もできます。 それにはelse ifを利用します。
#include <stdio.h>
int
main()
{
int a;
a = 2;
if (a == 0) {
printf("a is 0\n");
} else if (a == 1) {
printf("a is 1\n");
} else if (a == 2) {
printf("a is 2\n");
}
}
if、else if、else文を全部つなげる事も出来ます。
#include <stdio.h>
int
main()
{
int a;
a = 100;
if (a == 0) {
printf("a is 0\n");
} else if (a == 1) {
printf("a is 1\n");
} else if (a == 2) {
printf("a is 2\n");
} else {
printf("else\n");
}
}
else ifとelseには、必ずifが必要です。 当たり前かも知れませんが、else ifとelseは「それ以外で」という条件なので、肝心の「それ」がないとコンピュータはどうして良いかわかりません。 例えば、以下のようなプログラムはコンパイルできません。
#include <stdio.h>
int
main()
{
int a;
a = 100;
else if (a == 1) {
printf("a is 1\n");
} else if (a == 2) {
printf("a is 2\n");
} else {
printf("else\n");
}
}
最後に
ここでは、基本的なif、else if、elseの説明をしました。 if、else if、elseを使わないプログラムというのは、ほぼあり得ないので確実に使えるようになりましょう。
ここでは「==」を条件文に利用しているので、条件文の結果は真か偽しかありません。 しかし、if、else、else ifの条件文の中に、数値を入れるという用途もあります。 次は、数値を条件文に投入する方法を解説します。
次:数値を条件文に投入したif, else, else ifの利用
おまけ