C语言学习笔记——枚举

简介: C语言学习笔记——枚举

1.介绍

  1. 枚举是C语言中的一种构造数据类型,它可以让数据更简洁,更易读。对于只有几个有限的特定数据,可以使用枚举
  2. 枚举是一组常量的集合,包含一组有限的特定的数据
  3. 枚举语法定义格式为
enum 枚举名 {枚举元素1, 枚举元素2, ……)

2.代码示例

#include<stdio.h>
void main() {
  enum DAY
  {
    MON = 1, TUE = 2, WED = 3, THU = 4, FRI = 5, SAT = 6, SUN = 7
  };
  enum DAY day;
  day = WED;
  printf("%d", day);
}

9f0ac6978a2f4796ae2281f6e10e326d.png

3.枚举的遍历

#include<stdio.h>
int main() {
  enum DAY {//表示定义了一个枚举类型 DAY,可以参考 int DAY,其中 int 为整形
    MON = 1, TUE, WED, THU, FRI, SAT, SUN//如果没有赋值将会按照顺序依次赋值
  } day;//定义了一个变量day ,变量day的类型为枚举类型(enum DAY)
  //遍历枚举元素
  //day++会导致warnning,但是可以运行
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

7e6ad430f27f4d36aed57a3d6ee30d01.png

4.swith中使用枚举

#include<stdio.h>
void main() {
  enum CITY {
    HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN
  } city;
  printf("请输入你最喜欢的城市:");
  scanf_s("%d", &city);
  switch (city) {
  case HANGZHOU:
    printf("你最喜欢的城市是杭州");
    break;
  case SUZHOU:
    printf("你最喜欢的城市是苏州");
    break;
  case NANJING:
    printf("你最喜欢的城市是南京");
    break;
  case WUXI:
    printf("你最喜欢的城市是无锡");
    break;
  case XIAMEN:
    printf("你最喜欢的城市是厦门");
    break;
  default :
    printf("看来你不喜欢杭州、苏州、南京、无锡和厦门这些城市!");
  }
}

7d81680dd7c54e67b422e5445cf75e99.png

5.枚举的注意事项

  1. 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1
#include<stdio.h>
int main() {
  enum DAY {
    MON, TUE, WED, THU, FRI, SAT, SUN//不赋值默认赋值为0
  } day;
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

8758738ca4384d169a70a1ac1d04a84b.png

2.在定义枚举类型时改变枚举元素的值

#include<stdio.h>
int main() {
  enum DAY {
    MON = 1, TUE, WED, THU = 7 , FRI, SAT, SUN//在定义枚举类型时改变枚举元素的值
  } day;                              //THU = 7 ,FRI = 8以此类推
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

425cbd7778eb498db1fd93f00865c2cd.png

3.枚举变量的定义的形式 1-先定义枚举类型,再定义枚举变量

enum CITY {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN
};
enum CITY city;

4.枚举变量的定义的形式 2-定义枚举类型的同时定义枚举变量

enum CITY {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN} city;

5.枚举变量的定义的形式 3-省略枚举名称,直接定义枚举变量

enum {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN} city;

这样定义,该枚举类型只能使用一次

6.可以将整数转换为对应的枚举值。不能直接将一个整数,赋给枚举变量,但是可以将整数,转成枚举类型,再赋给枚举变量

相关文章
|
1月前
|
存储 安全 编译器
C语言(13)----联合和枚举
C语言(13)----联合和枚举
25 1
|
5天前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
19 5
|
6天前
|
文件存储 C语言
|
4天前
|
C语言
|
6天前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记
|
15天前
|
编译器 C语言 C++
【C语言基础】:自定义类型(二) -->联合和枚举
【C语言基础】:自定义类型(二) -->联合和枚举
|
24天前
|
C语言
C语言学习记录——枚举(定义、与结构体的区别、优点)
C语言学习记录——枚举(定义、与结构体的区别、优点)
20 3
|
3天前
|
编译器 C语言
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
5 0
|
24天前
|
C语言
深入挖掘C语言之——枚举
深入挖掘C语言之——枚举
12 1
|
5天前
|
编译器 C语言 C++
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
8 0