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 || 条件式2

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

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

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

実行結果

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

まとめ

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

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

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

最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』