Operators in C++
In this lesson: Arithmetic, relational, logical, bitwise, assignment and ternary operators in C++ — precedence and output. In Hindi & English.
What are operators?
Operators are symbols that tell C++ to do something with values — add them, compare them, combine conditions, and so on. Learning the main groups covers almost everything you need for day-to-day code.
Arithmetic operators
| Operator | Meaning | Example (a=7, b=2) |
|---|---|---|
+ | Add | a + b → 9 |
- | Subtract | a - b → 5 |
* | Multiply | a * b → 14 |
/ | Divide | a / b → 3 |
% | Remainder | a % b → 1 |
7 / 2 gives 3, not 3.5, because both are integers. Make one a double — 7.0 / 2 — to keep the decimals.
Relational operators
These compare two values and give a bool (true or false): == equal, != not equal, <, >, <=, >=.
cout << (5 > 3) << " " << (5 == 3); // prints 1 0
Logical operators
These combine conditions: && (AND, both true), || (OR, at least one true), ! (NOT, flips it).
int age = 20; bool ok = (age >= 18) && (age < 60); // true
Assignment & compound
= assigns; compound forms combine an operation with assignment: +=, -=, *=, /=, %=.
int total = 10; total += 5; // same as total = total + 5; → 15 total *= 2; // → 30
Increment and decrement
++ adds one, -- subtracts one. Placement matters when used inside a bigger expression:
int i = 5; cout << i++ << "\n"; // prints 5, then i becomes 6 cout << ++i << "\n"; // i becomes 7, then prints 7
5
7
The ternary operator
A one-line if-else that produces a value:
int x = 8, y = 12; int max = (x > y) ? x : y; // 12 cout << "Larger: " << max;
Larger: 12
Operator precedence
Like maths, some operators bind tighter than others: * and / before + and -, comparisons before && and ||. When in doubt, add parentheses:
int r = 2 + 3 * 4; // 14, not 20 int r2 = (2 + 3) * 4; // 20
Common mistakes
- Using
=(assign) where you meant==(compare) in anif. - Expecting
/on two ints to keep decimals — it does not. - Confusing
i++and++iinside a larger expression. - Forgetting precedence and getting a surprising result — use parentheses.
Read two integers and print their sum, difference, product, integer quotient and remainder. Then use the ternary operator to print which one is larger.
Summary
- Arithmetic:
+ - * / %; watch integer division. - Relational and logical operators give
true/false. - Compound assignment (
+=etc.) shortens common updates. ++/--pre vs post matters inside expressions.- The ternary
?:is a compact if-else; parentheses control precedence.
Frequently Asked Questions
What are operators in C++?
+ for addition or == for comparison. C++ groups them into arithmetic, relational, logical, assignment, bitwise and a few special operators like increment and the ternary.What is the difference between = and == in C++?
= is the assignment operator, which stores a value in a variable. A double == is the equality operator, which compares two values and gives true or false. Mixing them up, especially inside if conditions, is a very common bug.What is the difference between ++i and i++ in C++?
i by one, but they differ in what they evaluate to. Pre-increment ++i increases first and then gives the new value, while post-increment i++ gives the old value first and then increases. The difference only matters when the result is used in a larger expression.What is the ternary operator in C++?
?: is a compact if-else that returns a value. In condition ? a : b, if the condition is true the result is a, otherwise it is b. It is handy for short choices like max = (x > y) ? x : y;.