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

C offers various types of operators having different functioning capabilities.
  • 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 (%).


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); 
Program Output:


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.

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);
Program Output:
5 4
4 3
3 2
2 1
1 0

Relational Operators

Relational operators are used to compare two quantities or values.

==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).

&&And operator. It performs a 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.

<<Binary Left Shift Operator
>>Binary Right Shift Operator
~Binary One's 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.

+=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 Operator

C offers a ternary operator which is the conditional operator (?: in combination) to construct conditional expressions.

? : Conditional Expression

Special Operators

C supports some special operators

sizeof() Returns the size of a memory location.
& Returns the address of a memory location.
* Pointer to a variable.

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));
Program Output:


Subscribe Updates via Email

Join 49,000+ W3schools lovers and get all the latest tutorials, programs, algorithms in your inbox.