C言語 if・else・else if文の使い方【わかりやすく解説します】
こんにちは♪ジジです♪
あなたはif文などの使い方がわからなくてここに来ていると思いますが 、使い方は至って簡単です。
この記事を読んでいただけたら、その問題を解決出来ます!
より、理解しやすくするため条件分岐について多くのサンプルコードを使って詳しく説明します。
普通はコード内の文が順番に処理されますが、
こういう条件の時はこのように出力する、違うならこのように出力するとはいうふうに複雑な処理をしたい時に「if文」を使います。
目次
- 関係演算子の種類と意味
- if文について(1分岐)
- if〜else文について(2分岐)
- if〜else if〜elseについて(3分岐)
- 4分岐以上の書き方
- おすすめ書籍
関係演算子の種類と意味
まず、条件分岐の説明に入る前に「関係演算子」を理解しておかないといけません。
なぜなら、理解していないと条件を書けないからです。
関係演算子
1、==
2、!=
3、不等号(<,>,<=,>=)
下記に関係演算子の意味を記述します。
- ==
これはイコールです。右辺と左辺が等しいということ。 例、1204==1204
【注】 =(代入)と==(イコール)を間違えないように!
2、!=
右辺と左辺がイコールでない。
(数学でいうと、≠と同じ意味。) 例、1!=2
3、不等号(<,>,<=,>=)
特別な意味はありません。ただの不等号です。
例、1204<1300→1204より1300の方が大きい
【注】
以上、以下の不等号(<=,>=)の=は
必ず右側に書いてください。
if文について(1分岐)
if文を使うと、条件に応じた処理ができる。
【書き方】
if(条件){
文;
}
条件に当てはまったらブロック内の文が処理される
では!コードを使って詳しく説明します!
【例題1】
数値を入力し、1204が入力されたら終了するプログラム
#include <stdio.h>
int main(void)
{ int x;
printf("x="); scanf("%d",&x);
if(x==1204){
printf("%dが入力された¥n",x);
}
return 0;
}
実行する(条件に当てはまっていたら)→
x=(入力した数値)
1204が入力された。
実行する(条件に当てはまっていなかったら) →
x=(入力した数値)
条件に当てはまっていないので、if文の所は処理されない。
if〜else文について(2分岐)
【書き方】
if(条件){
文;
}
else{ 文;
}
条件に当てはまったらif文のブロック内の文を処理。
当てはまっていないなら、else文のブロック内の文を処理する。という意味。
【例題2】
男と女を区別するプログラム
男なら1を、女なら2を入力する。
#include <stdio.h>
int main(void)
{ int x;
printf("男なら1、女なら2を入力。¥n");
scanf("%d",&x);
if(x==1){ printf("あなたは男です。¥n");
}
else{ printf("あなたは女です。¥n");
}
return 0;
}
実行する(1を入力した場合)→
男なら1、女なら2を入力。
1
あなたは男です。
実行する(1以外を入力した場合)→
男なら1、女なら2を入力。
2
あなたは女です。
if〜else if〜else文をついて(3分岐)
【書き方】
if(条件){
文;
}
else if(条件){
文;
}
else{ 文;
}
まず、初めにif文の条件が当てはまったら、if文のブロック内の文を処理。
if文の条件が当てはまらなかったら、else if文に進み、条件が当てはまったらelse if文のブロック内の文を処理。
全ての条件が当てはまらなかったら、else文のブロック内の文を処理する。
【例題3】
気温(T)と湿度(H)を入力する。不快指数(DI)を入力し、60.0未満なら「肌寒いね」、60.0以上70.0以下なら「快適」、70.0より大きいなら「暑くて不快」と出力するプログラム。 全て実数(小数)型で宣言する
DI=0.81T+0.01H(0.99T-14.3)+46.3
#include <stdio.h>
int main(void)
{ float T,H,DI;
printf("気温="); scanf("%f",&T);
printf("湿度="); scanf("%f",&H);
DI=0.81*T+0.01*H(0.99*T-14.3)+46.3;
if(DI<60.0){ printf("肌寒いね¥n");
}
else if(DI>70.0){ printf("快適¥n");
}
else { printf("暑くて不快¥n");
}
return 0;
}
実行する(DIが60未満なら)→肌寒いね と出力。
実行する(DIが70より大きいなら)→快適 と出力。
実行する(全ての条件が当てはまらなかったら)→
暑くて不快 と出力。
条件分岐は簡単ですから、難しく考えないようにしましょう。
4分岐以上の書き方
結論としては、else if文をいっぱい増やせばいいだけです。
4分岐 5分岐
if(条件){ if(条件){
文; 文;
} }
else if(条件){ else if(条件){
文; 文;
} }
else if(条件){ else if(条件){
文; 文;
} }
else{ 文; else if(条件){
} 文;
}
else{ 文;
}
こちらには私の記事にはないサンプルコードがありますのでより理解が深まると思います。
おすすめ書籍
私がC言語を始めたばかりの時はずっとこの本を使っていました。
ものすごくわかりやすいです!
条件分岐は至って簡単ですので、あまり深く考えないようにしましょう。
私の記事を読んでいただきありがとうございました。