It is necessary to be careful of the meaning of such expressions as a + b * c
We may want the effect as either
(a + b) c
or
a + (b c)
All operators have a priority, and high priority operators are evaluated before lower priority ones. Operators of the same priority are evaluated from left to right, so that
a - b - c
is evaluated as
( a - b ) - c
as you would expect.
From high priority to low priority the order for all C operators (we have not met all of them yet) is:
Thus
a < 10 &&2 b < c
is interpreted as
( a < 10 ) &&( ( 2 b ) < c )
and
as