📖 Scenario: You are creating a simple program to check a person's age and determine their life stage. This is like asking a friend, "Are you a child, a teenager, or an adult?" based on their age.
🎯 Goal: Build a C program that uses nested if statements to decide if a person is a child, teenager, or adult based on their age.
📋 What You'll Learn
Create an integer variable called age with the value 15.
Create an integer variable called child_age_limit and set it to 12.
Use nested if statements to check if age is less than or equal to child_age_limit, then print "Child".
If not a child, check if age is less than or equal to 19, then print "Teenager".
If neither child nor teenager, print "Adult".
Print the result using printf.
💡 Why This Matters
🌍 Real World
Nested conditions help computers make decisions step-by-step, like deciding what message to show based on age.
💼 Career
Understanding nested conditionals is important for writing clear and correct decision-making code in many programming jobs.
Progress0 / 4 steps
1
Create the age variable
Create an integer variable called age and set it to 15.
C
Hint
Use int age = 15; inside the main function.
2
Add the child_age_limit variable
Create an integer variable called child_age_limit and set it to 12.
C
Hint
Declare int child_age_limit = 12; after age.
3
Write nested if statements to check age
Use nested if statements to check if age is less than or equal to child_age_limit, then print "Child". Otherwise, check if age is less than or equal to 19, then print "Teenager". If neither, print "Adult".
C
Hint
Use if inside else to create nested conditions.
4
Print the result
Make sure the program prints the correct life stage based on the age variable using printf. Run the program to see the output.
C
Hint
Run the program and check the output is exactly "Teenager" followed by a new line.
Practice
(1/5)
1.
What does a nested conditional statement in C allow you to do?
Choose the best description.
easy
A. Define a function inside another function
B. Check a condition inside another condition
C. Repeat a block of code multiple times
D. Create a variable that changes type
Solution
Step 1: Understand the meaning of nested conditionals
Nested conditionals mean putting one if or else if statement inside another if or else if block.
Step 2: Compare with other options
Repeating code is done by loops, not conditionals. Functions inside functions or variable type changes are unrelated.
Final Answer:
Check a condition inside another condition -> Option B
Mixing nested conditionals with function definitions
2.
Which of the following is the correct syntax for a nested if statement in C?
if (x > 0) {
if (y < 10) {
// code
}
}
easy
A. if x > 0 { if (y < 10) { /* code */ } }
B. if (x > 0) if (y < 10) { /* code */ }
C. if (x > 0) { if y < 10 { /* code */ } }
D. if (x > 0) { if (y < 10) { /* code */ } }
Solution
Step 1: Check correct use of braces and parentheses
In C, conditions must be inside parentheses and blocks inside braces. if (x > 0) { if (y < 10) { /* code */ } } uses both correctly.
Step 2: Identify syntax errors in other options
if (x > 0) if (y < 10) { /* code */ } misses braces for outer if block. if (x > 0) { if y < 10 { /* code */ } } misses parentheses around y < 10. if x > 0 { if (y < 10) { /* code */ } } misses parentheses around x > 0.
Final Answer:
if (x > 0) { if (y < 10) { /* code */ } } -> Option D
Quick Check:
Correct syntax = if (x > 0) { if (y < 10) { /* code */ } } [OK]
Hint: Use parentheses for conditions and braces for blocks [OK]
Common Mistakes:
Omitting parentheses around conditions
Forgetting braces for code blocks
Mixing syntax from other languages
3.
What is the output of this C code?
int x = 5, y = 8;
if (x > 0) {
if (y < 10) {
printf("A\n");
} else {
printf("B\n");
}
} else {
printf("C\n");
}
medium
A. A
B. B
C. C
D. No output
Solution
Step 1: Evaluate outer if condition
x = 5, which is greater than 0, so the outer if block runs.
Step 2: Evaluate inner if condition
y = 8, which is less than 10, so the inner if block runs and prints "A".
Final Answer:
A -> Option A
Quick Check:
x > 0 and y < 10 prints A [OK]
Hint: Check outer condition first, then inner [OK]
Common Mistakes:
Ignoring inner condition
Confusing else blocks
Assuming no output if outer condition true
4.
Find the error in this nested conditional code snippet:
if (a > 10)
if (b < 5)
printf("X\n");
else
printf("Y\n");
medium
A. Missing braces causing else to pair with wrong if
B. Incorrect use of semicolons after if statements
C. Using printf without including stdio.h
D. Variables a and b are not declared
Solution
Step 1: Analyze the if-else pairing
Without braces, the else pairs with the nearest if, which is the inner if. This may cause confusion or unexpected behavior.
Step 2: Identify the fix
Adding braces around the outer if block ensures the else pairs correctly and code is clear.
Final Answer:
Missing braces causing else to pair with wrong if -> Option A
Quick Check:
Braces fix else pairing [OK]
Hint: Always use braces to avoid else ambiguity [OK]
Common Mistakes:
Assuming else pairs with outer if
Ignoring braces importance
Thinking semicolons cause this error
5.
Given the code below, what will be printed if score = 75?