Operator precedence and the order of evaluation plays a major role when two or more operators are used in a statement.

For example:  a = b + c * d - e / z;

After executing the above statement, which operator will be evaluated first? Whether(a = b) or (b + c) or (c * d ) or (d - e)and so on... The solution to this answer can be given by the below operator precedence table.

We can also remember the priorities of a few operators with BODMAS rules. i.e.

• B - Brackets
• O  - Order of (or) Power of
• D - Division
• M - Multiplication
• S - Subtraction

### Exercise #1:

a = b + c * d - e / z

Let's solve this expression by using the above-given table or the BODMAS  rule. The division has higher priority than multiplication and the priority goes with addition, subtraction, and assignment.

1. temp1 = e / z
2. temp2 = c * d
3. temp3 = b + temp2
4. temp4 = temp3 - temp1
5. a = temp4

Note: In the above expression all the operators, except assignment have the left to right evaluation order that is the reason,  why e is divided by z. In the case of the assignment operator, the right-side value is assigned to the left due to the right to left order.

As a good programming practise, we can also change the expression like a = (((b+c) * (d-e)) / z) .  Brackets remove the ambiguity and also improve the code readability.