# C Order of Operations

From ROBOTC API Guide

General Programming → Order Of Operations

### Operations level 1

Operator | Syntax | Explanation |
---|---|---|

++ | x++ | a unary operator that increases the value of "x" by one |

-- | x-- | A unary operator that decreases the value of "x" by one |

### Operations Level 2

Operator | Syntax | Explanation |
---|---|---|

++ | ++x | a unary operator that increases the value of "x" by one |

-- | --x | A unary operator that decreases the value of "x" by one |

+ | +x | A unary operator that does ???????? |

- | -x | A unary operator that does ???????? |

! | !x | A logical operator that returns a boolean value that is the opposite of "x" (If "x" is true, then "!x" returns false) |

### Operations Level 3

Operator | Syntax | Explanation |
---|---|---|

/ | a / b | An operator that returns the value of "a divided by b" |

* | a * b | An operator that returns the value of "a multiplied by b" |

% | a % b | An operator that returns the value of "the remainder of a divided by b" |

### Operations Level 4

Operator | Syntax | Explanation |
---|---|---|

+ | a + b | An operator that returns the value of "a plus b" |

- | a - b | An operator that returns the value of "a minus b" |

### Operations Level 5

Operator | Syntax | Explanation |
---|---|---|

/ | a / b | An operator that returns the value of "a divided by b" |

* | a * b | An operator that returns the value of "a multiplied by b" |

% | a % b | An operator that returns the value of "the remainder of a divided by b" |

### Operations Level 6

Operator | Syntax | Explanation |
---|---|---|

>> | a >> b | A bitwise shift to the right ????????? |

<< | a << b | A bitwise shift to the left ?????????? |

### Operations Level 7

Also known as "boolean operators" for returning boolean values

Operator | Syntax | Explanation |
---|---|---|

< | a < b | A logical statement that returns "true" if "a" is less than "b" |

* | a <= b | A logical statement that returns "true" if "a" is less than or equal to "b" |

> | a > b | A logical statement that returns "true" if "a" is greater than "b" |

>= | a >= b | A logical statement that returns "true" if "a" is greater than or equal to "b" |

### Operations Level 8

Also known as "boolean operators" for returning boolean values

Operator | Syntax | Explanation |
---|---|---|

= | a = b | A logical statement that returns "true" if "a" is equal to "b" |

!= | a != b | A logical statement that returns "true" if "a" NOT equal to "b" |

### Operations Level 9

Operator | Syntax | Explanation |
---|---|---|

& | a & b | A bitwise operator AND ???????? |

### Operations Level 10

Operator | Syntax | Explanation |
---|---|---|

^ | a ^ b | A bitwise operator ExclusiveOR ???????? |

### Operations Level 11

Operator | Syntax | Explanation |
---|---|---|

| | a | b | A bitwise operator OR ???????? |

### Operations Level 12

Operator | Syntax | Explanation |
---|---|---|

&& | a && b | Returns "true" if both "a" and "b" are also true |

### Operations Level 13

Operator | Syntax | Explanation |
---|---|---|

|| | a || b | Returns "true" if either "a" or "b" is true |

### Operations Level 14

Operator | Syntax | Explanation |
---|---|---|

?: | a ? b : c | Ternary operations: see Tertiary_operators |

### Operations Level 15

Operator | Syntax | Explanation |
---|---|---|

= | a = b | Assigns the value of "b" to "a" |

+= | a += b | Assigns the value of "a + b" to "a" |

-= | a -= b | Assigns the value of "a - b" to "a" |

/= | a /= b | Assigns the value of "a / b" to "a" |

*= | a *= b | Assigns the value of "a * b" to "a" |

%= | a %= b | Assigns the value of "a % b" to "a" |

<<= | a <<= b | Assigns the value of "a << b" to "a" ???????? |

>>= | a >>= b | Assigns the value of "a >> b" to "a" ???????? |

&= | a &= b | Assigns the value of "a & b" to "a" ????????? |

^= | a ^= b | Assigns the value of "a ^ b" to "a" ????????? |

|= | a |= b | Assigns the value of "a |= b" to "a" ?????????? |