Bird
Raised Fist0
Cprogramming~5 mins

Enum usage in C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an enum in C?
An enum in C is a way to name a set of integer constants. It helps make code easier to read by giving meaningful names to numbers.
Click to reveal answer
beginner
How do you define an enum for days of the week in C?
You write:
enum Day { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
This creates names for numbers starting at 0.
Click to reveal answer
intermediate
Can you assign specific numbers to enum members?
Yes. You can set values like
enum Color { Red = 1, Green = 5, Blue = 10 };
. Members without assigned values get the next number after the previous one.
Click to reveal answer
beginner
How do you use an enum variable in C?
Declare a variable with the enum type, like
enum Day today;
. Then assign a value:
today = Monday;
. It stores the integer for Monday.
Click to reveal answer
beginner
What is the default starting value of the first enum member if not assigned?
The first enum member starts at 0 by default. Each next member increases by 1 unless specified otherwise.
Click to reveal answer
What value does the first member of an enum have if not explicitly assigned?
A-1
B1
C0
DUndefined
How do you declare an enum variable named color of type enum Color?
Aenum Color color;
BColor enum color;
Cint color;
Dvar color = enum Color;
If you define enum Fruit { Apple = 3, Banana, Cherry };, what is the value of Cherry?
A3
B5
CUndefined
D4
Which of these is a benefit of using enums?
AAutomatically creates functions
BSlows down the program
CAllows floating point values
DMakes code easier to read by using names instead of numbers
Can enum members have duplicate values?
AYes, but it is not recommended
BNo, it causes a compile error
COnly if they are consecutive
DOnly if they are the first two members
Explain what an enum is and how it helps in C programming.
Think about how enums replace numbers with names.
You got /3 concepts.
    Describe how to assign specific values to enum members and what happens to members without assigned values.
    Consider how numbering works inside enums.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using enum in C programming?
      easy
      A. To give names to integer constants for better code readability
      B. To create floating-point variables
      C. To define functions
      D. To allocate memory dynamically

      Solution

      1. Step 1: Understand enum usage

        An enum groups related integer constants under meaningful names.
      2. Step 2: Identify the purpose

        This helps make code easier to read and maintain by replacing numbers with names.
      3. Final Answer:

        To give names to integer constants for better code readability -> Option A
      4. Quick Check:

        Enum = Named integer constants [OK]
      Hint: Enums name numbers to improve code clarity [OK]
      Common Mistakes:
      • Thinking enums create variables or functions
      • Confusing enums with dynamic memory
      • Assuming enums hold floating-point values
      2. Which of the following is the correct syntax to declare an enum named Color with values RED, GREEN, and BLUE?
      easy
      A. enum Color: RED, GREEN, BLUE;
      B. enum Color = { RED, GREEN, BLUE };
      C. enum Color { RED, GREEN, BLUE };
      D. enum Color ( RED, GREEN, BLUE );

      Solution

      1. Step 1: Recall enum declaration syntax

        In C, enums are declared using the keyword enum, followed by the name and braces with values separated by commas.
      2. Step 2: Check each option

        enum Color { RED, GREEN, BLUE }; uses correct syntax: enum Color { RED, GREEN, BLUE };. Others use invalid symbols or assignment.
      3. Final Answer:

        enum Color { RED, GREEN, BLUE }; -> Option C
      4. Quick Check:

        Correct enum syntax uses braces and commas [OK]
      Hint: Use braces {} and commas for enum values [OK]
      Common Mistakes:
      • Using '=' instead of braces
      • Using parentheses instead of braces
      • Using colon ':' which is invalid in C enums
      3. What will be the output of this C code?
      enum Day { SUN, MON, TUE = 5, WED, THU };
      #include 
      int main() {
          printf("%d %d %d %d %d", SUN, MON, TUE, WED, THU);
          return 0;
      }
      medium
      A. 1 2 5 6 7
      B. 5 6 7 8 9
      C. 0 1 2 3 4
      D. 0 1 5 6 7

      Solution

      1. Step 1: Understand enum value assignment

        By default, enums start at 0 and increase by 1. Here, SUN=0, MON=1. TUE is explicitly set to 5.
      2. Step 2: Calculate following values

        After TUE=5, WED becomes 6, and THU becomes 7 automatically.
      3. Final Answer:

        0 1 5 6 7 -> Option D
      4. Quick Check:

        Explicit enum values override counting [OK]
      Hint: Explicit enum values reset counting from that point [OK]
      Common Mistakes:
      • Assuming all values auto-increment ignoring explicit assignments
      • Starting enum values at 1 by default
      • Confusing enum names with strings
      4. Identify the error in this enum declaration:
      enum Status {
          OK = 1,
          ERROR,
          WARNING = "3"
      };
      medium
      A. Missing semicolon after enum declaration
      B. Enum values must be integers, not strings
      C. Enum names cannot be uppercase
      D. ERROR cannot follow OK without explicit value

      Solution

      1. Step 1: Check enum value types

        Enum values in C must be integer constants. Here, WARNING is assigned a string "3", which is invalid.
      2. Step 2: Verify other syntax

        Semicolon is present, uppercase names are allowed, and ERROR can auto-increment from OK=1.
      3. Final Answer:

        Enum values must be integers, not strings -> Option B
      4. Quick Check:

        Enum values = integers only [OK]
      Hint: Enum values must be integer constants [OK]
      Common Mistakes:
      • Assigning strings to enum values
      • Thinking enum names must be lowercase
      • Forgetting semicolon after enum
      5. Given this enum and code snippet, what is the output?
      enum Flags { FLAG_A = 1 << 0, FLAG_B = 1 << 1, FLAG_C = 1 << 2 };
      #include 
      int main() {
          int combined = FLAG_A | FLAG_C;
          if (combined & FLAG_B) {
              printf("Flag B set\n");
          } else {
              printf("Flag B not set\n");
          }
          return 0;
      }
      hard
      A. Flag B not set
      B. Flag B set
      C. Compilation error
      D. Flag A and C set

      Solution

      1. Step 1: Understand bitwise enum values

        FLAG_A = 1 (binary 001), FLAG_B = 2 (010), FLAG_C = 4 (100). Combined = FLAG_A | FLAG_C = 1 | 4 = 5 (binary 101).
      2. Step 2: Check if FLAG_B is set in combined

        combined & FLAG_B = 5 & 2 = 0 (binary 101 & 010 = 000), so FLAG_B is not set.
      3. Final Answer:

        Flag B not set -> Option A
      4. Quick Check:

        Bitwise AND zero means flag not set [OK]
      Hint: Use bitwise AND to check if flag is set [OK]
      Common Mistakes:
      • Assuming combined flags include all bits
      • Confusing bitwise OR and AND
      • Expecting compilation error due to bit shifts
      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