「1は2より小さい」や「3は10より大きい」などのように、 正しいか正しくないか(真偽)がはっきり判断できる文を数学では命題と呼んでいた。
このような命題の中で変数を含むものを論理式と呼ぶ。 論理式では変数に代入されている値によって真理値(真もしくは偽)が決定される。 例えば
という論理式は、a
に 2が代入されていれば真であるし、
a
に30が代入されていれば偽となる。
複数の論理式を組み合わせて、より複雑な論理式を作りあげる作業と思えば良い。 C では論理演算を行うために「論理和(OR)」、「論理積(AND)」、「否定(NOT)」の3つの論理演算子が用意されている。 その他の論理演算はこの3つを組み合わせることで実現可能である。
与えられた 2つ以上の論理式のいずれか一つでも真の場合、式全体が「真」となる。
C では "||
" で表す。
条件が2つ与えられた場合の、論理和は次の表のような結果を与える。
条件 1 | 条件 2 | 条件 1 || 条件 2 |
---|---|---|
真 | 真 | 真 |
真 | 偽 | 真 |
偽 | 真 | 真 |
偽 | 偽 | 偽 |
上のような表を「真理値表」と呼ぶ
与えられた 2つ以上の論理式のすべてが真の場合、式全体が「真」となる。
C では "&&
" で表す。
条件が2つ与えられた場合の、論理積は次の表のような結果を与える。
条件 1 | 条件 2 | 条件 1 && 条件 2 |
---|---|---|
真 | 真 | 真 |
真 | 偽 | 偽 |
偽 | 真 | 偽 |
偽 | 偽 | 偽 |
一つの論理式に対し働き、与えられた論理式の真偽を逆転させる。
つまり与えられた論理式が偽の場合は結果が「真」に、真の場合は結果が「偽」となる。
C では"!
"で表す。
条件 | ! 条件 |
---|---|
真 | 偽 |
偽 | 真 |
2つの式の間に置かれ、その関係を表す演算子。次のようなものがある。
< |
… | 左辺が右辺より小さい(<) |
> |
… | 左辺が右辺より大きい(>) |
<= |
… | 左辺が右辺より小さいか等しい(≦) |
>= |
… | 左辺が右辺より大きいか等しい(≧) |
== |
… | 左辺と右辺が等しい(=) |
!= |
… | 左辺と右辺が等しくない(≠) |