Categories: C言語

【C言語】値を比較する方法【比較演算と論理演算】

この記事では、C言語で値を比較する方法を解説します。

プログラミングをしているとある値が何かしらの値より大きいのか小さいのかはたまた同等なのかを知りたい場合があります。

そんな時は「比較演算子」を使って右辺と左辺の値を比較します。

それでは、比較演算子の使い方を見ていきましょう!

比較演算子とは?

比較演算子とは、左辺と右辺の値を比較するための演算子です。

if文やwhile文の条件式として使うことができ、「同等」や「~以上」という条件を指定することができます。

ではでは、具体的にどのような比較演算子が用意されているか見ていきましょう!

比較演算子一覧

以下のような比較演算子が用意されています。

演算子 意味
x == y x と y が等しいかどうか
x != y x と y が等しくないかどうか
x < y x が y より小さいかどうか
x > y x が y より大きいかどうか
x <= y x が y 以下かどうか
x >= y x が y 以上かどうか

値を変更して挙動を確認してみてください。より理解が深まります。

#include <stdio.h>
 
int main(void) {
    int x = 1;
    int y = 0;

    if(x == y) printf("xはyと同じ\n");
    if(x != y) printf("xはyと異なる\n");
    if(x < y) printf("xはyより小さいです\n");
    if(x > y) printf("xはyより大きいです\n");
    if(x <= y) printf("xはy以下です\n");
    if(x >= y) printf("xはy以上です\n");
}

実行結果

xはyと異なる
xはyより大きいです
xはy以上です

比較演算が返す値

比較演算は、真の場合「1」、偽の場合「0」が返されます。

#include <stdio.h>

int main() 
{
    int x = 0;

    printf("真: %d\n", x == 0);
    printf("偽: %d\n", x != 0);
}

実行結果

真: 1
偽: 0

論理演算

論理演算とは、「かつ」や「または」を使って比較演算を組み合わせる演算です。

例えば、「20歳以上かつ65歳以下」や「20歳以下または65歳以上」というように、条件を「かつ」、「または」でつなぐことができます。

かつ:&&

比較演算を&&で繋ぐことで繋いだ全ての比較演算が真でなければ真として判定されません。

条件式1 && 条件式2

以下の例では、20歳以上65歳以下のみが真として判定されます。

#include <stdio.h>
 
int main(void) {
    int age = 35;

    if((age >= 20) && (age <= 65)){
        printf("20歳以上、かつ65歳以下\n");
    }
}

実行結果

20歳以上の男性です

または:||

||で繋ぐことで繋いだ比較演算の中で1つでも真があれば真として判定されます。

条件式1 || 条件式2

以下の例では、20歳以上または男性ならば真として判定されます。

#include <stdio.h>
 
int main(void) {
    int age = 18;

    if((age <= 20) || (age >= 65)){
        printf("20歳以下、または65歳以上\n");
    }
}

実行結果

20歳以下、または65歳以上

まとめ

この記事では、比較演算と論理演算の方法を解説しました。

if文などで条件を指定する際によく使われるのでしっかり覚えておきましょう❗️

【C言語】if文を使った条件分岐の方法を解説この記事では、C言語で if文 を使った条件分岐の方法について解説します。if文とは、制御構文の1つで、条件式によって処理を分岐させることができます。それでは、if文 を使った条件分岐について見ていきましょう!...

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago