Bird
Raised Fist0
Cprogramming~10 mins

Why enumerations are used in C - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an enumeration for days of the week.

C
enum Days { Sunday, Monday, [1], Wednesday, Thursday, Friday, Saturday };
Drag options to blanks, or click blank then click option'
ATuesday
BMonth
CYear
DHour
Attempts:
3 left
💡 Hint
Common Mistakes
Using unrelated terms like Month or Year instead of a day.
2fill in blank
medium

Complete the code to assign a value to an enumeration constant.

C
enum Color { Red = 1, Green = 2, [1] = 3 };
Drag options to blanks, or click blank then click option'
AYellow
BOrange
CBlue
DPurple
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing colors not listed or unrelated terms.
3fill in blank
hard

Fix the error in the enumeration declaration.

C
enum Status { Active, [1] 5, Pending };
Drag options to blanks, or click blank then click option'
AInactive =
BInactive
CInactive :
DInactive -
Attempts:
3 left
💡 Hint
Common Mistakes
Using ':' or '-' instead of '=' for assignment.
4fill in blank
hard

Fill both blanks to create an enumeration and use it in a variable declaration.

C
enum [1] { Low, Medium, High };
[2] priority;
Drag options to blanks, or click blank then click option'
APriority
Bint
Cenum Priority
Dfloat
Attempts:
3 left
💡 Hint
Common Mistakes
Using basic types like int or float instead of enum type.
5fill in blank
hard

Fill all three blanks to define an enumeration and assign a value to a variable.

C
enum [1] { Red, Green, Blue };
enum [2] favoriteColor = [3];
Drag options to blanks, or click blank then click option'
AColor
CGreen
DBlue
Attempts:
3 left
💡 Hint
Common Mistakes
Mismatching enum names or assigning invalid values.

Practice

(1/5)
1. Why are enumerations (enums) used in C programming?
easy
A. To give meaningful names to a set of related integer constants
B. To create floating-point variables
C. To allocate memory dynamically
D. To perform input/output operations

Solution

  1. Step 1: Understand the purpose of enums

    Enums assign names to integer values, making code easier to read and maintain.
  2. Step 2: Compare with other options

    Options B, C, and D describe unrelated tasks like floating-point variables, memory allocation, and I/O operations.
  3. Final Answer:

    To give meaningful names to a set of related integer constants -> Option A
  4. Quick Check:

    Enums = Named integer constants [OK]
Hint: Enums name numbers for clarity and safety [OK]
Common Mistakes:
  • Thinking enums create new data types like floats
  • Confusing enums with memory management
  • Assuming enums handle input/output
2. Which of the following is the correct way to declare an enumeration in C?
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 syntax: enum Name { list_of_constants };
  2. Step 2: Check each option

    enum Color { RED, GREEN, BLUE }; matches the correct syntax. Options B, C, and D use invalid assignment or brackets.
  3. Final Answer:

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

    Correct enum syntax uses braces {} [OK]
Hint: Use braces {} to list enum values [OK]
Common Mistakes:
  • Using = instead of braces
  • Using parentheses or brackets instead of braces
  • Missing semicolon at the end
3. What will be the output of the following C code?
enum Day { MON=1, TUE, WED };
int main() {
    enum Day today = TUE;
    printf("%d", today);
    return 0;
}
medium
A. 0
B. 2
C. 1
D. 3

Solution

  1. Step 1: Understand enum value assignment

    MON is assigned 1 explicitly, so TUE becomes 2, WED becomes 3 automatically.
  2. Step 2: Identify the value of 'today'

    Variable today is set to TUE, which has the value 2.
  3. Final Answer:

    2 -> Option B
  4. Quick Check:

    Enum auto-increments from assigned start [OK]
Hint: Enum values auto-increment unless set [OK]
Common Mistakes:
  • Assuming enum starts at 0 when explicitly set
  • Confusing enum names with values
  • Forgetting auto-increment behavior
4. Identify the error in this enum declaration:
enum Status {
    OK = 0,
    ERROR = 1,
    UNKNOWN = 1
};
medium
A. Duplicate enum values are not allowed
B. Enum values must start from 0
C. No error, this is valid code
D. Enum names cannot be uppercase

Solution

  1. Step 1: Check enum value rules

    In C, enum values can be duplicated; it's allowed to have multiple names with the same value.
  2. Step 2: Verify other options

    Enum values do not have to start at 0, and names can be uppercase. So no syntax error here.
  3. Final Answer:

    No error, this is valid code -> Option C
  4. Quick Check:

    Duplicate enum values allowed [OK]
Hint: Duplicate enum values are allowed in C [OK]
Common Mistakes:
  • Thinking duplicate values cause errors
  • Assuming enum must start at zero
  • Believing enum names must be lowercase
5. You want to use an enum to represent traffic light colors with values RED=0, YELLOW=5, GREEN=10. Which enum declaration correctly achieves this?
hard
A. enum TrafficLight { RED=0, YELLOW, GREEN=10 };
B. enum TrafficLight { RED=1, YELLOW=5, GREEN=10 };
C. enum TrafficLight { RED=0, YELLOW=5, GREEN };
D. enum TrafficLight { RED=0, YELLOW=5, GREEN=10 };

Solution

  1. Step 1: Assign explicit values to enum members

    To get RED=0, YELLOW=5, GREEN=10, each must be assigned explicitly.
  2. Step 2: Analyze each option

    enum TrafficLight { RED=0, YELLOW=5, GREEN=10 }; assigns all values explicitly. enum TrafficLight { RED=1, YELLOW=5, GREEN=10 }; assigns RED=1 (not 0), YELLOW=5, GREEN=10. enum TrafficLight { RED=0, YELLOW, GREEN=10 }; assigns RED=0, YELLOW unassigned (would be 1), GREEN=10. enum TrafficLight { RED=0, YELLOW=5, GREEN }; assigns RED=0, YELLOW=5, but GREEN unassigned (would be 6).
  3. Final Answer:

    enum TrafficLight { RED=0, YELLOW=5, GREEN=10 }; -> Option D
  4. Quick Check:

    Explicit values ensure correct enum numbers [OK]
Hint: Assign all enum values explicitly for specific numbers [OK]
Common Mistakes:
  • Assuming unassigned enums auto-skip to next explicit value
  • Forgetting to assign all values explicitly
  • Expecting enums to auto-increment from last explicit value
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