DEV Community

Cover image for Operators and Expression
Zaynul Abedin Miah
Zaynul Abedin Miah

Posted on • Edited on

Operators and Expression

Arithmetic Operators

Arithmetic Operators in C++ are used to perform arithmetic or mathematical operations on the operands. For example, ‘+’ is used for addition, ‘–‘ is used for subtraction, ‘*’ is used for multiplication, etc. In simple terms, arithmetic operators are used to perform arithmetic operations on variables and data; they follow the same relationship between an operator and an operand.

// C++ program to execute all 5 // arithmetic function #include <iostream> using namespace std; int main() { int a, b; a = 10; b = 3; // printing the sum of a and b cout<< "a + b= " << (a + b) << endl; // printing the difference of a and b cout << "a - b = " << (a - b) << endl; // printing the product of a and b cout << "a * b = " << (a * b) << endl; // printing the division of a by b cout << "a / b = " << (a / b) << endl; // printing the modulo of a by b cout << "a % b = " << (a % b) << endl; return 0; } 
Enter fullscreen mode Exit fullscreen mode

Output:
a + b = 13
a - b = 7
a * b = 30
a / b = 3
a % b = 1

Assignment Operators

Assignment operators are used to assigning value to a variable.
Different types of assignment operators are shown below:

  • “=”: This is the simplest assignment operator. This operator is used to assign the value on the right to the variable on the left.

  • “+=”: This operator is combination of ‘+’ and ‘=’ operators. This operator first adds the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.

  • “-=”This operator is combination of ‘-‘ and ‘=’ operators. This operator first subtracts the current value of the variable on left from the value on the right and then assigns the result to the variable on the left.

  • =”This operator is combination of ‘’ and ‘=’ operators. This operator first multiplies the current value of the variable on left to the value on the right and then assigns the result to the variable on the left.

  • “/=”This operator is combination of ‘/’ and ‘=’ operators. This operator first divides the current value of the variable on left by the value on the right and then assigns the result to the variable on the left.

Example:

#include <iostream> using namespace std; int main() { // Assigning value 10 to a // using "=" operator int a = 10; cout << "Value of a is "<<a<<"\n"; // Assigning value by adding 10 to a // using "+=" operator a += 10; cout << "Value of a is "<<a<<"\n"; // Assigning value by subtracting 10 from a // using "-=" operator a -= 10; cout << "Value of a is "<<a<<"\n"; // Assigning value by multiplying 10 to a // using "*=" operator a *= 10; cout << "Value of a is "<<a<<"\n"; // Assigning value by dividing 10 from a // using "/=" operator a /= 10; cout << "Value of a is "<<a<<"\n"; return 0; } 
Enter fullscreen mode Exit fullscreen mode

Output:
Value of a is 10
Value of a is 20
Value of a is 10
Value of a is 100
Value of a is 10

Increment and Decrement

The increment operator ++ adds 1 to its operand, and the decrement operator -- subtracts 1 from its operand. So, x = x+1; is the same as x++; And similarly, x = x-1; is the same as x--.

Example:

int a = 10; int b = 3; cout<<"Increment Decrement Operators" <<endl; ++a; ++b; cout << "A " << a << endl; cout << "B " << b << endl; int x = 10; int y = x++; cout <<"X , Y "<<x<<","<<y <<endl; int z = ++x; cout <<"X, Z " << x <<", "<<z <<endl; 
Enter fullscreen mode Exit fullscreen mode

Output:
A 11
B 2
X , Y 11,10
X, Z 12,12

Relational Operators

A relational operator is used to check the relationship between two operands. For example,
Example:

int a = 10; int b = 3; cout << "Relational Operators" <<endl; cout << (a>b) <<endl; 
Enter fullscreen mode Exit fullscreen mode

Output:
1

Here, > is a relational operator. It checks if a is greater than b or not.

If the relation is true, it returns 1 whereas if the relation is false, it returns 0.

The following table summarizes the relational operators used in C++.

Image description

Logical Operators

Image description

Truth Table of && Operator
Let a and b be two operands. 0 represents false while 1 represents true. Then,
Image description

Example:

// C++ program demonstrating && operator truth table

#include <iostream> using namespace std; int main() { int a = 5; int b = 9; // true && false = false cout << ((a == 5) && (a > b)) << endl; // true && true = true cout << ((a == 5) && (a < b)) << endl; return 0; } 
Enter fullscreen mode Exit fullscreen mode

Output:
0
1

OR Operator
Truth Table of || Operator

Image description

Example:
// C++ program demonstrating || operator truth table

include

using namespace std;

int main() {
int a = 5;
int b = 9;

// false && false = false cout << ((a == 0) || (a > b)) << endl; // false && true = true cout << ((a == 0) || (a < b)) << endl; // true && false = true cout << ((a == 5) || (a > b)) << endl; // true && true = true cout << ((a == 5) || (a < b)) << endl; return 0; 
Enter fullscreen mode Exit fullscreen mode

}

**Output:** `0 1 1 1` **NOT Operator !** Reverse the result, returns false if the result is true. **Example:** 
Enter fullscreen mode Exit fullscreen mode

// C++ program demonstrating ! operator truth table

include

using namespace std;

int main() {
int a = 5;

// !false = true cout << !(a == 0) << endl; // !true = false cout << !(a == 5) << endl; return 0; 
Enter fullscreen mode Exit fullscreen mode

}

 **Output:** `1 0` ## Bitwise Operators **Binary And &** It takes two numbers as operands and does AND on every bit of two numbers. The result of AND is 1 only if both bits are 1. _Rules:_ 0 & 0 = 0 1 & 0 = 0 0 & 1 = 0 1 & 1 = 1 **Binary OR |** It takes two numbers as operands and does OR on every bit of two numbers. The result of OR is 1 if any of the two bits is 1. _Rules:_ 1 | 0 = 1 0 | 1 = 1 0 | 0 = 0 1 | 1 = 1 **Binary XOR ^ (Exclusive OR)** It takes two numbers as operands and does XOR on every bit of two numbers. The result of XOR is 1 if the two bits are different. _Rules:_ 0 ^ 0 = 0 0 ^ 1 = 1 1 ^ 0 = 1 1 ^ 1 = 0 **Binary Not ~** It takes one number and inverts all bits of it. ~0 = 1 ~1 = 0 **Binary Left Shift**It takes two numbers, left shifts the bits of the first operand, the second operand decides the number of places to shift. 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)