beautypg.com

Relational and logical operators, Conditional expressions – Rockwell Automation 2098-IPD-xxx Ultra5000 C Programming using the Motion Library User Manual

Page 33

background image

Publication 2098-PM001E-EN-P — July 2002

Programming Motion Control in C

1-21

Relational and Logical
Operators

The relational operators (<, <=, >=, >) make comparisons that test
expressions. They have lower precedence than arithmetic operators,
but higher precedence than the equality operators (==, !=). The logical
operators (&& and ||) have a lower precedence than either the
relational operators and equality operators.

Each of these operators (except the unary !) compares the value to the
left of the operator to the value at its right.

The table below lists the precedence and describes the functions of
these operators.

The numeric value of relational and logical expressions is 1 if the
relation is true, and 0 if the relation is false. The unary negation
operator ! converts a non-zero operand into 0 and a zero operand into
1.

Conditional Expressions

Conditional expressions are a compact way of writing if-else
statements using “?”, the ternary operator. (If-Else is introduced on
page 1-24.)

The operator requires three operands, each of which is an expression,
and the condition is evaluated from left to right.

expressionl ? expression2 : expression3

The value of the whole expression equals the value of expression2 if
expression1 is true, else it equals the value of expression3.

Operator:

Precedence:

Function:

Limitations:

<

1

Is less than

<=

Is less than or equal to

Rounding may cause
errors with floating
point numbers.
(e.g., 3 * 1/3 is 1, but 3
* 0.333333 is
0.999999).

>=

Is greater than or equal to

>

Is greater than

==

2

Is equal to

!=

Is not equal to

&&

3

And

||

4

Or

!
(unary form)

5

Not