No.11 条件分岐(1)
今回は、C言語の条件分岐(if文)について解説します。
前回の記事をまだ見ていない方は、下記のリンクからぜひ見てください。
前回の記事を見てからこの記事を見ると理解しやすいです。↓
また、わからない点があればぜひコメントお願いします。
わかりやすいように更新させていただきます。
条件分岐とは
条件分岐とは、指定した条件に当てはまる場合とそうでない場合に実行する処理を分けたいときに使います。
条件分岐で使うのが「if文」です。
if文について
if文では、指定した条件に当てはまっている状態を 真 (true) 当てはまっていない場合を 偽 (false) として扱います。
if文で、真の場合は 1 、偽の場合は 0 と評価されます。
if文の書き方
if文の基本的なプログラムは次のように書きます。↓
if(条件式){
実行するプログラム
}
{ , } がある行には ; を行末に書かなくても大丈夫です。
実行するプログラムは if文の中ではインデントを付けて書きます。
※インデントとは Tubキーで打てる空白です。
ここからは、条件式の書き方について解説していきます。
条件式の書き方
C言語で条件式を書くには、「関係演算子」というものが必要です。
関係演算子とは、2つの値や式の関係を評価しその結果を 真 または 偽 で返します。
関係演算子一覧
関係演算子の一覧と使い方を表でまとめました。↓
関係演算子の使い方
ここからは関係演算子の使い方について解説していきます。
関係演算子の両端には、変数もしくは任意の値を書きます。
(例)
二つの変数 a、b があるとき、a が b より大きい場合は a>b と出力するプログラムです。↓
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
// 等価演算子
if (a > b) {
printf("a>b \n");
}
return 0;
}
出力結果は、a が b より大きいので条件式に当てはまり
a>b
と表示されます。
論理演算子について
ここからは、「論理演算子」について解説していきます。
論理演算子は、2つ以上の条件を組み合わせて判定する際に使用します。
例えば、変数 a 、変数 b 、変数 c があり a が b 以上かつ b が C 以下である場合だけ 「条件に当てはまっています」と表示したい場合には、先ほど解説した関係演算子だけではめんどくさくなります。
そこで使うのが論理演算子です。
関係演算子の使い方
ここからは論理演算子の使い方について解説していきます。
論理演算子の両端には、関係演算子を使った条件式を書きます。
(例)
二つの変数 a、b、c があるとき、a が b より大きいかつc が b 未満の場合は a>b>c と出力するプログラムです。↓
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
int c = 3;
// 等価演算子
if (a > b || b > c) {
printf("a>b>c \n");
}
return 0;
}
出力結果は、a が b より大きいかつ、c が b 未満で条件式に当てはまり
a>b>c
となります。
問題
次の条件を満たす場合、「条件を満たしました」と出力するプログラムを書いてください。ただし、a と b はランダムに設定されます
a が偶数である
b が a より大きい
回答例
#include <stdio.h>
int main() {
int a = 8; // 例として偶数の8を設定
int b = 10; // 例としてaより大きい10を設定
if (a % 2 == 0 && b > a) {
printf("条件を満たしました\n");
}
return 0;
}
ポイントは、条件式で算術演算子を使うことです。
今回は以上です。