論理演算子

 関係演算子と論理演算子の他にもう一つ、if文の条件式で使われる論理演算子について解説していきます。

 論理演算子は、2つ以上の条件を組み合わせて「AかつB」「AまたはB」という条件を作りたい場合、また、「条件が偽(0)になるかどうか」という条件式を作りたい場合に用います。以下のプログラムを書いて、実行してみて下さい。

#include <stdio.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    printf("最初の処理\n");
    
    int a = 15;
    
    // aが3の倍数 かつ 5の倍数のとき
    if(a % 3 == 0 && a % 5 == 0) {
        printf("aは3の倍数 かつ 5の倍数\n");
    }
    
    // aが3の倍数 または 5の倍数のとき
    if(a % 3 == 0 || a % 5 == 0) {
        printf("aは3の倍数 または 5の倍数\n");
    }
    
    // aは4の倍数 ではない とき
    if(!(a % 4 == 0)) {
        printf("aは4の倍数 ではない\n");
    }
    
    printf("最後の処理\n");
    
    return 0;
}

 変数aの中身は「15」なので、実行して表示される結果としては、

最初の処理
aは3の倍数 かつ 5の倍数
aは3の倍数 または 5の倍数
aは4の倍数 ではない
最後の処理

 と表示されます。変数aの中身を色々な整数に変えて、実行して動きを確認してみると理解しやすいでしょう。

 以上が論理演算子の使い方です。まとめると、

    関係演算子
  • a % 3 == 0 && a % 5 == 0 : 【論理積】変数aが3の倍数かつ5の倍数であるとき
  • a % 3 == 0 || a % 5 == 0 : 【論理和】変数aが3の倍数または5の倍数であるとき
  • !(a % 4 == 0) : 【否定】変数aが4の倍数ではないとき

 このようになります。

■スポンサーリンク

このページの先頭へ