## Operators

C operators are symbols that are used to perform mathematical or logical manipulations. The C programming language is rich with built-in operators. Operators take part in a program for manipulating data and variables and form a part of the mathematical or logical expressions.

**Types of operators:-**

C programming language offers various types of operators having different functioning capabilities.

- Arithmetic Operators
- Relational Operators
- Logical Operators
- Assignment Operators
- Increment and Decrement Operators
- Conditional Operator
- Bitwise Operators
- Special Operators

**Arithmetic Operators:-**

C supports all the basic arithmetic operators. The following table shows all the basic arithmetic operators.

Operator | Description |
---|---|

+ | adds two operands |

– | subtract second operands from first |

* | multiply two operand |

/ | divide numerator by denominator |

% | remainder of division |

++ | Increment operator – increases integer value by one |

— | Decrement operator – decreases integer value by one |

**Relational operators:-**

The following table shows all relation operators supported by C.

Operator | Description |
---|---|

== | Check if two operand are equal |

!= | Check if two operand are not equal. |

> | Check if operand on the left is greater than operand on the right |

< | Check operand on the left is smaller than right operand |

>= | check left operand is greater than or equal to right operand |

<= | Check if operand on left is smaller than or equal to right operand |

**Logical operators:-**

C language supports following 3 logical operators. Suppose `a = 1`

and `b = 0`

,

Operator | Description | Example |
---|---|---|

&& | Logical AND | (a && b) is false |

|| | Logical OR | (a || b) is true |

! | Logical NOT | (!a) is false |

**Bitwise operators:-**

Bitwise operators perform manipulations of data at **bit level**. These operators also perform **shifting of bits** from right to left. Bitwise operators are not applied to `float`

or `double`

(These are datatypes, we will learn about them in the next tutorial).

Operator | Description |
---|---|

& | Bitwise AND |

| | Bitwise OR |

^ | Bitwise exclusive OR |

<< | left shift |

>> | right shift |

**Assignment Operators:-**

Assignment operators supported by C language are as follows.

Operator | Description | Example |
---|---|---|

= | assigns values from right side operands to left side operand | a=b |

+= | adds right operand to the left operand and assign the result to left | a+=b is same as a=a+b |

-= | subtracts right operand from the left operand and assign the result to left operand | a-=b is same as a=a-b |

*= | mutiply left operand with the right operand and assign the result to left operand | a*=b is same as a=a*b |

/= | divides left operand with the right operand and assign the result to left operand | a/=b is same as a=a/b |

%= | calculate modulus using two operands and assign the result to left operand | a%=b is same as a=a%b |

**Conditional operator:-**

The Conditional Operator in C, also called a Ternary operator, is one of the Operators, which used in the decision-making process. The C Programming Conditional Operator returns the statement depends upon the given expression result.

**Example:-**

Test_expression ? statement1: statement2

**Special operator:-**

Operator | Description | Example |
---|---|---|

sizeof | Returns the size of an variable | sizeof(x) return size of the variable x |

& | Returns the address of an variable | &x ; return address of the variable x |

* | Pointer to a variable | *x ; will be pointer to a variable x |

## Recent Comments