C 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 in C
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Assignment Operators
- Increment and Decrement Operators
- Conditional Operator
- Bitwise Operators
- Special Operators
Arithmetic Operators
Arithmetic Operators are used to performing mathematical calculations like addition (+), subtraction (-), multiplication (*), division (/) and modulus (%).
| Operator | Description |
|---|---|
| + | Addition |
| - | Subtraction |
| * | Multiplication |
| / | Division |
| % | Modulus |
Example: C Program to Add Two Numbers
#include<stdio.h> void main() { int i=3,j=7,k; /* Variables Defining and Assign values */ k=i+j; printf("sum of two numbers is %d\n", k); }Output:
sum of two numbers is 10
Increment and Decrement Operators
Increment and Decrement Operators are useful operators generally used to minimize the calculation, i.e. ++x and x++ means x=x+1 or -x and x−−means x=x-1. But there is a slight difference between ++ or −− written before or after the operand. Applying the pre-increment first add one to the operand and then the result is assigned to the variable on the left whereas post-increment first assigns the value to the variable on the left and then increment the operand.
| Operator | Description |
|---|---|
| ++ | Increment |
| -- | Decrement |
Example:To Demonstrate Prefix and Postfix Modes
#include<stdio.h> //stdio.h is a header file used for input.output purpose. void main() { //set a and b both equal to 5. int a=5, b=5; //Print them and decrementing each time. //Use postfix mode for a and prefix mode for b. printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); printf("\n%d %d",a--,--b); }Output:
5 4
4 3
3 2
2 1
1 0
Relational Operators
Relational operators are used to comparing two quantities or values.
| Operator | Description |
|---|---|
| == | Is equal to |
| != | Is not equal to |
| > | Greater than |
| < | Less than |
| >= | Greater than or equal to |
| <= | Less than or equal to |
Logical Operators
C provides three logical operators when we test more than one condition to make decisions. These are: && (meaning logical AND), || (meaning logical OR) and ! (meaning logical NOT).
| Operator | Description |
|---|---|
| && | And operator. It performs logical conjunction of two expressions. (if both expressions evaluate to True, result is True. If either expression evaluates to False, the result is False) |
| || | Or operator. It performs a logical disjunction on two expressions. (if either or both expressions evaluate to True, the result is True) |
| ! | Not operator. It performs logical negation on an expression. |
Bitwise Operators
C provides a special operator for bit operation between two variables.
| Operator | Description |
|---|---|
| << | Binary Left Shift Operator |
| >> | Binary Right Shift Operator |
| ~ | Binary Ones Complement Operator |
| & | Binary AND Operator |
| ^ | Binary XOR Operator |
| | | Binary OR Operator |
Assignment Operators
Assignment operators applied to assign the result of an expression to a variable. C has a collection of shorthand assignment operators.
| Operator | Description |
|---|---|
| = | Assign |
| += | Increments then assign |
| -= | Decrements then assign |
| *= | Multiplies then assign |
| /= | Divides then assign |
| %= | Modulus then assign |
| <<= | Left shift and assign |
| >>= | Right shift and assign |
| &= | Bitwise AND assign |
| ^= | Bitwise exclusive OR and assign |
| |= | Bitwise inclusive OR and assign |
Conditional Operators
C offers a ternary operator which is the conditional operator (?: in combination) to construct conditional expressions.
| Operator | Description |
|---|---|
| ? : | Conditional Expression |
Special Operators
C supports some special operators
| Operator | Description |
|---|---|
| sizeof() | Returns the size of a memory location. |
| & | Returns the address of a memory location. |
| * | Pointer to a variable. |
Example: Program to demonstrate the use of sizeof operator
#include<stdio.h>
void main()
{
int i=10; /* Variables Defining and Assign values */
printf("integer: %d\n", sizeof(i));
}Output:
integer: 4


0 Comments