【独学C言語入門⑦】比較演算子と論理演算子

比較演算子論理演算子を使用すると条件をもうけることができ、満たしているか、満たしていないかで処理を変化させることができます。まずは比較演算子を表にまとめます。

比較演算子 意味
A > B AはBより大きい
A >= B AはB以上
A < B AはBより小さい
A <= B AはB以下
A == B AとBは一致する
A != B AとBは一致しない

論理演算子を表にまとめます。

論理演算子 意味
 A && B AとBの両方が成立する
 A || B AとBの片方が少なくとも成立する
 !A Aは成立しない

比較演算子と論理演算子を使用して条件が成立する場合をtrueと呼び「1」をいう値を持ちます。対して条件が成立しない場合をfalseと呼び「0」を持ちます。テストを行ってみます。

#include<stdio.h>
main()
{
    int a = 1;
    int b = 2;

    //比較演算子のテスト
    printf("a = %d, b = %d\n", a, b);

    printf("a < b\n");
    printf("%d\n", a < b);

    printf("a > b\n");
    printf("%d\n\n", a > b);

    //論理演算子のテスト
    printf("a = %d, b = %d\n", a, b);

    printf("a = 1 and b = 1\n");
    printf("%d\n", a == 1 && b == 1);

    printf("a = 1 or b = 1\n");
    printf("%d\n", a == 1 || b == 1);
}

//右が切れたら左にスワイプしてください

次に参考までに三項演算子というやり方で条件をもうけて代入する値を変える方法をご紹介します。ただ、この三項演算子は分かりづらいため別の回でご紹介するif文を使用することをおすすめします。

#include<stdio.h>
main()
{
    int a = 1;
    int b = 2;
    int result;

//三項演算子のテスト
//aがb以下ならa+b, それ以外なら0を表示

    result= (a <= b) ? (a + b) : 0;
    printf("result = %d\n", result);
}

//右が切れたら左にスワイプしてください

このように三項演算子は分かりづらいので使用を避けた方が無難です。このような方法もC言語にはあるとだけご紹介させて頂きました。

独学C言語入門一覧に戻る