![]() | ![]() | ![]() | Logical Expressions |
< expression > | -> | < logical term > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | < expression > || < logical term > | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
< logical term > | -> | < logical factor > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | < logical term > && < logical factor > | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
< logical factor > | -> | < relational expression > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | ! <relational expression>
|
Co provides the logical `and' ( &&
), `or' ( ||
) and
`not' ( !
) operators. In Co, these operators are actually
applied to integers. They interpret their operands using the usual
scheme: 0 represents `false' and any non-zero value represents `true'.
The logical and relational operators of Co all produce the value 1
when the result of an operation is `true'.
The !
operator has the highest precedence among the logical
operators followed by &&
and finally ||
. Operators of
equal precedence are grouped from left to right.
The &&
and ||
operators are evaluated lazily in Co.
That is, if the first operand of an &&
operator is zero, a
result of zero is returned without ever evaluating the second operand.
Similarly, if the first operand of an ||
operator is non-zero,
the second operand will not be evaluated.
![]() | ![]() | ![]() | Logical Expressions |