Bird
Raised Fist0
Cprogramming~5 mins

Basic data types - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Basic data types
O(1)
Understanding Time Complexity

We want to see how the time to run code changes when using basic data types.

How does the program's work grow as the input size changes?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


#include <stdio.h>

int main() {
    int a = 5;
    float b = 3.14f;
    char c = 'x';
    double d = 2.71828;
    return 0;
}
    

This code declares variables of basic data types and assigns values.

Identify Repeating Operations

Look for any repeated actions or loops.

  • Primary operation: Variable declarations and assignments.
  • How many times: Each happens once, no loops or repetition.
How Execution Grows With Input

Since there are no loops or repeated steps, the work stays the same no matter the input size.

Input Size (n)Approx. Operations
104 (fixed declarations)
1004 (still fixed declarations)
10004 (no change)

Pattern observation: The number of operations does not grow with input size.

Final Time Complexity

Time Complexity: O(1)

This means the program takes the same amount of time no matter how big the input is.

Common Mistake

[X] Wrong: "Declaring more variables makes the program slower as input grows."

[OK] Correct: Variable declarations happen once and do not depend on input size, so they do not slow down the program as input grows.

Interview Connect

Understanding that simple variable declarations run in constant time helps you explain how programs start and manage data efficiently.

Self-Check

"What if we added a loop that initializes an array of size n? How would the time complexity change?"

Practice

(1/5)
1. Which C data type is used to store whole numbers without decimals?
easy
A. int
B. float
C. char
D. bool

Solution

  1. Step 1: Understand data types for numbers

    Whole numbers without decimals are stored using the int type in C.
  2. Step 2: Identify correct type for whole numbers

    float stores decimals, char stores characters, and bool stores true/false values.
  3. Final Answer:

    int -> Option A
  4. Quick Check:

    Whole numbers = int [OK]
Hint: Whole numbers use int type in C [OK]
Common Mistakes:
  • Confusing float with int for whole numbers
  • Using char for numbers
  • Thinking bool stores numbers
2. Which of the following is the correct way to declare a variable of type float in C?
easy
A. int number = 3.14;
B. char number = 3.14;
C. float number = 3.14;
D. bool number = 3.14;

Solution

  1. Step 1: Check variable declaration syntax

    In C, to declare a float variable, use the keyword float followed by the variable name and value.
  2. Step 2: Match type with value

    Assigning 3.14 (a decimal) to a float variable is correct. Other types like int, char, or bool cannot hold decimal values properly.
  3. Final Answer:

    float number = 3.14; -> Option C
  4. Quick Check:

    Decimal numbers use float type [OK]
Hint: Use float keyword for decimal numbers [OK]
Common Mistakes:
  • Using int for decimal values
  • Assigning decimal to char
  • Using bool for numbers
3. What will be the output of this C code?
char letter = 'A';
int number = 5;
float decimal = 3.5;
printf("%c %d %.1f", letter, number, decimal);
medium
A. A 5 3
B. 65 5 3.5
C. A 5 3.50
D. A 5 3.5

Solution

  1. Step 1: Understand format specifiers

    %c prints a character, %d prints an integer, and %.1f prints a float with one decimal place.
  2. Step 2: Match variables to specifiers

    letter = 'A' prints 'A', number = 5 prints 5, and decimal = 3.5 prints 3.5 with one decimal.
  3. Final Answer:

    A 5 3.5 -> Option D
  4. Quick Check:

    Format specifiers match output [OK]
Hint: Match %c, %d, %.1f to char, int, float [OK]
Common Mistakes:
  • Printing char as int (shows ASCII code)
  • Ignoring decimal precision
  • Confusing format specifiers
4. Identify the error in this C code snippet:
bool flag = 1;
char letter = "B";
int count = 10;
medium
A. char should use single quotes for characters
B. bool cannot be assigned 1
C. int cannot be assigned 10
D. No errors, code is correct

Solution

  1. Step 1: Check bool assignment

    Assigning 1 to bool is allowed since 1 means true in C.
  2. Step 2: Check char assignment

    Characters must be in single quotes ('B'), not double quotes ("B") which are for strings.
  3. Final Answer:

    char should use single quotes for characters -> Option A
  4. Quick Check:

    char uses single quotes [OK]
Hint: Use single quotes for char, double for strings [OK]
Common Mistakes:
  • Using double quotes for char
  • Thinking bool can't be 1 or 0
  • Confusing int assignments
5. You want to store a student's grade as a letter (A, B, C, etc.) and whether they passed (true/false). Which data types should you use in C?
hard
A. int for grade, float for pass status
B. char for grade, bool for pass status
C. float for grade, int for pass status
D. bool for grade, char for pass status

Solution

  1. Step 1: Choose type for grade letter

    Grade letters like 'A' are single characters, so char is the right type.
  2. Step 2: Choose type for pass status

    Pass/fail is a true/false value, so bool fits perfectly.
  3. Final Answer:

    char for grade, bool for pass status -> Option B
  4. Quick Check:

    Letter = char, true/false = bool [OK]
Hint: Use char for letters, bool for true/false [OK]
Common Mistakes:
  • Using int or float for letter grades
  • Using char for true/false values
  • Mixing data types incorrectly
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