Operators

Loading concept...

C++ Operators: The Magic Tools in Your Programming Toolbox 🧰

Imagine you have a magical calculator that can do way more than just add numbers. It can compare things, make decisions, and even play with the tiny switches inside your computer! That’s what operators do in C++. They’re special symbols that tell the computer to DO something with your data.

Let’s think of operators like kitchen tools. Just like you need different tools to cook (a spoon to stir, a knife to cut), you need different operators to work with your code!


🔢 Arithmetic Operators: Your Math Helpers

These are your basic math buddies! They help you do calculations, just like you learned in school.

The Five Math Friends

Operator What It Does Kitchen Tool Analogy
+ Addition Putting ingredients together
- Subtraction Taking away from your pile
* Multiplication Doubling your recipe
/ Division Cutting into equal pieces
% Modulus (remainder) What’s left after sharing equally

Let’s See Them Work!

int apples = 10;
int friends = 3;

int total = apples + 5;    // 15 apples now!
int left = apples - 4;     // 6 apples remain
int doubled = apples * 2;  // 20 apples (wow!)
int each = apples / friends; // 3 apples each
int extra = apples % friends; // 1 apple leftover

The Modulus Secret 🎁

The % operator is like sharing candy with friends. If you have 10 candies and 3 friends:

  • Each friend gets 10 / 3 = 3 candies
  • You have 10 % 3 = 1 candy left over!
graph TD A[10 Apples] --> B{Divide by 3} B --> C[Each gets 3] B --> D[1 leftover = 10 % 3]

⚖️ Relational Operators: The Comparison Experts

Ever played “Which is bigger?” as a kid? Relational operators do exactly that! They compare two things and tell you true or false.

Meet the Comparison Crew

Operator Meaning Example Result
== Equal to 5 == 5 true
!= Not equal to 5 != 3 true
> Greater than 7 > 3 true
< Less than 2 < 9 true
>= Greater or equal 5 >= 5 true
<= Less or equal 4 <= 6 true

Watch Out! = vs ==

This is where many beginners trip:

  • = means “put this value here” (assignment)
  • == means “are these the same?” (comparison)
int age = 10;      // Setting age TO 10
if (age == 10) {   // ASKING: Is age equal to 10?
    // Yes it is!
}

Real Example: Are You Tall Enough?

int yourHeight = 120;
int rideMinimum = 110;

bool canRide = yourHeight >= rideMinimum;
// true! You CAN ride the rollercoaster!

🧠 Logical Operators: The Decision Makers

These operators help you combine multiple questions into one big decision. Like asking: “Is it sunny AND am I free?”

The Three Logic Friends

Operator Name Meaning
&& AND BOTH must be true
|| OR At least ONE must be true
! NOT Flips true↔false

The Ice Cream Decision 🍦

bool haveMonkey = true;
bool isHotDay = true;
bool amSick = false;

// Can I get ice cream?
bool canGetIceCream = haveMonkey && isHotDay;
// true! Both conditions are met!

// Should I stay inside?
bool stayInside = amSick || !isHotDay;
// false! Not sick AND it's hot!
graph TD A[Have Money?] --> B{AND} C[Is it Hot?] --> B B --> D[Get Ice Cream! 🍦]

Truth Table: AND (&&)

A B A && B
true true true
true false false
false true false
false false false

Truth Table: OR (||)

A B A || B
true true true
true false true
false true true
false false false

📝 Assignment Operators: The Value Givers

Assignment operators put values into variables—like putting toys into boxes!

The Assignment Family

Operator What It Does Same As
= Assign value -
+= Add and assign x = x + y
-= Subtract and assign x = x - y
*= Multiply and assign x = x * y
/= Divide and assign x = x / y
%= Modulus and assign x = x % y

Shortcuts Save Time!

int score = 100;

score = score + 10;  // Long way: now 110
score += 10;         // Short way: now 120

// They do the SAME thing!
// But += is cleaner and faster to write

All Shortcuts in Action

int points = 50;

points += 10;  // 60 (added 10)
points -= 5;   // 55 (removed 5)
points *= 2;   // 110 (doubled!)
points /= 10;  // 11 (divided by 10)
points %= 3;   // 2 (remainder of 11÷3)

