In this tutorial, you will learn about different C operators with the help of examples.

An operator is a symbol which operates on variables or a value. For example `+`

is an operator to perform addition operation.

There are many operators available in C programming language to perform various operations.

Operators in C language can be broadly classified into the below categories.

- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Assignment Operators
- Misc Operators

## 1) C Arithmetic Operators

An arithmetic variable performs arithmetic operation such as addition, subtraction, multiplication, division, etc on numerical variables or numerical constants.

Suppose, variable `A`

holds 10 and `B`

holds 20 then:

Operator | Meaning of Operator | Example |

+ | Adds two operands. | A + B = 30 |

− | Subtracts second operand from the first. | A − B = -10 |

* | Multiplies both operands. | A * B = 200 |

/ | Divides numerator by de-numerator. | B / A = 2 |

% | Modulus Operator and remainder of after an integer division. | B % A = 0 |

## 2) C Relational Operators

A relational operator checks relation between two operands. If the relation is true then it returns 1; if the relation is false, it returns 0.

Suppose, variable `A`

holds 10 and `B`

holds 20 then:

Operator | Meaning of Operator | Example |

== | Checks if the values of two operands are equal or not. If yes, then the condition becomes true. | `(10 == 20)` evaluate to 0 |

!= | Checks if the values of two operands are equal or not. If the values are not equal, then the condition becomes true. | `(10 != 20)` evaluate to 1 |

> | Checks if the value of left operand is greater than the value of right operand. If yes, then the condition becomes true. | `(10 > 20)` evaluate to 0 |

< | Checks if the value of left operand is less than the value of right operand. If yes, then the condition becomes true. | `(10 < 20)` evaluate to 1 |

>= | Checks if the value of left operand is greater than or equal to the value of right operand. If yes, then the condition becomes true. | `(10 >= 20)` evaluate to 0 |

<= | Checks if the value of left operand is less than or equal to the value of right operand. If yes, then the condition becomes true. | `(10 <= 20)` evaluate to 1 |

## 3) C Logical Operators

The work of the logical operator is to return 0 or 1 depending upon the result of the expression. If the expression evaluate to true then it returns 1 and if the expression evaluate to 0, then it returns 0.

Logical operators are commonly used in C programming language for decision making.

Suppose, variable `A`

holds 10 and `B`

holds 20 then:

Operator | Meaning of Operator | Example |

&& | Logical AND. True only if all operands are true | expression `((A==10) && (B>25))` evaluated to 0 |

|| | Logical OR. True only if either one operand is true | expression `((A==10) || (B>25))` evaluated to 1 |

! | Logical NOT. True only if the operand is 0 | expression `!(A==10)` evaluated to 0 |

## 4) C Bitwise Operators

Bitwise operators are used to perform bit level operations in C programming language. These operators are mainly used to perform numerical calculation faster.

Operator | Meaning of Operator |

& | Bitwise AND |

| | Bitwise OR |

^ | Bitwise exclusive OR |

~ | Bitwise complement |

<< | Shift left |

>> | Shift right |

## 5) C Assignment Operators

An assignment operator is used to assign a value to a variable. The most commonly used assignment variable is =.

Following are the commonly used assignment variable in C programming language.

Operator | Example | Same as |

= | a = b | a = b |

+= | a += b | a = a+b |

-= | a -= b | a = a-b |

*= | a *= b | a = a*b |

/= | a /= b | a = a/b |

%= | a %= b | a = a%b |

<<= | C <<= b | C = C << b |

>>= | C >>= b | C = C >> b |

&= | C &= b | C = C & b |

^= | C ^= b | C ^= b |

|= | C |= b | C = C | b |

## 6) C Misc Operators ( sizeof() and ternary )

Apart from the above operations, C also have few operators such as `sizeof()`

and ternary `?`

operators.

Operator | Meaning of Operator | Example |

sizeof() | Returns the size of a variable. | sizeof(a), where a is integer, will return 4. |

? : | Conditional Expression. | If Condition is true ? then value X : otherwise value Y |

& | Returns the address of a variable. | &a; returns the actual address of the variable. |

* | Pointer to a variable. | *a; |