Bird
Raised Fist0
Cprogramming~5 mins

Use cases

Choose your learning style10 modes available
Introduction
Use cases help us understand when and why to write certain parts of a program. They show real situations where code is useful.
When you want to check if a number is positive or negative.
When you need to decide what message to show based on user input.
When you want to perform different actions depending on a value.
When you want to organize your program to handle different tasks clearly.
Syntax
C
switch (variable) {
    case value1:
        // code to run if variable == value1
        break;
    case value2:
        // code to run if variable == value2
        break;
    default:
        // code to run if variable does not match any case
        break;
}
The switch statement checks a variable against different values.
Use break; to stop checking after a match is found.
Examples
This example prints the name of the day based on the number.
C
int day = 3;
switch (day) {
    case 1:
        printf("Monday\n");
        break;
    case 2:
        printf("Tuesday\n");
        break;
    case 3:
        printf("Wednesday\n");
        break;
    default:
        printf("Another day\n");
        break;
}
This example prints a message based on the grade letter.
C
char grade = 'B';
switch (grade) {
    case 'A':
        printf("Excellent\n");
        break;
    case 'B':
        printf("Good\n");
        break;
    case 'C':
        printf("Average\n");
        break;
    default:
        printf("Needs Improvement\n");
        break;
}
Sample Program
This program asks the user to enter a number and prints a message based on the choice using a switch statement.
C
#include <stdio.h>

int main() {
    int number;
    printf("Enter a number between 1 and 3: ");
    scanf("%d", &number);

    switch (number) {
        case 1:
            printf("You chose option 1\n");
            break;
        case 2:
            printf("You chose option 2\n");
            break;
        case 3:
            printf("You chose option 3\n");
            break;
        default:
            printf("Invalid option\n");
            break;
    }

    return 0;
}
OutputSuccess
Important Notes
Always include a default case to handle unexpected values.
Remember to use break; after each case to avoid running multiple cases.
Switch works best with simple values like integers or characters.
Summary
Use cases help decide what code to run based on values.
The switch statement is a clean way to handle multiple choices.
Always handle unexpected values with a default case.

Practice

(1/5)
1. What is the main purpose of using a switch statement in C programming?
easy
A. To declare variables
B. To choose between multiple actions based on the value of a variable
C. To define a function
D. To repeat a block of code multiple times

Solution

  1. Step 1: Understand the role of switch

    The switch statement is used to select one of many code blocks to execute based on a variable's value.
  2. Step 2: Compare with other options

    Declaring variables, repeating a block of code multiple times, and defining a function are not the purpose of switch.
  3. Final Answer:

    To choose between multiple actions based on the value of a variable -> Option B
  4. Quick Check:

    switch selects code by value [OK]
Hint: Switch picks code based on variable value, like a menu choice [OK]
Common Mistakes:
  • Confusing switch with loops
  • Thinking switch declares variables
  • Using switch to define functions
2. Which of the following is the correct syntax to start a switch statement in C?
easy
A. switch(variable) {
B. switch variable {
C. switch variable() {
D. switch { variable }

Solution

  1. Step 1: Recall correct switch syntax

    The correct syntax requires the keyword switch followed by parentheses enclosing the variable, then an opening brace.
  2. Step 2: Check each option

    switch(variable) { matches the correct syntax: switch(variable) {. Others miss parentheses or use wrong braces.
  3. Final Answer:

    switch(variable) { -> Option A
  4. Quick Check:

    Syntax needs parentheses around variable [OK]
Hint: Remember: switch(variable) with parentheses and braces [OK]
Common Mistakes:
  • Omitting parentheses around variable
  • Using wrong braces or brackets
  • Adding parentheses after variable name
3. What will be the output of the following 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. Two
D. No output

Solution

  1. Step 1: Identify the value of variable x

    The variable x is set to 2.
  2. Step 2: Match x with case labels

    The switch checks cases: 1 and 2. Since x is 2, it matches case 2 and prints "Two".
  3. Final Answer:

    Two -> Option C
  4. Quick Check:

    Value 2 matches case 2 [OK]
Hint: Match variable value to case label to find output [OK]
Common Mistakes:
  • Ignoring break and falling through
  • Choosing default when case matches
  • Confusing case numbers
4. Identify 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 causes fall-through
B. Variable n is not declared
C. Default case must be first
D. Switch cannot use integers

Solution

  1. Step 1: Check for break statements

    Case 1 lacks a break, so after printing "One", execution continues to case 2.
  2. Step 2: Understand consequences of missing break

    This fall-through causes both "One" and "Two" to print when n is 1, which is usually unintended.
  3. Final Answer:

    Missing break after case 1 causes fall-through -> Option A
  4. Quick Check:

    Always add break to prevent fall-through [OK]
Hint: Add break after each case to stop fall-through [OK]
Common Mistakes:
  • Forgetting break after cases
  • Thinking default must be first
  • Believing switch can't use integers
5. You want to write a switch statement that prints "Weekday" for cases 1 to 5, "Weekend" for 6 and 7, and "Invalid" for any other number. Which code snippet correctly implements this?
hard
A. switch(day) { if(day >= 1 && day <= 5) { printf("Weekday\n"); } else if(day == 6 || day == 7) { printf("Weekend\n"); } else { printf("Invalid\n"); } }
B. switch(day) { case 1: printf("Weekday\n"); case 2: printf("Weekday\n"); case 3: printf("Weekday\n"); case 4: printf("Weekday\n"); case 5: printf("Weekday\n"); case 6: printf("Weekend\n"); case 7: printf("Weekend\n"); default: printf("Invalid\n"); }
C. switch(day) { case 1 ... 5: printf("Weekday\n"); break; case 6 ... 7: printf("Weekend\n"); break; default: printf("Invalid\n"); }
D. 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"); }

Solution

  1. Step 1: Understand valid switch syntax for multiple cases

    Cases can be grouped by listing them one after another without breaks to share code.
  2. Step 2: Evaluate each option

    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"); } correctly groups cases 1 to 5 and 6 to 7, with breaks and a default. switch(day) { case 1: printf("Weekday\n"); case 2: printf("Weekday\n"); case 3: printf("Weekday\n"); case 4: printf("Weekday\n"); case 5: printf("Weekday\n"); case 6: printf("Weekend\n"); case 7: printf("Weekend\n"); default: printf("Invalid\n"); } lacks breaks causing fall-through. switch(day) { case 1 ... 5: printf("Weekday\n"); break; case 6 ... 7: printf("Weekend\n"); break; default: printf("Invalid\n"); } uses invalid syntax (case 1 ... 5). switch(day) { if(day >= 1 && day <= 5) { printf("Weekday\n"); } else if(day == 6 || day == 7) { printf("Weekend\n"); } else { printf("Invalid\n"); } } uses if inside switch without case labels, making the body unreachable and invalid for switch logic.
  3. Final Answer:

    Groups cases by listing consecutive cases for shared execution with breaks -> Option D
  4. Quick Check:

    Group cases by listing them, add breaks [OK]
Hint: Group cases by listing them; use breaks to separate [OK]
Common Mistakes:
  • Using invalid range syntax in case
  • Missing breaks causing fall-through
  • Trying to use if inside switch
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