A switch statement lets you choose between many options based on the value of a variable. It is like a cleaner way to write many if-else checks for the same variable.
Click to reveal answer
beginner
How do you write a basic switch statement syntax in C?
You write switch (variable) { case value1: // code; break; case value2: // code; break; default: // code; }. The case labels check the variable's value, and break stops the switch from running other cases.
Click to reveal answer
intermediate
What happens if you forget the break statement in a case?
If you forget break, the program will continue running the next case code too. This is called "fall-through" and can cause bugs if not intended.
Click to reveal answer
beginner
What is the purpose of the default case in a switch?
The default case runs if none of the other case values match the variable. It acts like an else to handle unexpected values.
Click to reveal answer
intermediate
Can switch statements in C work with strings or floating-point numbers?
No, switch in C only works with integer types like int, char, or enums. It cannot directly handle strings or floats.
Click to reveal answer
What keyword do you use to stop execution from falling through to the next case in a switch?
Astop
Bexit
Cbreak
Dreturn
✗ Incorrect
The break keyword stops the switch from continuing to the next case.
Which of these types can be used in a switch statement in C?
Astring
Bfloat
Cdouble
Dint
✗ Incorrect
Switch statements in C only work with integer types like int.
What happens if no case matches and there is no default case?
AThe program crashes
BThe switch does nothing and continues after it
CThe first case runs anyway
DAn error is shown
✗ Incorrect
If no case matches and no default is given, the switch just skips all cases and continues.
What is the role of the default case in a switch?
ARuns if no other case matches
BRuns before any case
CStops the switch
DIs required for switch to work
✗ Incorrect
The default case runs only if no other case matches the variable.
Which of these is a correct switch statement start?
Aswitch (x) {
Bswitch x {
Cswitch x() {
Dswitch (x);
✗ Incorrect
The correct syntax is switch (variable) { with parentheses around the variable.
Explain how a switch statement works and why you might use it instead of multiple if-else statements.
Think about choosing one path from many options.
You got /4 concepts.
Describe what happens if you omit the break statement in a switch case and why it matters.
What happens when you don't tell the program to stop?
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of a switch statement in C?
easy
A. To define a function
B. To repeat a block of code multiple times
C. To select one action from multiple choices based on a variable's value
D. To declare variables
Solution
Step 1: Understand the role of switch
A switch statement chooses one path among many based on a variable's value.
Step 2: Compare with other options
Loops repeat code, functions define reusable blocks, and declarations create variables, which are different from switch's purpose.
Final Answer:
To select one action from multiple choices based on a variable's value -> Option C
Quick Check:
Switch = Choice selection [OK]
Hint: Switch picks one case based on value, like a menu choice [OK]
Common Mistakes:
Confusing switch with loops
Thinking switch defines functions
Believing switch declares variables
2. Which of the following is the correct syntax to start a switch statement in C?
easy
A. switch (variable) { case 1: ... }
B. switch variable { case 1: ... }
C. switch [variable] { case 1: ... }
D. switch variable: case 1: ...
Solution
Step 1: Recall switch syntax
The correct syntax uses parentheses around the variable: switch(variable) { ... }
Step 2: Check options
Only switch (variable) { case 1: ... } uses parentheses correctly; others miss parentheses or use wrong brackets.
Final Answer:
switch (variable) { case 1: ... } -> Option A
Quick Check:
Switch needs parentheses around variable [OK]
Hint: Remember: switch(variable) uses parentheses, not brackets or none [OK]
Common Mistakes:
Omitting parentheses around variable
Using square brackets instead of parentheses
Using colon instead of braces
3. What will be the output of this C code?
int x = 2;
switch (x) {
case 1:
printf("One\n");
break;
case 2:
printf("Two\n");
break;
default:
printf("Other\n");
}
medium
A. One
B. Other
C. No output
D. Two
Solution
Step 1: Identify the switch variable value
The variable x is 2, so the switch checks case 2.
Step 2: Match case and output
Case 2 matches, so it prints "Two" and then breaks to stop further checks.
Final Answer:
Two -> Option D
Quick Check:
Case 2 matches x=2, prints "Two" [OK]
Hint: Match variable value to case, print and break [OK]
Common Mistakes:
Forgetting break causes fall-through
Choosing default when case matches
Confusing case numbers
4. Find the error in this switch statement:
int n = 3;
switch (n) {
case 1:
printf("One\n");
case 2:
printf("Two\n");
break;
default:
printf("Default\n");
}
medium
A. Missing break after case 1
B. Missing default case
C. Wrong switch syntax
D. Variable n not declared
Solution
Step 1: Check each case for break
Case 1 lacks a break, so if matched, it would fall through to case 2.
Step 2: Understand impact
Missing break can cause unintended multiple prints; adding break after case 1 fixes this.
Final Answer:
Missing break after case 1 -> Option A
Quick Check:
Each case needs break to stop fall-through [OK]
Hint: Always add break after each case unless fall-through wanted [OK]
Common Mistakes:
Ignoring missing break causes fall-through
Thinking default is mandatory
Assuming variable declaration error
5. You want to write a switch statement that prints "Weekend" for cases 6 and 7, and "Weekday" for cases 1 to 5. Which code correctly does this?
hard
A. switch(day) { case 1: printf("Weekday\n"); break; case 2: printf("Weekday\n"); break; case 3: printf("Weekend\n"); break; case 4: printf("Weekday\n"); break; case 5: printf("Weekday\n"); break; case 6: printf("Weekend\n"); break; case 7: printf("Weekend\n"); break; }
B. switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekday\n"); break; case 6: case 7: printf("Weekend\n"); break; default: printf("Invalid\n"); }
C. switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekend\n"); break; case 6: case 7: printf("Weekday\n"); break; }
D. switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekday\n"); case 6: case 7: printf("Weekend\n"); break; }
Solution
Step 1: Group cases for same output
Cases 1 to 5 print "Weekday", so group them before one printf and break.
Step 2: Group weekend cases
Cases 6 and 7 print "Weekend" similarly grouped with break.
Step 3: Check default case
switch(day) { case 1: case 2: case 3: case 4: case 5: printf("Weekday\n"); break; case 6: case 7: printf("Weekend\n"); break; default: printf("Invalid\n"); } includes default for invalid days, which is good practice.
Final Answer:
Groups weekday cases 1-5 and weekend cases 6-7 with breaks and default -> Option B
Quick Check:
Group cases with same output, add break after each group [OK]
Hint: Group cases with same output, add break after group [OK]
Common Mistakes:
Printing wrong labels for grouped cases
Missing breaks causing fall-through
Not handling default case
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.