今回は「C言語によるif文による条件分岐」について解説します。
タップできるもくじ
C言語のif文による条件分岐とは
if文は特定の条件を満たす場合に処理を実行するようにできます。
if(条件文){
処理;
}
if()の条件文を満たすときのみ、処理を実行するようにできます。
if文で使える条件文
if文で使える条件文は8つあります。
- A == 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:AかつB
- A || B:AまたはB
1つずつ解説していきます。
A == B:AとBが等しい
AとBが等しい場合に処理を実行します。
if(A == B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A == B){
printf("AとBは等しい\n");
}
AとBが等しい場合の実行結果
AとBが等しくない場合の実行結果
A != B:AとBが等しくない
AとBが等しくない場合に処理を実行します。
A == Bと反対の実行結果になります。
if(A != B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A != B){
printf("AとBは等しくない\n");
}
AとBが等しくない場合の実行結果
AとBが等しい場合の実行結果
A > B:AはBより大きい
AがBより大きい場合に処理を実行します。
if(A > B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A > B){
printf("AはBより大きい\n");
}
AがBより大きい場合の実行結果
AがB以下の場合の実行結果
A < B:AはBより小さい
AはBより小さい場合に処理を実行します。
if(A < B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A < B){
printf("AはBより小さい\n");
}
AがBより小さい場合の実行結果
AがB以上の場合の実行結果
A >= B:AはB以上
AがB以上の場合に処理を実行します。
if(A >= B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A >= B){
printf("AはB以上\n");
}
AはB以上の場合の実行結果
AがBより小さい場合の実行結果
A <= B:AはB以下
AはB以下の場合に処理を実行します。
if(A <= B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A <= B){
printf("AはB以下\n");
}
AはB以下の場合の実行結果
AがBより大きい場合の実行結果
A && B:AかつB
AとBの2つの条件を満たす場合に処理を実行します。
if(A && B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A && B){
printf("AかつBを満たす\n");
}
AとBの2つの条件を満たす場合の実行結果
AもしくはBのどちらか一方を満たさない場合
もしくは
両方を満たさない場合の実行結果
A || B:AまたはB
AまたはBのどちらか一方か両方の条件を満たす場合に処理を実行します。
if(A || B){
処理
}
使い方の例
if文の条件を満たす場合に文字を表示させるプログラムの例
if(A || B){
printf("AまたはBのどちらか一方か両方の条件を満たす\n");
}
AまたはBのどちらか一方か両方の条件を満たす場合の実行結果
AとBの両方の条件を満たさない場合の実行結果
処理が一行なら波かっこ{ }は省略可能
処理が一行で終わるif文なら波かっこを省略することができます。
if(条件文)
処理;
処理が二行以上で波かっこを省略すると、二行目以降は常に実行されます。
else文とelse if文で複数の条件分岐
if文の条件を満たさなかったときにも処理を実行したいのであれば、
else文とelse if文を使うと便利です。
if文とelse文の組み合わせ
if文だけだと
if(条件文1){
処理1;
}
if(条件文1と反対の条件){
処理2;
}
しかし、else文を使うと
if(条件文1){
処理1;
}else{
処理2;
}
この場合は、条件文1を満たすと処理1を実行し、満たさない場合は処理2を実行します。
if文とelse if文の組み合わせ
似たような条件がいくつもある場合はelse if文を使うと便利です。
if(条件文1){
処理1;
}else if(条件文2){
処理2;
}else{
処理3;
}
実行結果は下記のとおりです。
- 条件文1を満たす→処理1を実行
- 条件文2を満たす→処理2を実行
- 条件文1と条件文2をどちらも満たさない→処理3を実行
if文を使うときの注意点
if文とelse文もしくはif文とelse if文をつかうときですが、条件を満たすかどうかの判定は一度しか実行しません。
if(A==B){
A=C;
}else{
処理1;
}
例えば、if文でAとBが等しくて、AにCを代入した場合はelse文の判定はしないので処理1は実行しません。