Bird
Raised Fist0
C++programming~10 mins

Type modifiers 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 declare a constant integer variable named num with value 10.

C++
const [1] num = 10;
Drag options to blanks, or click blank then click option'
Aint
Bfloat
Cchar
Ddouble
Attempts:
3 left
💡 Hint
Common Mistakes
Using a floating-point type like float or double instead of int.
Forgetting to add const before the type.
2fill in blank
medium

Complete the code to declare a pointer to a constant character named ptr.

C++
const char* [1];
Drag options to blanks, or click blank then click option'
AcharPtr
BpChar
Cpointer
Dptr
Attempts:
3 left
💡 Hint
Common Mistakes
Using a variable name different from ptr as asked.
Placing the asterisk incorrectly.
3fill in blank
hard

Fix the error in the code by completing the type modifier to declare a volatile integer variable named counter.

C++
[1] int counter;
Drag options to blanks, or click blank then click option'
Aconstant
Bmutable
Cvolatile
Dstatic
Attempts:
3 left
💡 Hint
Common Mistakes
Using constant instead of volatile.
Using static which has a different meaning.
4fill in blank
hard

Fill both blanks to declare a pointer to a volatile integer named p.

C++
[1] int [2] p;
Drag options to blanks, or click blank then click option'
Avolatile
B*
C&
Dconst
Attempts:
3 left
💡 Hint
Common Mistakes
Using & instead of * for pointer declaration.
Placing const instead of volatile.
5fill in blank
hard

Fill all three blanks to declare a constant pointer to a constant integer named ptr.

C++
[1] int [2] [3] ptr;
Drag options to blanks, or click blank then click option'
Aconst
B*
Dvolatile
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting the second const to make the pointer constant.
Using volatile instead of const.

Practice

(1/5)
1. Which of the following type modifiers in C++ makes a variable value unchangeable after initialization?
easy
A. long
B. unsigned
C. volatile
D. const

Solution

  1. Step 1: Understand the role of const

    The const modifier makes a variable's value fixed after it is set.
  2. Step 2: Compare with other modifiers

    unsigned changes number sign, volatile affects optimization, long changes size, but none prevent value change.
  3. Final Answer:

    const -> Option D
  4. Quick Check:

    const = unchangeable value [OK]
Hint: const means value cannot be changed after set [OK]
Common Mistakes:
  • Confusing const with unsigned
  • Thinking volatile prevents changes
  • Assuming long affects constness
2. Which of the following declarations correctly uses the unsigned modifier for an integer variable named count?
easy
A. unsigned count int;
B. count unsigned int;
C. unsigned int count;
D. int count unsigned;

Solution

  1. Step 1: Recall correct syntax for unsigned int

    The correct order is unsigned int followed by the variable name.
  2. Step 2: Check each option

    unsigned count int; invalid order; count unsigned int; places variable before type, invalid; unsigned int count; correct; int count unsigned; invalid.
  3. Final Answer:

    unsigned int count; -> Option C
  4. Quick Check:

    unsigned int before variable name [OK]
Hint: Put unsigned before int and then variable name [OK]
Common Mistakes:
  • Placing unsigned after variable name
  • Mixing order of type and modifier
  • Using invalid syntax like unsigned count int
3. What is the output of the following C++ code?
unsigned int x = 10;
int y = -5;
if (x + y > 5)
std::cout << "True";
else
std::cout << "False";
medium
A. True
B. False
C. Compilation error
D. Undefined behavior

Solution

  1. Step 1: Understand unsigned and signed addition

    Adding signed -5 to unsigned 10: -5 promotes to unsigned (large value, e.g., 4294967291u on 32-bit).
  2. Step 2: Calculate the result and compare

    10u + 4294967291u = 4294967286u (wraps around mod 2^32). 4294967286u > 5u is true, so prints "True".
  3. Final Answer:

    True -> Option A
  4. Quick Check:

    unsigned + negative int promotes and wraps to large unsigned > 5 true [OK]
Hint: Mixing unsigned + signed negative promotes and wraps around [OK]
Common Mistakes:
  • Assuming -5 stays negative (ignores promotion)
  • Expecting True (ignores wraparound)
  • Thinking this causes compile error
4. Identify the error in this code snippet:
const int x;
x = 5;
medium
A. Missing initialization of const variable
B. Incorrect use of int type
C. Assignment operator is wrong
D. No error, code is correct

Solution

  1. Step 1: Check const variable initialization rules

    A const variable must be initialized when declared.
  2. Step 2: Analyze the code

    Here, const int x; is declared without initialization, then assigned later, which is invalid.
  3. Final Answer:

    Missing initialization of const variable -> Option A
  4. Quick Check:

    const must be initialized immediately [OK]
Hint: const variables need immediate initialization [OK]
Common Mistakes:
  • Trying to assign const after declaration
  • Ignoring initialization requirement
  • Thinking assignment operator is wrong
5. You want to store a large positive number that can never be negative and might exceed 2 billion. Which type modifier combination is best for the variable score?
hard
A. const int score;
B. unsigned long score;
C. short unsigned score;
D. volatile int score;

Solution

  1. Step 1: Understand the data requirements

    We need a large positive number, no negatives, possibly > 2 billion.
  2. Step 2: Match type modifiers to needs

    unsigned ensures no negatives; long increases size to hold large values; const fixes value; short limits size; volatile affects optimization, not size.
  3. Step 3: Choose best option

    unsigned long fits the need best.
  4. Final Answer:

    unsigned long score; -> Option B
  5. Quick Check:

    unsigned long = large positive number [OK]
Hint: Use unsigned long for large positive numbers [OK]
Common Mistakes:
  • Choosing const which fixes value
  • Using short which limits size
  • Using volatile which doesn't affect size
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