プログラムを書くための小道具(4)


論理式(logical type)

「1は2より小さい」や「3は10より大きい」などのように、 正しいか正しくないか(真偽)がはっきり判断できる文を数学では命題と呼んでいた。

このような命題の中で変数を含むものを論理式と呼ぶ。 論理式では変数に代入されている値によって真理値(真もしくは偽)が決定される。 例えば

a < 3

という論理式は、a に 2が代入されていればであるし、 aに30が代入されていればとなる。

論理式は、関係演算子論理演算子を組み合わせて構成する。


論理演算(logical operation)

複数の論理式を組み合わせて、より複雑な論理式を作りあげる作業と思えば良い。 C では論理演算を行うために「論理和(OR)」、「論理積(AND)」、「否定(NOT)」の3つの論理演算子が用意されている。 その他の論理演算はこの3つを組み合わせることで実現可能である。


論理和(logical OR)

与えられた 2つ以上の論理式のいずれか一つでも真の場合、式全体が「真」となる。 C では "||" で表す。

条件が2つ与えられた場合の、論理和は次の表のような結果を与える。

  条件 1     条件 2   条件 1 || 条件 2

上のような表を「真理値表」と呼ぶ


論理積(logical AND)

与えられた 2つ以上の論理式のすべてが真の場合、式全体が「真」となる。 C では "&&" で表す。

条件が2つ与えられた場合の、論理積は次の表のような結果を与える。

  条件 1     条件 2   条件 1 && 条件 2

否定(logical NOT)

一つの論理式に対し働き、与えられた論理式の真偽を逆転させる。 つまり与えられた論理式が偽の場合は結果が「真」に、真の場合は結果が「偽」となる。 C では"!"で表す。

  条件   ! 条件

関係演算子(relational operators)と等値演算子(equality operators)

2つの式の間に置かれ、その関係を表す演算子。次のようなものがある。

< 左辺が右辺より小さい(<)
> 左辺が右辺より大きい(>)
<= 左辺が右辺より小さいか等しい(≦)
>= 左辺が右辺より大きいか等しい(≧)
== 左辺と右辺が等しい(=)
!= 左辺と右辺が等しくない(≠)

戻る
表紙


tacha@tack.fukui-med.ac.jp
$Id: logic.html,v 1.1 2007/10/25 15:45:42 tacha Exp $