Hint: else if always needs a condition in parentheses [OK]
Common Mistakes:
Writing else with a condition
Omitting parentheses in else-if
Ending else-if without braces
3. What will be the output of the following C code?
int x = 15;
if (x < 10) {
printf("Less than 10\n");
} else if (x < 20) {
printf("Less than 20\n");
} else {
printf("20 or more\n");
}
medium
A. Less than 20
B. 20 or more
C. Less than 10
D. No output
Solution
Step 1: Evaluate first condition (x < 10)
x is 15, which is not less than 10, so this block is skipped.
Step 2: Evaluate second condition (x < 20)
15 is less than 20, so this block runs and prints "Less than 20".
Final Answer:
Less than 20 -> Option A
Quick Check:
15 < 20 = true, prints "Less than 20" [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
Choosing first condition without checking value
Assuming else always runs
Confusing output strings
4. Find the error in this else-if ladder code snippet:
int num = 5;
if (num > 10)
printf("Greater than 10\n");
else if num > 0
printf("Positive number\n");
else
printf("Zero or negative\n");
medium
A. Missing semicolon after printf statements
B. else cannot be used without if
C. Incorrect variable name used
D. Missing parentheses around condition in else-if
Solution
Step 1: Check syntax of else-if condition
In C, else-if condition must be inside parentheses: else if (condition).
Step 2: Identify the error in given code
Code has else if num > 0 without parentheses, causing syntax error.
Final Answer:
Missing parentheses around condition in else-if -> Option D
Quick Check:
else-if needs parentheses [OK]
Hint: Always put conditions in parentheses after else if [OK]
Common Mistakes:
Forgetting parentheses in else-if
Missing semicolons after printf
Misusing else without if
5. You want to write a program that prints "Child" if age < 13, "Teen" if age is between 13 and 19 inclusive, "Adult" if age is between 20 and 59 inclusive, and "Senior" if age is 60 or more. Which else-if ladder correctly implements this?
hard
A. if (age < 13) { printf("Child\n"); } else if (age < 20) { printf("Teen\n"); } else if (age < 59) { printf("Adult\n"); } else { printf("Senior\n"); }
B. if (age <= 13) { printf("Child\n"); } else if (age < 19) { printf("Teen\n"); } else if (age < 59) { printf("Adult\n"); } else { printf("Senior\n"); }
C. if (age <= 12) { printf("Child\n"); } else if (age <= 19) { printf("Teen\n"); } else if (age <= 59) { printf("Adult\n"); } else { printf("Senior\n"); }
D. if (age < 13) { printf("Child\n"); } else if (age < 19) { printf("Teen\n"); } else if (age <= 59) { printf("Adult\n"); } else { printf("Senior\n"); }
Solution
Step 1: Analyze age ranges for each category
Child: age < 13 means age ≤ 12; Teen: 13 to 19 inclusive; Adult: 20 to 59 inclusive; Senior: 60 or more.
Step 2: Check each option's conditions
if (age <= 12) { printf("Child\n"); } else if (age <= 19) { printf("Teen\n"); } else if (age <= 59) { printf("Adult\n"); } else { printf("Senior\n"); } correctly uses age ≤ 12 for Child, ≤ 19 for Teen, ≤ 59 for Adult, else Senior.
Final Answer:
if (age <= 12) { printf("Child\n"); } else if (age <= 19) { printf("Teen\n"); } else if (age <= 59) { printf("Adult\n"); } else { printf("Senior\n"); } -> Option C
Quick Check:
Correct age ranges with inclusive bounds = if (age <= 12) { printf("Child\n"); } else if (age <= 19) { printf("Teen\n"); } else if (age <= 59) { printf("Adult\n"); } else { printf("Senior\n"); } [OK]
Hint: Use inclusive bounds carefully in else-if conditions [OK]
Common Mistakes:
Using wrong comparison operators
Overlapping or missing age ranges
Incorrect boundary values
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.