Operators are used to perform operation on two operands. Operators in C can be categorized as follows:
Arithmetic operators are used to perform arithmetic operations on two operands.
Operator | Description | |
---|---|---|
+ | Addition | |
- | Substraction | |
* | Multiplication | |
/ | Division | |
% | Modulus | a%b returns remainder of a/b (ex: 10 % 3 returns 1) |
++ | Increment | increases value of an operand by 1 (ex: a++; is equivalent to a = a + 1;) |
-- | Decrement | decreases value of an operand by 1 (ex: a--; is equivalent to a = a - 1;) |
Assignment operators are used to assign values of right hand side expression to left hand side operand.
Operator | Expression | Equivalent to |
---|---|---|
= | a = 5 | a = 5 |
+= | 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 |
&= | 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 |
Comparison operators are used to compare values of two operands. It returns true when values matches and false when values doen not match.
Operator | Description |
---|---|
== | Equal |
!= | Not equal |
> | Greater than |
< | Less than |
>= | Greater than or equal to |
<= | Less than or equal to |
Logical operators are used to combine two or more conditions.
Operator | Description | |
---|---|---|
&& | AND | Returns True when all conditions are true |
|| | OR | Returns True when any of the conditions is true |
! | Returns opposite result | !(2<5) returns false |
Bitwise operators are used to perform bitwise operations on two operands.
Operator | Description | |
---|---|---|
& | AND | Returns 1 if both bits at the same in both operands are 1, else returns 0 |
| | OR | Returns 1 if one of two bits at the same in both operands is 1, else returns 0 |
^ | XOR | Returns 1 if only one of two bits at the same in both operands is 1, else returns 0 |
~ | NOT | Reverse all the bits |
>> | Right shift | The left operand is moved right by the number of bits present in the right operand |
<< | Left shift | The left operand value is moved left by the number of bits present in the right operand |