C05枚举
来源:互联网 发布:大数据课程视频教程 编辑:程序博客网 时间:2024/06/14 01:25
一、 枚举是什么?
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。
二、 枚举有什么用?
1.用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型2.有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值
三、 枚举怎么用?
1.一般类型 定义形式:先定义枚举类型,再定义枚举变量enum 枚举类型名{标识符1,标识符2,……,标识符n};例如 enum colorname{red,yellow,blue,white,black}; enum colorname color;2.定义枚举类型的同时定义枚举变量 enum colorname{red,yellow,blue,white,black} color;3.省略枚举名称,直接定义枚举变量 enum {red,yellow,blue,white,black} color;说明:变量color是枚举类型enum colorname,它的值只能是red,yellow,blue,white或black
四、 使用枚举要注意什么?
1.enum是关键字,标识枚举类型,定义枚举类型必须以enum开头2.在定义枚举类型时花括号中的名字称为枚举元素或枚举常量3.枚举元素不是变量,不能改变其值4.枚举常量可以进行比较5.一个枚举变量的值只能是这几个枚举常量之一,可以将枚举常量赋给一个枚举变量。但不能将一个整数赋给它6.枚举常量不是字符串
五、 枚举代码举例
- 例1 利用枚举遍历输出五种颜色
int main(){ enum colorname{red,yellow,blue,white,black}; enum colorname color; for(color=red;color<black;color++) switch(color) { case red:printf(″red″);break; case yellow:printf(″yellow″);break; case blue:printf(″blue″);break; case white:printf(″white″);break; case black:printf(″black″);break; } return 0;}
- 例2 两个枚举类型综合使用
#include<stdio.h>enum Season { spring, summer=100, fall=96,winter //在定义枚举类型时改变枚举元素的值}; typedef enum //类型重定义{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } Weekday; void main() { /* Season */ printf("%d \n", spring); // 0 printf("%d, %c \n", summer, summer); // 100, d printf("%d \n", fall+winter); // 193 Season mySeason=winter; if(winter==mySeason) printf("mySeason is winter \n"); // mySeason is winter int x=100; if(x==summer) printf("x is equal to summer\n"); // x is equal to summer printf("%d bytes\n", sizeof(spring)); // 4 bytes /* Weekday */ printf("sizeof Weekday is: %d \n", sizeof(Weekday)); //sizeof Weekday is: 4 Weekday today = Saturday; Weekday tomorrow; if(today == Monday) tomorrow = Tuesday; else tomorrow = (Weekday) (today + 1); //转换}
六、 枚举总结
1. C语言编译器会将枚举元素(red,yellow,blue,white,black)作为整型常量处理,称为枚举常量。 2. 枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。 enum colorname{red,yellow,blue,white,black};即red的值为0,yellow的值为1,blue的值为2,white的值为3 ,black的值为43.也可以在定义枚举类型时改变枚举元素的值 enum colorname{red,yellow=3,blue,white,black};没有指定值的枚举元素,其值为前一元素加1。即red的值为0,yellow的值为3,blue的值为4,white的值为5 ,black的值为64.同一个程序中不能定义同名的枚举类型,不同的枚举类型中也不能存在同名的命名常量。
0 0
- C05枚举
- c05
- C05(面向对象)
- sysu-17C05签到
- iOS开发学习之C语言---C05 函数-1
- iOS开发学习之C语言---C05 函数-2
- iOS开发学习之C语言---C05 函数-3
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 通达OA-今日学习 精灵报错提示初始化失败
- linux一些常用iptables防火墙规则整理收集
- R语言与点估计学习笔记(EM算法与Bootstrap法)
- 以gpio_direction_output突破口简单了解Linux的gpio操作
- perfmon /res 资源管理器
- C05枚举
- First Post
- c++:重载、覆盖、隐藏 及const 问题
- 黑马程序员——Java基础---equals和"=="的区别
- GLSL绘制流程的粗浅理解
- 深入理解Java内存模型之系列篇
- socket笔记
- JM模型I帧帧内预测流程
- [LeetCode]Trapping Rain Water