Logical operators, Mikroc – ABL electronic PIC Microcontrollers PIC16 User Manual

Page 115

Advertising
background image

Logical Operators

Operands of logical operations are considered true or false, that is non-zero or
zero. Logical operators always return 1 or 0. Operands in a logical expression
must be of scalar type.

Logical operators

&&

and

||

associate from left to right. Logical negation operator

! associates from right to left.

Logical Operators Overview

Precedence of logical, relational, and arithmetic operators was chosen in such a
way to allow complex expressions without parentheses to have expected meaning:

c >= '0' && c <= '9';

// reads as: (c>='0') && (c<='9')

a + 1 == b || ! f(x;)

// reads as: ((a+1)== b) || (!(f(x)))

Logical AND (

&&

) returns 1 only if both expressions evaluate to be nonzero, oth-

erwise returns 0. If the first expression evaluates to false, the second expression is
not evaluated. For example:

a > b && c < d;

// reads as: (a>b) && (c<d)

// if (a>b) is false (0), (c<d) will not be evaluated

Logical OR (

||

) returns 1 if either of the expressions evaluate to be nonzero, oth-

erwise returns 0. If the first expression evaluates to true, the second expression is
not evaluated. For example:

a && b || c && d;

// reads as: (a && b) || (c && d)

// if (a&&b) is true (1), (c&&d) will not be evaluated

MikroElektronika: Development tools - Books - Compilers

107

page

mikroC - C Compiler for Microchip PIC microcontrollers

mikroC

making it simple...

Operator

Operation

Precedence

&&

logical AND

5

||

logical OR

4

!

logical negation

14

Advertising
This manual is related to the following products: