if文
2012年11月20日:C言語
条件分岐であるif文はプログラミングの基本です。
if文を使うことで、変数の値に応じた処理を記述できるようになります。
ここではプログラム例を通じてif文の使い方について学びます。
また、関係演算子や論理演算子についても解説します。
if文とは条件分岐を行う命令で
条件1をみたす場合に実行;
}else if(条件2){
条件1を満たないが条件2を満たす場合に実行;
}else{
条件1,2を満たさない場合の命令;
}
という構文です。条件1や2によって実行する命令を決めていきます。
else ifは何回使ってもOKです。
では、もし、
- テストの結果が50点未満なら怒られる
- 50点以上ならおこなれない
というプログラムをつくってifの使い方を学びましょう。
サンプルプログラム
習うより慣れろで、実際にプログラムを書いたほうがif文を理解できます。
numが50未満なら「怒られた…」と表示して、50点以上なら「怒られなくてよかった。」と表示するプログラムを作りましょう。
#include <stdio.h> int main() { int num; printf("テストの点数を記入してください:"); scanf("%d",&num); if(num<50){ printf("怒られた...\n"); }else{ printf("怒られなくてよかった。\n"); } return 0; }
実行すると以下のようになります。
【実行例1】
テストの点数を記入してください:32
怒られた...
【実行例2】
テストの点数を記入してください:76
怒られなくてよかった。
サンプルプログラム2
怒られるだけなのもしゃくなので、褒められるようにしましょう。
- 70点以上なら「ホメられた…」
- 30から70点なら「なにも起きなかった…」
- 30点未満なら「怒られた。」
と表示するプログラムを作ります。
すると以下のようになります。
#include <stdio.h> int main() { int num; printf("テストの点数を記入してください:"); scanf("%d",&num); if(num<30){ printf("怒られた...\n"); }else if(num>=70){ printf("ホメられた...\n"); }else{ printf("なにも起きなかった...\n"); } return 0; }
実行すると次のようになります。
【実行例1】
テストの点数を記入してください:78
ホメられた...
【実行例2】
テストの点数を記入してください:45
なにも起きなかった...
【実行例3】
テストの点数を記入してください:21
怒られた...
else ifでさらに条件を絞っています。
関係演算子
上記の例からわかるように、条件分岐の命令文を使う際に、関係演算子を使います。
関係演算子は以下の通りです。
演算子 | 意味 |
---|---|
> | より大きい |
>= | 以上 |
< | より小さい |
<= | 以下k |
== | 等しい |
!= | 等しくない |
論理演算子
さらに条件分岐の命令文を使う際に使う論理演算子もよく使います。
論理演算子を使うことで複数の条件を組みわせることができます。
論理演算子を以下にまとめます。
演算子 | 意味 |
---|---|
&& | AND(論理積) |
|| | OR(論理和) |
! | NOT(否定) |
これらの演算子は以下のようにして使います。
【AND(論理積)】
A && B
の場合は、AとBがどちらもtrueの場合だけ、trueになります。
【OR(論理和)】
A || B
の場合は、AかBのどちらか一方がtrueならtrueになります。
【NOT(否定)】
!A
の場合は、Aが逆になります。例えば、Aがtrueなら!Aはfalseになります。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー