Bird
Raised Fist0
C++programming~10 mins

Ternary operator in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign the smaller of two numbers to min using the ternary operator.

C++
int a = 10, b = 20;
int min = (a < b) ? a : [1];
Drag options to blanks, or click blank then click option'
Ab
Ba
C10
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong variable after the colon.
Forgetting the colon in the ternary operator.
2fill in blank
medium

Complete the code to assign result to "Even" or "Odd" based on the value of num.

C++
int num = 7;
std::string result = (num % 2 == 0) ? "Even" : [1];
Drag options to blanks, or click blank then click option'
A"Odd"
B"even"
C"odd"
D"Odd number"
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase "odd" instead of "Odd".
Using a phrase like "Odd number" instead of "Odd".
3fill in blank
hard

Fix the error in the ternary operator expression to correctly assign the absolute value of x to absVal.

C++
int x = -5;
int absVal = x >= 0 ? x [1] -x;
Drag options to blanks, or click blank then click option'
A,
B;
C?
D:
Attempts:
3 left
💡 Hint
Common Mistakes
Using a semicolon or comma instead of a colon.
Omitting the colon entirely.
4fill in blank
hard

Fill both blanks to create a ternary operator that assigns grade "Pass" if score is 50 or more, otherwise "Fail".

C++
int score = 65;
std::string grade = (score [1] 50) ? "Pass" : [2];
Drag options to blanks, or click blank then click option'
A>=
B<
C"Fail"
D"fail"
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>=' for the condition.
Using lowercase "fail" instead of "Fail".
5fill in blank
hard

Fill all three blanks to create a nested ternary operator that assigns category based on age: "Child" if under 13, "Teen" if 13 to 19, otherwise "Adult".

C++
int age = 15;
std::string category = (age < [1]) ? "Child" : ((age [2] 19) ? "Teen" : [3]);
Drag options to blanks, or click blank then click option'
A13
B<=
C"Adult"
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong age limits or comparison operators.
Forgetting to quote the string "Adult".

Practice

(1/5)
1. What does the ternary operator condition ? value_if_true : value_if_false do in C++?
easy
A. It comments out a line of code.
B. It creates a loop that runs twice.
C. It declares a new variable.
D. It chooses one of two values based on the condition's truth.

Solution

  1. Step 1: Understand the ternary operator syntax

    The ternary operator uses a condition followed by a question mark, then two values separated by a colon.
  2. Step 2: Identify its purpose

    It returns the first value if the condition is true, otherwise the second value.
  3. Final Answer:

    It chooses one of two values based on the condition's truth. -> Option D
  4. Quick Check:

    condition ? true_value : false_value = chooses value [OK]
Hint: Remember: condition ? true : false picks one value [OK]
Common Mistakes:
  • Thinking it creates loops
  • Confusing it with variable declaration
  • Assuming it comments code
2. Which of the following is the correct syntax for the ternary operator in C++?
easy
A. condition ? value_if_true : value_if_false;
B. condition : value_if_true ? value_if_false;
C. condition ? value_if_true, value_if_false;
D. condition ? (value_if_true : value_if_false);

Solution

  1. Step 1: Recall the ternary operator syntax

    The correct syntax is: condition ? value_if_true : value_if_false;
  2. Step 2: Check each option

    condition ? value_if_true : value_if_false; matches the correct syntax exactly; others have misplaced symbols or punctuation.
  3. Final Answer:

    condition ? value_if_true : value_if_false; -> Option A
  4. Quick Check:

    Syntax = condition ? true : false; [OK]
Hint: Remember: question mark before colon in ternary [OK]
Common Mistakes:
  • Swapping question mark and colon
  • Using comma instead of colon
  • Adding extra parentheses incorrectly
3. What is the output of this C++ code?
int x = 10, y = 20;
int max = (x > y) ? x : y;
std::cout << max;
medium
A. true
B. 10
C. 20
D. Syntax error

Solution

  1. Step 1: Evaluate the condition (x > y)

    Since x is 10 and y is 20, (10 > 20) is false.
  2. Step 2: Apply the ternary operator

    Because the condition is false, the value after the colon (y) is chosen, which is 20.
  3. Final Answer:

    20 -> Option C
  4. Quick Check:

    (10 > 20) ? 10 : 20 = 20 [OK]
Hint: Check condition result true or false to pick value [OK]
Common Mistakes:
  • Choosing the first value always
  • Confusing > with <
  • Expecting boolean output
4. Find the error in this C++ code using the ternary operator:
int a = 5, b = 8;
int result = a > b ? a, b;
std::cout << result;
medium
A. Variables a and b are not initialized
B. Incorrect use of comma instead of colon in ternary operator
C. Missing semicolon after variable declaration
D. Ternary operator cannot be used with integers

Solution

  1. Step 1: Identify the ternary operator syntax error

    The code uses a comma instead of a colon between the two values after the condition.
  2. Step 2: Understand the correct syntax

    The ternary operator requires a colon to separate true and false values: condition ? true_value : false_value.
  3. Final Answer:

    Incorrect use of comma instead of colon in ternary operator -> Option B
  4. Quick Check:

    Use ':' not ',' in ternary [OK]
Hint: Use ':' to separate values in ternary, not ',' [OK]
Common Mistakes:
  • Using comma instead of colon
  • Forgetting to separate values properly
  • Assuming ternary works like comma operator
5. Given this code, what will be the value of result?
int x = 0;
int y = 5;
int result = (x != 0) ? (y / x) : y * 2;
std::cout << result;

Note: Division by zero causes runtime error.
hard
A. 10
B. Runtime error (division by zero)
C. 0
D. 5

Solution

  1. Step 1: Evaluate the condition (x != 0)

    Since x is 0, (0 != 0) is false.
  2. Step 2: Apply the ternary operator safely

    Because the condition is false, the expression after the colon is chosen: y * 2 = 5 * 2 = 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Condition false, so result = y*2 = 10 [OK]
Hint: Check condition first to avoid division by zero [OK]
Common Mistakes:
  • Assuming division runs even if condition false
  • Ignoring division by zero risk
  • Choosing wrong expression side
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