# C Operators

## Operators

Operators are used to perform operations on variables and values.

In the example below, we use the
`+`

**operator** to add together two values:

Although the `+`

operator is often used to add together two values, like in the example above, it can also be used to add together a variable and a value, or a variable and another variable:

### Example

```
int sum1 = 100 + 50;
// 150 (100 + 50)
```

int sum2 = sum1 + 250; // 400 (150 + 250)

int sum3 = sum2 + sum2; // 800 (400 + 400)

Try it Yourself »
C divides the operators into the following groups:

- Arithmetic operators
- Assignment operators
- Comparison operators
- Logical operators
- Bitwise operators

## Arithmetic Operators

Arithmetic operators are used to perform common mathematical operations.

Operator | Name | Description | Example | Try it |
---|---|---|---|---|

+ | Addition | Adds together two values | x + y | Try it » |

- | Subtraction | Subtracts one value from another | x - y | Try it » |

* | Multiplication | Multiplies two values | x * y | Try it » |

/ | Division | Divides one value by another | x / y | Try it » |

% | Modulus | Returns the division remainder | x % y | Try it » |

++ | Increment | Increases the value of a variable by 1 | ++x | Try it » |

-- | Decrement | Decreases the value of a variable by 1 | --x | Try it » |

## Assignment Operators

Assignment operators are used to assign values to variables.

In the example below, we use the **assignment** operator (`=`

)
to assign the value **10** to a variable called **x**:

The **addition assignment** operator (`+=`

) adds a value to a variable:

A list of all assignment operators:

Operator | Example | Same As | Try it |
---|---|---|---|

= | x = 5 | x = 5 | Try it » |

+= | x += 3 | x = x + 3 | Try it » |

-= | x -= 3 | x = x - 3 | Try it » |

*= | x *= 3 | x = x * 3 | Try it » |

/= | x /= 3 | x = x / 3 | Try it » |

%= | x %= 3 | x = x % 3 | Try it » |

&= | x &= 3 | x = x & 3 | Try it » |

|= | x |= 3 | x = x | 3 | Try it » |

^= | x ^= 3 | x = x ^ 3 | Try it » |

>>= | x >>= 3 | x = x >> 3 | Try it » |

<<= | x <<= 3 | x = x << 3 | Try it » |

## Comparison Operators

Comparison operators are used to compare two values (or variables). This is important in programming, because it helps us to find answers and make decisions.

The return value of a comparison is either `1`

or `0`

, which means **true** (`1`

) or **false** (`0`

). These values are known as
**Boolean values**, and you will learn more about them in the Booleans and If..Else chapter.

In the following example, we use the **greater than** operator (`>`

) to find out if 5 is greater than 3:

### Example

```
int x = 5;
```

int y = 3;

printf("%d", x > y); // returns 1 (true) because 5 is greater than 3

Try it Yourself »
A list of all comparison operators:

Operator | Name | Example | Description | Try it |
---|---|---|---|---|

== | Equal to | x == y | Returns 1 if the values are equal | Try it » |

!= | Not equal | x != y | Returns 1 if the values are not equal | Try it » |

> | Greater than | x > y | Returns 1 if the first value is greater than the second value | Try it » |

< | Less than | x < y | Returns 1 if the first value is less than the second value | Try it » |

>= | Greater than or equal to | x >= y | Returns 1 if the first value is greater than, or equal to, the second value | Try it » |

<= | Less than or equal to | x <= y | Returns 1 if the first value is less than, or equal to, the second value | Try it » |

## Logical Operators

You can also test for true or false values with logical operators.

Logical operators are used to determine the logic between variables or values, by combining multiple conditions:

Operator | Name | Example | Description | Try it |
---|---|---|---|---|

&& | AND | x < 5 && x < 10 | Returns 1 if both statements are true | Try it » |

|| | OR | x < 5 || x < 4 | Returns 1 if one of the statements is true | Try it » |

! | NOT | !(x < 5 && x < 10) | Reverse the result, returns 0 if the result is 1 | Try it » |