Bird
Raised Fist0
C++programming~10 mins

Arithmetic operators in C++ - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Arithmetic operators
Start
↓
Read operands
↓
Choose operator: +, -, *, /, %
↓
Perform calculation
↓
Store/Display result
↓
End
The program starts by reading two numbers, then chooses an arithmetic operator to perform the calculation, and finally shows the result.
Execution Sample
C++
int a = 10;
int b = 3;
int sum = a + b;
int diff = a - b;
int prod = a * b;
int quot = a / b;
int mod = a % b;
This code calculates sum, difference, product, quotient, and remainder of two integers.
Execution Table
StepOperationOperandsResultExplanation
1Addition10 + 313Adds a and b, stores in sum
2Subtraction10 - 37Subtracts b from a, stores in diff
3Multiplication10 * 330Multiplies a and b, stores in prod
4Division10 / 33Divides a by b (integer division), stores in quot
5Modulo10 % 31Remainder of a divided by b, stores in mod
6End--All operations done
💡 All arithmetic operations completed and results stored.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5
a101010101010
b333333
sumundefined1313131313
diffundefinedundefined7777
produndefinedundefinedundefined303030
quotundefinedundefinedundefinedundefined33
modundefinedundefinedundefinedundefinedundefined1
Key Moments - 3 Insights
Why does division 10 / 3 give 3 instead of 3.333?
Because both a and b are integers, C++ does integer division which discards the decimal part. See step 4 in execution_table.
What does the modulo operator (%) do?
It gives the remainder after division. For 10 % 3, the remainder is 1 as shown in step 5.
Are the original variables a and b changed by these operations?
No, a and b keep their original values throughout, only new variables store results. See variable_tracker.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the result of the multiplication at step 3?
A30
B13
C7
D3
💡 Hint
Check the 'Result' column for step 3 in execution_table.
At which step does the modulo operation happen?
AStep 2
BStep 5
CStep 4
DStep 1
💡 Hint
Look for '%' operator in the 'Operation' column in execution_table.
If variable b was 4 instead of 3, what would be the new result of 10 % b?
A1
B0
C2
D3
💡 Hint
Modulo gives remainder: 10 divided by 4 leaves remainder 2.
Concept Snapshot
Arithmetic operators in C++:
+ addition
- subtraction
* multiplication
/ division (integer if both operands int)
% modulo (remainder)
Operands must be numbers; integer division truncates decimals.
Full Transcript
This example shows how arithmetic operators work in C++. We start with two integers a=10 and b=3. We add them to get 13, subtract to get 7, multiply to get 30, divide to get 3 (integer division), and find remainder 1 using modulo. Variables a and b remain unchanged. Each step performs one operation and stores the result in a new variable. Integer division discards decimals. Modulo gives the remainder after division.

Practice

(1/5)
1. Which arithmetic operator in C++ is used to find the remainder of a division?
easy
A. -
B. /
C. %
D. *

Solution

  1. Step 1: Understand the meaning of each operator

    The operator % returns the remainder after division, while / returns the quotient.
  2. Step 2: Identify the operator for remainder

    Since remainder is asked, the correct operator is %.
  3. Final Answer:

    % -> Option C
  4. Quick Check:

    Remainder operator = % [OK]
Hint: Remainder uses % symbol, not division / [OK]
Common Mistakes:
  • Confusing / with %
  • Using * for remainder
  • Using - for remainder
2. Which of the following is the correct syntax to multiply two integers a and b in C++?
easy
A. a * b;
B. a x b;
C. a multiply b;
D. a . b;

Solution

  1. Step 1: Recall multiplication operator syntax

    In C++, multiplication uses the asterisk symbol * between operands.
  2. Step 2: Check each option

    Only a * b; uses the correct operator and syntax.
  3. Final Answer:

    a * b; -> Option A
  4. Quick Check:

    Multiplication operator = * [OK]
Hint: Use * for multiplication, not words or symbols [OK]
Common Mistakes:
  • Using x instead of *
  • Writing multiply as word
  • Using dot operator for math
3. What is the output of the following C++ code?
int a = 10, b = 3;
std::cout << a / b << std::endl;
medium
A. 3.33333
B. 3
C. 4
D. Error

Solution

  1. Step 1: Understand integer division in C++

    Both a and b are integers, so division truncates decimals.
  2. Step 2: Calculate integer division result

    10 divided by 3 is 3.333..., but integer division returns 3.
  3. Final Answer:

    3 -> Option B
  4. Quick Check:

    Integer division truncates decimals = 3 [OK]
Hint: Integer division drops decimals, result is integer [OK]
Common Mistakes:
  • Expecting decimal result
  • Using floating-point division without casting
  • Thinking output is error
4. Identify the error in this C++ code snippet:
int x = 5;
int y = 2;
int z = x / y.0;
std::cout << z << std::endl;
medium
A. Syntax error due to decimal point in divisor
B. Using floating-point literal with integer division
C. Incorrect variable declaration
D. Missing semicolon

Solution

  1. Step 1: Analyze the divisor y.0

    The expression y.0 is invalid syntax in C++ because variables cannot have decimal points.
  2. Step 2: Identify the syntax error

    The decimal point after y causes a syntax error; correct would be y * 1.0 or static_cast<double>(y).
  3. Final Answer:

    Syntax error due to decimal point in divisor -> Option A
  4. Quick Check:

    Variable names cannot have decimal points [OK]
Hint: Variable names can't have dots; causes syntax error [OK]
Common Mistakes:
  • Thinking y.0 is valid float
  • Ignoring syntax error
  • Confusing variable and literal
5. Given int a = 7, b = 4;, which expression correctly calculates the average as a floating-point number in C++?
hard
A. a / b + 2
B. (a + b) / 2
C. a + b / 2
D. (a + b) / 2.0

Solution

  1. Step 1: Understand integer vs floating-point division

    Using 2 divides integers, truncating decimals. Using 2.0 forces floating-point division.
  2. Step 2: Evaluate each option

    (a + b) / 2 does integer division, result 5. (a + b) / 2.0 divides by 2.0, giving 5.5 as float. Options C and D do not calculate average correctly.
  3. Final Answer:

    (a + b) / 2.0 -> Option D
  4. Quick Check:

    Use floating-point divisor for decimal average [OK]
Hint: Divide by 2.0 to get decimal average, not integer [OK]
Common Mistakes:
  • Using integer 2 causing truncation
  • Wrong operator precedence
  • Misinterpreting average formula
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard