An operator is a symbol that helps us to perform specific mathematical and logical computation operation on a value or a variable.
There are following types of operators to perform different types of operations in C language.
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Assignment Operators
- Other Operators
Arithmetic Operator
An arithmetic operator performs mathematical operations such as addition, subtraction, multiplication, division etc
Operator | Description | 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 |
++ | Increment operator increases the integer value by one. | A++ = 11 |
— | Decrement operator decreases the integer value by one. | A– = 9 |
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.
Operator | Meaning of Operator | Example |
---|---|---|
== | Equal to | 6 == 4 is evaluated to 0 |
> | Greater than | 6 > 4 is evaluated to 1 |
< | Less than | 6 < 4 is evaluated to 0 |
!= | Not equal to | 6 != 4 is evaluated to 1 |
>= | Greater than or equal to | 6 >= 4 is evaluated to 1 |
<= | Less than or equal to | 6 <= 4 is evaluated to 0 |
Logical Operator
Logical operators are used in decision making in C programming. An expression containing logical operator returns either 0 or 1 depending upon whether expression results true or false.
Operator | Description | Example |
---|---|---|
&& | Called Logical AND operator. If both the operands are non-zero, then the condition becomes true. | (A && B) is false. |
|| | Called Logical OR Operator. If any of the two operands is non-zero, then the condition becomes true. | (A || B) is true. |
! | Called Logical NOT Operator. It is used to reverse the logical state of its operand. If a condition is true, then Logical NOT operator will make it false. | !(A && B) is true. |
Bitwise Operator
The Bitwise operators is used to perform bit-level operations on the operands. The operators are first converted to bit-level and then the calculation is performed on the operands.
Operators | Meaning of operators |
---|---|
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise exclusive OR |
~ | Bitwise complement |
<< | Shift left |
>> | Shift right |
Assignment Operator
Assignment operators are used to assigning value to a variable. The left side operand of the assignment operator is a variable and right side operand of the assignment operator is a value.
Other Operators
It includes sizeof ()
and Ternary operators, Comma Operator.
sizeof()
is a unary operator that returns the size of data (constants, variables, array, structure, etc.
Comma acts as both operator and separator.comma operator has the lowest precedence of any C operator. Comma operators are used to link related expressions together.
&:- Returns the address of a variable.
Ternary operators / Conditional Operator- ?
Operators Precedence in C
Category | Operator | Associativity |
---|---|---|
Postfix | () [] -> . ++ – – | Left to right |
Unary | + – ! ~ ++ – – (type)* & sizeof | Right to left |
Multiplicative | * / % | Left to right |
Additive | + – | Left to right |
Shift | << >> | Left to right |
Relational | < <= > >= | Left to right |
Equality | == != | Left to right |
Bitwise AND | & | Left to right |
Bitwise XOR | ^ | Left to right |
Bitwise OR | | | Left to right |
Logical AND | && | Left to right |
Logical OR | || | Left to right |
Conditional | ?: | Right to left |
Assignment | = += -= *= /= %=>>= <<= &= ^= |= | Right to left |
Comma | , | Left to right |