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; |