Assignment Operators in C Programming

In a C language there are following assignment operators  −

Operator Description Example
= assignment operator (it assigns values of right side operands to left side operand ) a=5
+= Add assignment operator a+=5
-= Subtract assignment operator a-=5
*= Multiply  assignment operator a*=5
/= Divide assignment operator a/=5
%= Modulus assignment operator a%=5
<<= Left shift assignment operator a<<=5
>>= Right shift assignment operator a>>=5
&= Bitwise AND assignment operator a&=5
^= Bitwise exclusive OR assignment operator a^=5
|= Bitwise inclusive OR assignment operator a|=5

EXAMPLE: Use of assignment operators with arithmetic operators

#include  
int main() {
  int a = 10;
    a +=5;     // 15 (a=a+5)
     printf("\nsum is %d",a);

    a-=5;       //10  (a=a-5)
     printf("\nsub is %d",a);

    a*=5;      //50   (a=a*5)
     printf("\nmul is %d",a);

    a/=5;      //10    (a=a/5)
    printf("\ndiv is %d",a);

    a%=5;
    printf("\nmod is %d",a);
    return 0;    
    
}

Output

sum is 15
 sub is 10
 mul is 50
 div is 10
 mod is 0

EXAMPLE: Use of assignment operators with bitwise operators

#
include < stdio.h >
  int main() {
    int a = 10;
    a <<= 2; // 15 (a=a+5)
    printf("\nleft shift is %d", a);

    a >>= 2; //10  (a=a-5)
    printf("\nright shift is %d", a);

    a &= 2; //50   (a=a*5)
    printf("\nbitwise and is %d", a);

    a ^= 2; //10    (a=a/5)
    printf("\nbitwise xor is %d", a);

    a |= 2;
    printf("\nbitwise or is %d", a);
    return 0;

  }

Output

left shift is 40
right shift is 10
bitwise and is 2
bitwise xor is 0
bitwise or is 2