⬆️⬇️ Increment & Decrement: The +1 and -1 Wizards

These special operators add or subtract exactly 1. They’re super useful for counting!

Two Forms: Pre and Post

Operator Name What Happens
++x Pre-increment Add 1 FIRST, then use
x++ Post-increment Use FIRST, then add 1
--x Pre-decrement Subtract 1 FIRST, then use
x-- Post-decrement Use FIRST, then subtract 1

The Cookie Counter 🍪

int cookies = 5;

cookies++;  // Now cookies = 6
++cookies;  // Now cookies = 7
cookies--;  // Now cookies = 6
--cookies;  // Now cookies = 5

Pre vs Post: Why It Matters

int a = 5;
int b = 5;

int result1 = ++a;  // a becomes 6 FIRST
                    // result1 = 6

int result2 = b++;  // result2 = 5 (old value)
                    // THEN b becomes 6

Remember:

  • Pre (++x): Change, then give
  • Post (x++): Give, then change

🔧 Bitwise Operators: The Binary Magicians

Now we dive deep! Your computer thinks in 1s and 0s (called bits). Bitwise operators let you play with these tiny switches directly!

Meet the Bit Crew

Operator Name What It Does
& AND 1 only if BOTH bits are 1
| OR 1 if ANY bit is 1
^ XOR 1 if bits are DIFFERENT
~ NOT Flips all bits
<< Left shift Move bits left
>> Right shift Move bits right

Bitwise AND (&): Both Switches On

// 5 in binary: 0101
// 3 in binary: 0011
// 5 & 3 =      0001 = 1

int result = 5 & 3;  // result = 1
    0 1 0 1  (5)
  & 0 0 1 1  (3)
  ---------
    0 0 0 1  (1)

Bitwise OR (|): Any Switch On

// 5 in binary: 0101
// 3 in binary: 0011
// 5 | 3 =      0111 = 7

int result = 5 | 3;  // result = 7

Bitwise XOR (^): Different = 1

// 5 in binary: 0101
// 3 in binary: 0011
// 5 ^ 3 =      0110 = 6

int result = 5 ^ 3;  // result = 6

Bit Shifting: Moving Bits Around

int x = 5;      // Binary: 0101

int left = x << 1;   // 1010 = 10
// Shifted left = multiplied by 2!

int right = x >> 1;  // 0010 = 2
// Shifted right = divided by 2!
graph LR A[0101 = 5] -->|<< 1| B[1010 = 10] A -->|>> 1| C[0010 = 2]

Why Use Bitwise?

  1. Super fast math - Shifting is faster than multiplying
  2. Flags and settings - Store many on/off switches in one number
  3. Low-level programming - Working with hardware

🎯 Quick Reference: All Operators

graph TD A[C++ Operators] --> B[Arithmetic] A --> C[Relational] A --> D[Logical] A --> E[Assignment] A --> F[Inc/Dec] A --> G[Bitwise] B --> B1["+ - * / %"] C --> C1["== != > < >= <="] D --> D1["&& || !"] E --> E1["= += -= *= /= %="] F --> F1["++ --"] G --> G1["& | ^ ~ << >>"]

🌟 You Made It!

You’ve just learned all the essential operators in C++! Think of them as your programming superpowers:

  • Arithmetic = Your math helpers
  • Relational = Your comparison experts
  • Logical = Your decision makers
  • Assignment = Your value givers
  • Increment/Decrement = Your counting wizards
  • Bitwise = Your binary magicians

Now go practice! The more you use these operators, the more natural they’ll feel. Soon you’ll be combining them like a chef mixing ingredients to create amazing programs! 🚀

Loading story...

No Story Available

This concept doesn't have a story yet.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Interactive Preview

Interactive - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Interactive Content

This concept doesn't have interactive content yet.

Cheatsheet Preview

Cheatsheet - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Cheatsheet Available

This concept doesn't have a cheatsheet yet.

Quiz Preview

Quiz - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

No Quiz Available

This concept doesn't have a quiz yet.