📖 Scenario: You are creating a simple program that tells the name of a day based on a number input from 1 to 7.
🎯 Goal: Build a C program that uses a switch statement to print the correct day name for a given number.
📋 What You'll Learn
Create an integer variable called dayNumber with the value 3
Create an integer variable called invalidDay with the value 0
Use a switch statement on dayNumber with cases for numbers 1 to 7
Print the correct day name for each case
Use default case to print "Invalid day" if the number is not 1 to 7
Print the result using printf
💡 Why This Matters
🌍 Real World
Switch statements are used in many programs to choose actions based on a value, like menu selections or commands.
💼 Career
Understanding switch statements helps in writing clear and efficient code for decision-making in software development.
Progress0 / 4 steps
1
Create the day number variable
Create an integer variable called dayNumber and set it to 3.
C
Hint
Use int dayNumber = 3; to create the variable.
2
Create the invalid day variable
Create an integer variable called invalidDay and set it to 0.
C
Hint
Use int invalidDay = 0; to create the variable.
3
Write the switch statement for day names
Write a switch statement using dayNumber with cases 1 to 7. For each case, use printf to print the day name: 1 for "Monday", 2 for "Tuesday", 3 for "Wednesday", 4 for "Thursday", 5 for "Friday", 6 for "Saturday", 7 for "Sunday". Add a default case that prints "Invalid day".
C
Hint
Use switch(dayNumber) { ... } with case labels and break; after each printf.
4
Print the day name result
Run the program to print the day name for dayNumber. The output should be Wednesday.
C
Hint
Compile and run the program. It should print Wednesday.
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.