Bird
Raised Fist0
C++programming~20 mins

Variable declaration and initialization in C++ - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Variable Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of uninitialized local variable

What is the output of this C++ code?

C++
#include <iostream>
int main() {
    int x;
    std::cout << x << std::endl;
    return 0;
}
AGarbage value (undefined behavior)
B1
CCompilation error
D0
Attempts:
2 left
💡 Hint

Local variables without initialization contain whatever was in memory before.

❓ Predict Output
intermediate
2:00remaining
Value of initialized variable with brace syntax

What is the output of this code snippet?

C++
#include <iostream>
int main() {
    int a{5};
    std::cout << a << std::endl;
    return 0;
}
A0
B5
CCompilation error
DGarbage value
Attempts:
2 left
💡 Hint

Brace initialization sets the variable to the given value.

❓ Predict Output
advanced
2:00remaining
Output of const variable initialization

What will this program print?

C++
#include <iostream>
int main() {
    const int x = 10;
    // x = 20; // Uncommenting this line causes error
    std::cout << x << std::endl;
    return 0;
}
ACompilation error
B20
CUndefined behavior
D10
Attempts:
2 left
💡 Hint

Const variables cannot be changed after initialization.

❓ Predict Output
advanced
2:00remaining
Output of auto type deduction with initialization

What is the output of this code?

C++
#include <iostream>
#include <typeinfo>
int main() {
    auto val = 3.14;
    std::cout << typeid(val).name() << std::endl;
    return 0;
}
Af
Bi
Cd
Dc
Attempts:
2 left
💡 Hint

auto deduces the type from the initializer.

🧠 Conceptual
expert
3:00remaining
Behavior of static variable initialization

Consider this code snippet. What is the output after running main() twice?

#include 
void func() {
    static int count = 0;
    count++;
    std::cout << count << std::endl;
}

int main() {
    func();
    func();
    return 0;
}
A1 2
B0 1
C1 1
D2 3
Attempts:
2 left
💡 Hint

Static variables keep their value between function calls.

Practice

(1/5)
1. Which of the following correctly declares and initializes an integer variable named age with the value 25 in C++?
easy
A. int age = 25;
B. age int = 25;
C. int = 25 age;
D. int age;

Solution

  1. Step 1: Understand variable declaration syntax

    In C++, the type comes first, then the variable name, followed by an optional initialization with '='.
  2. Step 2: Check each option

    int age = 25; follows the correct syntax: int age = 25;. Others have wrong order or missing initialization.
  3. Final Answer:

    int age = 25; -> Option A
  4. Quick Check:

    Type + name + = value = correct declaration [OK]
Hint: Type first, then name, then = value for initialization [OK]
Common Mistakes:
  • Putting variable name before type
  • Missing semicolon
  • Trying to assign value before declaring type
2. Which of the following is a syntax error in C++ variable declaration?
easy
A. float price = 9.99;
B. char letter = 'A';
C. int 2ndNumber = 10;
D. bool isReady = true;

Solution

  1. Step 1: Identify valid variable names

    Variable names cannot start with a digit in C++.
  2. Step 2: Check each option

    int 2ndNumber = 10; uses 2ndNumber which starts with '2', invalid. Others are correct declarations.
  3. Final Answer:

    int 2ndNumber = 10; -> Option C
  4. Quick Check:

    Variable names cannot start with digits [OK]
Hint: Variable names must start with letter or underscore [OK]
Common Mistakes:
  • Starting variable name with a number
  • Using spaces in variable names
  • Missing quotes for char values
3. What is the output of the following C++ code?
int x = 5;
int y = x + 3;
std::cout << y << std::endl;
medium
A. 3
B. 8
C. 5
D. Compilation error

Solution

  1. Step 1: Understand variable initialization and addition

    Variable x is 5, y is initialized as x + 3, so 5 + 3 = 8.
  2. Step 2: Output the value of y

    The code prints y, which is 8.
  3. Final Answer:

    8 -> Option B
  4. Quick Check:

    5 + 3 = 8 [OK]
Hint: Add values assigned to variables before printing [OK]
Common Mistakes:
  • Confusing variable names
  • Forgetting to add values
  • Assuming uninitialized variables
4. Identify the error in the following C++ code snippet:
int number;
number = 10
std::cout << number << std::endl;
medium
A. Missing semicolon after assignment
B. Variable 'number' not declared
C. Cannot assign value after declaration
D. std::cout syntax is incorrect

Solution

  1. Step 1: Check syntax after assignment

    In C++, each statement must end with a semicolon. The line number = 10 is missing a semicolon.
  2. Step 2: Verify other parts

    Variable is declared correctly, assignment after declaration is allowed, and std::cout syntax is correct.
  3. Final Answer:

    Missing semicolon after assignment -> Option A
  4. Quick Check:

    Statements must end with semicolon [OK]
Hint: Check for missing semicolons after each statement [OK]
Common Mistakes:
  • Forgetting semicolon after assignment
  • Assuming declaration and assignment must be together
  • Misusing std::cout syntax
5. You want to declare and initialize three variables in one line: an integer a with 10, a float b with 5.5, and a boolean c as true. Which of the following is correct in C++?
hard
A. int a = 10, float b = 5.5, bool c = true;
B. int a = 10; int b = 5.5; int c = true;
C. int a = 10, b = 5.5, c = true;
D. int a = 10; float b = 5.5; bool c = true;

Solution

  1. Step 1: Understand type declarations in one line

    In C++, variables of different types cannot be declared in a single statement separated by commas. Each type needs its own statement.
  2. Step 2: Check each option

    int a = 10; float b = 5.5; bool c = true; declares each variable separately with correct types and initialization. int a = 10, float b = 5.5, bool c = true; tries to mix types in one statement, which is invalid. int a = 10, b = 5.5, c = true; declares all as int, which is wrong for float and bool. int a = 10; int b = 5.5; int c = true; declares all as int, which is incorrect types.
  3. Final Answer:

    int a = 10; float b = 5.5; bool c = true; -> Option D
  4. Quick Check:

    Different types need separate declarations [OK]
Hint: Declare different types in separate statements [OK]
Common Mistakes:
  • Mixing types in one declaration line
  • Assigning float or bool to int variables
  • Missing semicolons between declarations
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