Tutorial Playlist
Assignment operators play a vital role in the C programming language, allowing programmers to assign variable values. Understanding assignment operators is crucial for mastering the art of variable manipulation in C. So, let's begin our exploration of assignment operators
This article will explore the world of assignment operators in C, exploring their various types and providing illustrative examples.
Assignment operators are binary operators in C that enable us to give values or expressions to variables. In C, assignment operators associate from right to left, resulting in the value on the right being assigned to the variable on the left. The variable is always on the left side (LHS), while the value or expression is on the assignment operator's right side (RHS).
Assignment operators have lower precedence levels compared to other operators in C. You can assign the same value to multiple variables in a single line of code, and the assignment is performed from right to left. The most basic assignment operator symbol is =, which requires two operands.
Let’s check an example of assignment operator in c -
In an expression like x = 4, the variable x is assigned 4. The variable is on the left side (LHS), and the value or expression is on the assignment operator's right side (RHS). For example:
x = 4; // Assigns the value 4 to the variable x |
The assignment operator associates from right to left. For example:
x = y = 10; // Assigns the value 10 to both variables x and y |
Here, the value 10 is assigned to y first, and then y's value is assigned to x. The simplest explanation of assignment operator associativity can be represented as:
x = (y = (10)); |
This shows that assignment operators are binary operators, requiring two operands. The LHS operand must be a variable, and the RHS operand can be a constant, variable, or expression.
In C, we have two types of assignment operators in C: simple assignment operators and compound assignment operators.
A simple assignment operator assigns the value on the right-hand side (RHS) to the variable on the left-hand side (LHS)
For example:
int x; |
The value 5 is assigned to the variable x using the simple assignment operator in the above example.
Compound assignment operators combine a binary operator with a simple assignment operator. They perform an operation between the LHS and RHS, and the result is returned to the LHS.
For example:
int x = 10; |
In the above example, the compound assignment operator += adds 5 to the variable x and returns the result to x.
Compound assignment operators provide a concise way to perform an operation and assign the result in a single statement.
Table showcasing list of operators in C
Let’s look at some assignment operators' example -
#include <stdio.h> |
Output:
x = 10 |
#include <stdio.h> |
Output:
x = 15 |
#include <stdio.h> |
Output:
x = 5 |
#include <stdio.h> |
Output:
x = 50 |
#include <stdio.h> |
Output:
x = 2 |
#include <stdio.h> |
Output:
x = 1 |
#include <stdio.h> |
Output:
x = 40 |
#include <stdio.h> |
Output:
x = 2 |
#include <stdio.h> |
Output:
x = 1 |
#include <stdio.h> |
Output:
x = 7 |
#include <stdio.h> |
Output:
x = 6 |
Let’s understand the working of Assignment Operators in C with the help of a simple table -
Operator Name | Operator | Description | Equivalent Of | Example |
Basic Assignment | = | Assigns the value on the right to the variable on the left | NA | p = q; |
Addition Assignment | += | Adds the value on the right to the variable on the left | p = p + q; | p += q; |
Subtraction Assignment | -= | Subtracts the value on the right from the variable on the left | p = p - q; | p -= q; |
Multiplication Assignment | *= | Multiplies the value on the right with the variable on the left | p = p * q; | p *= q; |
Division Assignment | /= | Divides the variable on the left by the value on the right | p = p / q; | p /= q; |
Modulo Assignment | %= | Assigns the remainder of division to the variable on the left | p = p % q; | p %= q; |
Bitwise AND Assignment | &= | Performs bitwise AND operation on the variable with the value on the right | p = p & q; | p &= q; |
Bitwise OR Assignment | = | Performs bitwise OR operation on the variable with the value on the right | `p = p | |
Bitwise XOR Assignment | ^= | Performs bitwise XOR operation on the variable with the value on the right | p = p ^ q; | p ^= q; |
Left Shift Assignment | <<= | Shifts the bits of the variable to the left by the value on the right | p = p << q; | p <<= q; |
Right Shift Assignment | >>= | Shifts the bits of the variable to the right by the value on the right | p = p >> q; | p >>= q; |
Assignment operators provide various capabilities, from basic assignments to arithmetic, bitwise, and shift operations. Mastering these operators enables programmers to perform complex calculations and transformations with ease. With their concise syntax and powerful functionality, assignment operators function as a fundamental component of C programming, contributing to code readability and maintainability. The best way to hone proficiency and practical knowledge regarding the same is by upskilling, and what could be better than applying on upGrad for this!
Programming aspirants looking to master skills in software development must consider upGrad’s Executive Post Graduate Program in Software Development - Specialisation in Full Stack Development course offered under the supervision of IIIT-B. This PG program with help learners get an insight into exclusive masterclasses on GenAI, computer science fundamentals, the process of software development, building scalable websites, backend APIs, and much more. Be it a new and seasoned software developer, this program is bound to fuel your flight to success!
1. What is the difference between simple and compound assignment operators in C?
The simple assignment operator (=) assigns the value of the right operand to the left operand. The compound assignment operators (+=, -=, etc.) perform an arithmetic operation and assign the result to the left operand.
2. Can I assign the same value to multiple variables using a single assignment statement?
You can assign the same value to multiple variables using the simple assignment operator in a single line of code, such as "x = y = z = 10;".
3. Are there any precedence rules to consider when using compound assignment operators?
Yes, compound assignment operators have lower precedence than most other operators in C. It's important to use parentheses to clarify the order of operations if necessary, especially when combining compound assignment operators with other arithmetic or bitwise operators.
PAVAN VADAPALLI
Popular
Talk to our experts. We’re available 24/7.
Indian Nationals
1800 210 2020
Foreign Nationals
+918045604032
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enrolling. upGrad does not make any representations regarding the recognition or equivalence of the credits or credentials awarded, unless otherwise expressly stated. Success depends on individual qualifications, experience, and efforts in seeking employment.
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...