An operator is a symbol that tells the compiler to perform specific mathematical or logical functions. C language supports a rich set of builtin operators.Operators are used in program to manipulate data and variables.
C language provides the following types of operators 
 Arithmetic Operators
 Increment and Decrement Operators
 Assignment Operators
 Relational Operators
 Logical Operators
 Conditional Operators
 Bitwise Operators
 Special Operators
Arithmetic Operators :
An arithmetic operator performs mathematical operations such as addition, subtraction and multiplication on numerical values (constants and variables).
Arithmetic Operators/Operation

Example

+ (Addition)

A+B

– (Subtraction)

AB

* (multiplication)

A*B

/ (Division)

A/B

% (Modulus)

A%B

Increment and Decrement operators :
C programming has two operators increment ++ and decrement  to change the value of an operand (constant or variable) by 1. Increment ++ increases the value by 1 whereas decrement  decreases the value by 1. These two operators are unary operators, meaning they only operate on a single operand.
Operator

Operator/Description

Pre increment operator (++i)  value of i is incremented before assigning it to the variable i 
Post increment operator (i++)  value of i is incremented after assigning it to the variable i 
Pre decrement operator (–i)  value of i is decremented before assigning it to the variable i 
Post decrement operator (i–)  value of i is decremented after assigning it to variable i 
Assignment Operators :
An assignment operator is used for assigning a value to a variable. The most common assignment operator is =.
Operators

Example/Description

=

sum = 10;
10 is assigned to variable sum 
+=

sum += 10;
This is same as sum = sum + 10

=

sum = 10;
This is same as sum = sum – 10

*=

sum *= 10;
This is same as sum = sum * 10

/=

sum /= 10;
This is same as sum = sum / 10

%=

sum %= 10;
This is same as sum = sum % 10

&=

sum&=10;
This is same as sum = sum & 10

^=

sum ^= 10;
This is same as sum = sum ^ 10

Relational Operators :
A relational operator checks the relationship between two operands. If the relation is true, it returns 1; if the relation is false, it returns value 0. Relational operators are used in decision making and loops.
Operators

Example/Description

>

x > y (x is greater than y)

<

x < y (x is less than y)

>=

x >= y (x is greater than or equal to y)

<=

x <= y (x is less than or equal to y)

==

x == y (x is equal to y)

!=

x != y (x is not equal to y)

Logical Operators :
An expression containing logical operator returns either 0 or 1 depending upon whether expression results true or false. Logical operators are commonly used in decision making.
Operators

Example/Description

&& (logical AND)

(x>5)&&(y<5)
It returns true when both conditions are true 
 (logical OR)

(x>=10)(y>=10)
It returns true when atleast one of the condition is true

! (logical NOT)

!((x>5)&&(y<5))
It reverses the state of the operand “((x>5) && (y<5))”
If “((x>5) && (y<5))” is true, logical NOT operator makes it 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.
The truth tables for &, , and ^ is as follows −
p  q  p & q  p  q  p ^ q 

0  0  0  0  0 
0  1  0  1  1 
1  1  1  1  0 
1  0  0  1  1 
Below are the Bitwise Operators and their name in C language :
 &  Bitwise AND
   Bitwise OR
 ^  Bitwise Exclusive OR
 >>  Right Shift
 <<  Left Shift
 ~  Bitwise Complement
Special Operators :
Below are some of special operators that the C language offers :
Operators

Description

&

This is used to get the address of the variable.
Example : &a will give address of a.

*

This is used as pointer to a variable.
Example : * a where, * is pointer to the variable a.

Sizeof ()

This gives the size of the variable.
Example : size of (char) will give us 1.
