Bird
Raised Fist0
Cprogramming~10 mins

Basic data types - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Basic data types
Start Program
↓
Declare Variables
↓
Assign Values
↓
Use Variables
↓
End Program
The program starts by declaring variables of different basic data types, assigns values to them, uses them, and then ends.
Execution Sample
C
int a = 5;
float b = 3.14f;
char c = 'X';
printf("%d %f %c", a, b, c);
This code declares variables of int, float, and char types, assigns values, and prints them.
Execution Table
StepActionVariableValueOutput
1Declare int aaundefined
2Assign 5 to aa5
3Declare float bbundefined
4Assign 3.14 to bb3.14
5Declare char ccundefined
6Assign 'X' to cc'X'
7Print valuesa,b,c5, 3.14, 'X'5 3.140000 X
8Program ends
💡 Program ends after printing all variable values.
Variable Tracker
VariableStartAfter Step 2After Step 4After Step 6Final
aundefined5555
bundefinedundefined3.143.143.14
cundefinedundefinedundefined'X''X'
Key Moments - 3 Insights
Why does the variable 'a' have 'undefined' before assignment?
In C, declaring a variable does not automatically set its value; it contains garbage until assigned, as shown in steps 1 and 2.
Why is the float printed with many decimal places?
The %f format in printf prints six decimal places by default, as seen in step 7 output.
Why are single quotes used for char 'c'?
Single quotes denote a single character in C, differentiating it from strings, as in step 6.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of 'b' after step 3?
A3.14
Bundefined
C0
D5
💡 Hint
Check the 'Value' column for variable 'b' at step 3 in the execution table.
At which step does the variable 'c' get its value assigned?
AStep 2
BStep 4
CStep 6
DStep 7
💡 Hint
Look for the action 'Assign' related to variable 'c' in the execution table.
If we change 'int a = 5;' to 'int a;', what will be the value of 'a' at step 7?
Aundefined (garbage value)
B0
C5
D3.14
💡 Hint
Refer to the variable_tracker and key moment about uninitialized variables.
Concept Snapshot
Basic data types in C:
- int: whole numbers (e.g., 5)
- float: decimal numbers (e.g., 3.14)
- char: single characters (e.g., 'X')
Declare variables, assign values, then use them.
Uninitialized variables hold garbage until assigned.
Full Transcript
This example shows how a C program declares variables of basic data types: int, float, and char. Initially, variables have undefined values until assigned. The program assigns values 5, 3.14, and 'X' to variables a, b, and c respectively. Then it prints these values using printf. The float prints with six decimals by default. Single quotes denote char values. The program ends after printing. Beginners often wonder why variables start undefined and why floats print many decimals. This trace clarifies these points step-by-step.

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