Bird
Raised Fist0
Cprogramming~5 mins

Enum declaration - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an enum in C?
An enum is a user-defined type in C that consists of named integer constants. It helps make code more readable by giving names to sets of related values.
Click to reveal answer
beginner
How do you declare a simple enum for days of the week in C?
You declare it like this:
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
Click to reveal answer
beginner
What values do enum members get by default if not assigned explicitly?
By default, the first member gets the value 0, and each following member gets the previous member's value plus 1.
Click to reveal answer
intermediate
Can you assign specific integer values to enum members? Give an example.
Yes, you can assign specific values. Example:
enum Colors { Red = 1, Green = 5, Blue = 10 };
Click to reveal answer
beginner
How do you use an enum variable in C?
First declare a variable of the enum type, then assign one of the enum members to it. Example:
enum Days today = Monday;
Click to reveal answer
What is the default value of the first member in an enum if not assigned?
A-1
B0
C1
DUndefined
How do you declare an enum named Fruit with members Apple, Banana, and Cherry?
Aenum Fruit = { Apple, Banana, Cherry };
Benum Fruit(Apple, Banana, Cherry);
Cenum { Fruit = Apple, Banana, Cherry };
Denum Fruit { Apple, Banana, Cherry };
If you assign Red = 3 in an enum, what value does the next member get if not assigned?
A4
BUndefined
C0
D3
Which of these is a valid enum declaration in C?
Aenum Status { OK:0, ERROR:1 };
Benum Status = (OK, ERROR);
Cenum Status { OK = 0, ERROR = 1 };
Denum Status [OK, ERROR];
How do you declare a variable named today of enum type Days?
Aenum Days today;
BDays enum today;
Cenum today Days;
DDays today;
Explain what an enum is and why it is useful in C programming.
Think about how enums help replace numbers with names.
You got /4 concepts.
    Describe how to assign specific values to enum members and what happens to subsequent 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 declare a function prototype
      B. To give names to a set of integer constants for better code readability
      C. To create a new data type for floating-point numbers
      D. To allocate memory dynamically

      Solution

      1. Step 1: Understand enum usage

        An enum is used to assign names to integer constants, making code easier to read and maintain.
      2. Step 2: Compare other options

        Other options describe unrelated concepts: function prototypes, floating-point types, and memory allocation.
      3. Final Answer:

        To give names to a set of integer constants for better code readability -> Option B
      4. Quick Check:

        Enum = Named integer constants [OK]
      Hint: Enums name numbers to make code clearer [OK]
      Common Mistakes:
      • Confusing enums with structs or unions
      • Thinking enums allocate memory dynamically
      • Assuming enums are for floating-point types
      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

        The correct syntax uses curly braces to list values after the enum name without assignment or colons.
      2. Step 2: Check each option

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

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

        Enum syntax = enum Name { values } [OK]
      Hint: Use curly braces and no equals sign in enum declaration [OK]
      Common Mistakes:
      • Using '=' instead of braces
      • Using parentheses instead of braces
      • Using colons after enum name
      3. What will be the output of the following 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. 0 1 5 5 5
      B. 0 1 2 3 4
      C. 1 2 5 6 7
      D. 0 1 5 6 7

      Solution

      1. Step 1: Understand enum value assignment

        By default, enum values start at 0 and increment 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 value sets next values incrementally [OK]
      Hint: Explicit enum value resets counting from that number [OK]
      Common Mistakes:
      • Assuming all values increment from zero ignoring explicit assignment
      • Thinking WED and THU have same value as TUE
      • Starting enum values from 1 by default
      4. Identify the error in the following enum declaration:
      enum Status {
          OK = 1,
          ERROR,
          WARNING = "2"
      };
      medium
      A. ERROR must be assigned a value explicitly
      B. Missing semicolon after enum declaration
      C. Enum values must be integers, not strings
      D. Enum names cannot be uppercase

      Solution

      1. Step 1: Check enum value types

        Enum values must be integer constants. Assigning a string like "2" is invalid.
      2. Step 2: Verify other parts

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

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

        Enum values = integers only [OK]
      Hint: Enum values must be integers, not strings [OK]
      Common Mistakes:
      • Using string literals as enum values
      • Forgetting semicolon after enum
      • Thinking enum names must be lowercase
      5. Given the enum declaration:
      enum Flags { FLAG_A = 1 << 0, FLAG_B = 1 << 1, FLAG_C = 1 << 2 };
      
      int flags = FLAG_A | FLAG_C;
      
      Which expression correctly checks if FLAG_B is set in flags?
      hard
      A. (flags & FLAG_B) != 0
      B. (flags | FLAG_B) == 0
      C. (flags & FLAG_B) == FLAG_B + 1
      D. (flags ^ FLAG_B) == 0

      Solution

      1. Step 1: Understand bitwise flag checking

        To check if a flag is set, use bitwise AND and compare to zero.
      2. Step 2: Analyze each option

        (flags & FLAG_B) != 0 correctly checks if FLAG_B bit is set by (flags & FLAG_B) != 0. Others use incorrect bitwise operations or comparisons.
      3. Final Answer:

        (flags & FLAG_B) != 0 -> Option A
      4. Quick Check:

        Bitwise AND with flag and compare to zero [OK]
      Hint: Use bitwise AND and compare to zero to check flags [OK]
      Common Mistakes:
      • Using bitwise OR instead of AND for checking
      • Comparing to wrong values
      • Using XOR to check flags
      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