Operators are very important to use in C++ because, without their use, expressions cannot be evaluated.
With the help of examples, we will learn about the various types of operators in C++ in this article.
An operator is a symbol in programming that operates on a value or variable. In simple words, an operator performs operations on operands. The operation might be arithmetic or data comparison.
For example;
x = a+b;
In the above example, a
, b
, and x
are operands and +
and =
are the operators.
Operators in C++ can be classified into:
- Assignment Operators
- Arithmetic Operators
- Compound Operators
- Relational Operators
- Increment/decrement Operators
- Logical Operator
1. Assignment Operators
The assignment operator assigns a value to a variable. The symbol =
is used as an assignment operator.
For example;
x = 26;
The integer 26 is assigned to the variable x
in the above statement. The left side of the assignment operator =
is a variable, while the right side can be a constant value, a variable, an operation result, or a combination of these.
The assignment operation is always performed from right to left.
2. Arithmetic Operators
+
, -
, *
, /
, %
are the five arithmetic operators used in C++ that support the following arithmetic operations.
Symbol | Operation |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Division |
% | Modulus |
The percentage sign %
shown in the above table is used for modulus. The remainder of a division of two values is determined by modulus.
For example;
Remainder = 11 % 5;
The variable remainder will contain the value 1 since 1 is the remainder from dividing by 5
.
3. Compound Assignment Operators
+=
, -=
, *=
, /=
, %=
are the compound assignment operators, also known as arithmetic assignment operators used in C++.
In C++, these operators are used to modify the value of a variable by executing an operation on the value currently stored in the variable.
For example;
a+=b;
The preceding code will be used to add the value of a variable b
to the value of another variable a
.
To make it more simple, consider the code like this:
a=a+b;
Operator | Symbol | Form | Operation |
---|---|---|---|
Addition Assignment | += | x += y | Addition |
Subtraction Assignment | -= | x -= y | Subtraction |
Multiplication | *= | x *= y | Multiplication |
Division Assignment | /= | x /= y | Division |
Modulus Assignment | %= | x %= y | Modulus |
Consider the following program to understand the concept of Compound Assignment Operators in C++.
// demonstrates arithmetic assignment operators #include <iostream> using namespace std; int main() { int ans = 27; ans += 10; //same as: ans = ans + 10; cout << ans; return 0; }
OUTPUT OF THE PROGRAM
37
4. Relational Operators
Relational operators compare two expressions or, to put it another way, they check the relationship between two operands.
These operators can provide either true
or false
results.
For example;
10 > 20;
The above single-line statement checks if 10 is greater than 20. Here, >
is a relational operator. It checks whether 10 is greater than 20.
If the relationship is true
, it returns 1, but if it is false
, it returns 0.
Operator | Symbol | Form | Operation |
---|---|---|---|
Greater Than | > | x > y | If x is greater than y, true; else, false. |
Less Than | < | x < y | If x is less than y, true, else, false. |
Greater or Equal | >= | x >= y | If x is greater than or equal to y, true; else, false. |
Less or Equal | <= | x <= y | If x is less than or equal to y, true; else, false. |
Equal | ==' | x == y | if x is equals to y, true; else, false. |
No Equal | != | x != y; | if x does not equal y, true; else, false |
Consider the following program to understand the concept of Relational Operators in C++.
//A CPP Program to demonstrate the use of Relational operators #include <iostream> using namespace std; int main() { int marks; cout<<"Enter Your Marks= "<< endl; cin>> marks; if(marks!=50) cout<<"\nPass"; else cout<<"\nFail"; return 0; }
OUTPUT OF THE PROGRAM:
Enter Your Marks=
43
Pass
5. Increment/decrement Operators
increment/decrement operators are also known as Unary arithmetic operators. These operators are used to shorten the length of expressions.
The increment and decrement operators ++
and --
respectively increase and decrease the value stored in a variable by 1
.
For example;
Var1++;
Var1 = Var + 1;
Var1 += 1;
The above statements are similar, and they all increase the value of the variable Var1
by 1.
To decrease the value of the variable Var1
, you just need to change the +
sign to -
.
For example;
Var1--;
Var1 = Var - 1;
Var1 -= 1;
Each increment and decrement operator has two versions—the prefix and postfix versions.
The operators precede their operands in the prefix form of the increment and decrement operators, e.g., ++Var1, –Var1.
While in postfix form, the increment and decrement operators appear in the expression after the operands, e.g., Var1++
, Var1--
.
Consider the following program to understand the concept of Increment/Decrement Operators in C++.
//increment/decrement operator example //CPP #include <iostream> using namespace std; main() { int x = 5; cout<<"Increment in prefix form ="<<++x<<endl; cout<<"Decrement In Prefix Form ="<<--x<<endl; return 0; }
6. Logical Operators
Logical operators are mostly used in decision-making statements. To evaluate if an expression is true
or false
, logical operators are used. If the expression is true
, it will return 1, but if it is false
, it will return 0.
There are three logical operators used in C++. These are:
- Logical NOT ( ! )
- Logical AND ( && )
- Logical OR ( || )
Operator | Symbol | Form | Operation |
---|---|---|---|
Logical NOT | ! | !x | If x is false, true; otherwise, false. |
Logical AND | && | x&&y | If both x and y are true, true; otherwise, false. |
Logical OR | || | x || y | If either x or y is true, true; otherwise, false. |
1. Logical NOT
The !
operator is the C++ unary operator that is used to perform the Boolean NOT
operation. The output of this operator is the inverse of the value of its operand.
X | !X |
---|---|
True | False |
False | True |
It produces false
if its operand is true
and true
if its operand is false
.
2. Logical AND
The logical &&
operator is a two-operand binary operator. It is used to check whether or not both conditions are true
.
X | Y | X&&Y |
---|---|---|
True | True | True |
False | False | False |
False | True | False |
The logical &&
returns true if both conditions are true; otherwise, it returns false
.
3. Logical OR
The logical operator ||
is used to check if two conditions are true
. The logical ||
operator returns true if either the left operand or the right operand evaluates to true.
X | Y | X || Y |
---|---|---|
True | True | True |
False | False | False |
False | True | True |
Also, if both the operands are true, logical ||
returns to true, but if both are false, it returns to false.
Consider the following program to understand the concept of Logical Operators in C++.
// C++ program to demonstrate working of // logical operators #include <iostream> using namespace std; int main() { int a = 20, b = 40, c = 10, d = 70; // logical operators // logical AND example if (a > b && c == d) cout << "a is greater than b AND c is equal to d\n"; else cout << "AND condition not satisfied\n"; // logical OR example if (a > b || c == d) cout << "a is greater than b OR c is equal to d\n"; else cout << "Neither a is greater than b nor c is equal " " to d\n"; return 0; }
OUTPUT OF THE PROGRAM
AND condition not satisfied
Neither a is greater than b nor c is equal to d
Unary, Binary, and Ternary Operators
Unary, binary, and ternary operators are the three primary categories of C++ operators.
This division is based on the number of operands that the operators operate on.
1. Unary Operators
Unary operators are those that only require one operand. There are two unary operators in arithmetic: unary +
and unary -
.
For example;
a = +x;
b = -y;
c = !y;
The logical NOT !
and the increment/decrement operators are examples of unary operators.
2. Binary Operators
The binary operators are those that need two operands. Example of binary operators are +
, -
, *
, /
, %
.
The Assignment Operator =
is also known as a binary operator as it also requires two operands.
In simple words, all operators that require two operands are known as binary operators.
3. Ternary Operators
Three operands are required for the ternary operator. Only one ternary operator exists in a statement. The operator ?:
is a conditional operator.
Consider the following example of the Ternary operator.
//A CPP Program to find the greater number out of 3 using Ternary Operator #include <iostream> #include <conio.h> using namespace std; int main() { int num1, num2, num3, max; cout<< "Enter Three Numbers= "<< endl; cin>> num1 >> num2 >> num3 ; max = num1; max= (num2>max)?num2:max; max= (num3>max)?num3:max; cout<< "The Max Integer is ="<< max<<endl; getch(); }
OUTPUT OF THE PROGRAM
Enter Three Numbers=
30
40
20
The Max Integer is =40