Assignment Operator in C and C++ - Arithmetic Assignment, Compound Assignment
Assignment Operator in C and C++
All C programs are valid C++ programs. Hence, Assignment operators in C are valid in C++.
Assignment Operator in C programming is used to assigning a value to the variable. This is called a simple assignment operator. The arithmetic and any other operator would not be useful without an assignment operator. The assignment operator takes the value on the right-hand side and puts it into the variable on the left-hand side.
Assignment Operator in C and C++ - Syntax
variable-name = value;
Assignment Operator in C and C++ - Examples
int x=10; float y=20; String s="hello"; char gender='M'; int a; a=20;
Compound Assignment Operators in C and C++
Sometimes, the left-hand-side variable is repeated immediately on the right side of the expression. For example, x = x + y. These types of expressions can also be written in compressed form, that is x += y. This kind of (+=) operator is called a compound assignment operator. Compound assignment operators are used as shown below:
| Operators | Description | Example | Meaning |
|---|---|---|---|
| += | Addition and Assignment operators. It adds the value of A and B and assigns the result to A. | x += y | x = x + y |
| - = | Subtraction and Assignment operators. It subtracts the value of B from A and assigns the result to A. | x -= y | x = x - y |
| * = | Multiplication and Assignment operators. It multiplies the value of A and B and assigns the result to A. | x *= y | x = x * y |
| /= | Division and Assignment operators. It divides the value of A by B and assigns the result to A. | x /= y | x = x / y |
| %= | Modulus and Assignment operators. It divides the value of A by B and stores the remainter to A. | x %= y | x = x%y |
| &= | Bitwise AND and Assignment operators. It performs the bitwise AND with A and B and assigns the result to A. | x &= y | x = x & y |
| |= | Bitwise OR and Assignment operators. It performs the bitwise OR with A and B and assigns the result to A. | x |= y | x = x | y |
| ^= | Bitwise XOR and Assignment operators. It performs the bitwise XOR with A and B and assigns the result to A. | x ^= y | x = x ^ y |
| >>= | Bitwise Right Shift and Assignment operators. It performs the bitwise right shift with A and assigns the result to A. | x >>= y | x = x >> y |
| <<= | Bitwise Left Shift and Assignment operators. It performs the bitwise left shift with A and assigns the result to A. | x <<= y | x = x << y |
| Operators | Description | Example | Meaning |
|---|---|---|---|
| += | Addition and Assignment operators. It adds the value of A and B and assigns the result to A. | x += y | x = x + y |
| - = | Subtraction and Assignment operators. It subtracts the value of B from A and assigns the result to A. | x -= y | x = x - y |
| * = | Multiplication and Assignment operators. It multiplies the value of A and B and assigns the result to A. | x *= y | x = x * y |
| /= | Division and Assignment operators. It divides the value of A by B and assigns the result to A. | x /= y | x = x / y |
| %= | Modulus and Assignment operators. It divides the value of A by B and stores the remainter to A. | x %= y | x = x%y |
| &= | Bitwise AND and Assignment operators. It performs the bitwise AND with A and B and assigns the result to A. | x &= y | x = x & y |
| |= | Bitwise OR and Assignment operators. It performs the bitwise OR with A and B and assigns the result to A. | x |= y | x = x | y |
| ^= | Bitwise XOR and Assignment operators. It performs the bitwise XOR with A and B and assigns the result to A. | x ^= y | x = x ^ y |
| >>= | Bitwise Right Shift and Assignment operators. It performs the bitwise right shift with A and assigns the result to A. | x >>= y | x = x >> y |
| <<= | Bitwise Left Shift and Assignment operators. It performs the bitwise left shift with A and assigns the result to A. | x <<= y | x = x << y |
Assigning Same value to Multiple Variables
There is also possible to assign a single value to multiple variables. This kind of assignment is called nested assignment or multiple assignments.
Assignment Operator Syntax
variable 1 = variable 2 = variable 3.......variable N = single value;
Assignment Operator - Example
x = y = z = 10; a = b = k =(x+y+z);
Assignment Operator - Complete Example Program
Following is an example C Program using Assignment Operators.
#include <stdio.h>
int main()
{
/* Simple Assignment*/
int a,k;
int b,j;
float c=30.0;
float d=5.0;
/*Nested or Multiple Assignment */
a = k = 5;
b = j = 3;
/*Compound Assignment*/
a += b;
printf("After Add and Assign :%d \n",a);
k -= j;
printf("After Subtract and Assign :%d \n",k);
a *= b;
printf("After Multiple and Assign :%d \n",a);
c /= d;
printf("After Divide and Assign :%f \n",c);
j %= k;
printf("After Modulo and Assign :%d \n",j);
j &= k;
printf("After Bitwise And and Assign :%d \n",j);
j |= k;
printf("After Bitwise OR and Assign :%d \n",j);
a ^= b;
printf("After Bitwise XOR and Assign :%d \n",a);
a <<= 2;
printf ("After Bitwise Left Shift and Assign :%d \n",a);
a >>= 3;
printf ("After Bitwise Right Shift and Assign :%d \n",a);
return(0);
}
Output
After Add and Assign :8 After Subtract and Assign :2 After Multiple and Assign :24 After Divide and Assign :6.000000 After Modulo and Assign :1 After Bitwise And and Assign :0 After Bitwise OR and Assign :2 After Bitwise XOR and Assign :27 After Bitwise Left Shift and Assign :108 After Bitwise Right Shift and Assign :13