C++ operators are symbols or keywords used to perform operations on variables and values. These operators are used to manipulate data and variables in different ways.
1. Arithmetic Operators
These operators are used to perform basic mathematical operations like addition, subtraction, etc.
Operator
Description
Example
+
Addition: Adds two operands.
a+b
–
Subtraction: Subtracts the second operand from the first.
a-b
*
Multiplication: Multiplies two operands.
a*b
/
Division: Divides the first operand by the second. Returns quotient.
a/b
%
Modulus: Returns the remainder of a division operation.
a%b
Example:
int a = 20;
int b = 5;
cout << a + b << endl; // Output: 25 (Addition)
cout << a - b << endl; // Output: 15 (Subtraction)
cout << a * b << endl; // Output: 100 (Multiplication)
cout << a / b << endl; // Output: 4 (Division)
cout << a % b << endl; // Output: 0 (Remainder)
2. Relational (Comparison) Operators
These operators are used to compare two values and return a boolean result (true or false).
Operator
Description
Example
==
Equal to: Returns true if both operands are equal.
a == b
!=
Not equal to: Returns true if operands are not equal.
a != b
>
Greater than: Returns true if the left operand is greater.
a > b
<
Less than: Returns true if the left operand is smaller.
a < b
>=
Greater than or equal to: Returns true if left operand is greater or equal.
a >= b
<=
Less than or equal to: Returns true if left operand is smaller or equal.
a <= b
Example:
int a = 20;
int b = 5;
cout << (a == b) << endl; // Output: false
cout << (a != b) << endl; // Output: true
cout << (a > b) << endl; // Output: true
cout << (a < b) << endl; // Output: false
cout << (a >= b) << endl; // Output: true
cout << (a <= b) << endl; // Output: false
3. Logical Operators
These operators are used to perform logical operations, commonly in conditional statements.
Operator
Description
Example
&&
Logical AND: Returns true if both operands are true.
a && b
||
Logical OR: Returns true if at least one operands is true.
a || b
!
Logical NOT: Reverses the logical state of its operand.
!a
Example:
bool a = true;
bool b = false;
cout << (a && b) << endl; // Output: False (Both must be true)
cout << (a || b) << endl; // Output: True (At least one is true)
cout << (!a) << endl; // Output: False (Reverses the value)
4. Assignment Operators
These are used to assign values to variables.
Operator
Description
Example
=
Assignment: Assigns the value on the right to the variable on the left.
a = b
+=
Add and assign: Adds the right operand to the left operand and assigns the result to the left operand.
a += b
-=
Subtract and assign: Subtracts the right operand from the left operand and assigns the result to the left operand.
a -= b
*=
Multiply and assign: Multiplies the left operand by the right operand and assigns the result to the left operand.
a *= b
/=
Divide and assign: Divides the left operand by the right operand and assigns the result to the left operand.
a /= b
%=
Modulus and assign: Takes the modulus of the left operand by the right operand and assigns the result to the left operand.
a %= b
Example:
int a = 20;
a += 10; // a = a + 10 => num = 30
a -= 5; // a = a - 5 => a = 25
a *= 2; // a = a * 2 => a = 50
a /= 5; // a = a / 5 => a = 10
cout << (a) << endl; // Output: 10
5. Ternary Operator
This is a shorthand for an if-else statement.
Syntax:
condition ? expression_if_true : expression_if_false
Example:
int age = 19;
string result = (age >= 18) ? "Adult": "Not Adult";
cout << (result) << endl; // Output: Adult
6. Scope Resolution Operator (::)
It is used to define the scope of a function or variable.
std::cout << "Hello, World!"; // Access cout in std namespace