内容正文:
任务4
枚举类型
PART
任务4 枚举类型
1.枚举类型说明
一般形式:
enum 枚举名{ 元素名1,元素名2,……元素名n };
例如: enum weekday{sun,mon,tue,wed,thu,fri,sat};
该枚举名为weekday,枚举值共有7个,即一周中的7天。凡被说明为weekday类型的变量只能是7天中的某一天。
说明:
任务4 枚举类型
2.枚举变量的定义
定义形式:
enum 枚举名{ 元素名1,元素名2…元素名n } 枚举变量列表;
任务4 枚举类型
枚举变量的
定义形式
1)先说明后定义:
enum weekday{ sun,mon,tue,wed,thu,fri,sat };
enum weekday a,b;
2)同时定义说明:
enum weekday{ sun,mon,tue,wed,thu,fri,sat } a,b;
3)直接定义:
enum { sun,mon,tue,wed,thu,fri,sat } a,b;
任务4 枚举类型
3.枚举变量的引用
1)枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。
例如,对枚举weekday的元素再作以下赋值:
sun=3;sun=tue; 都是错误的。
任务4 枚举类型
3.枚举变量的引用
2)枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序
定义为0,1,2…n。
如在weekday中,sun的值为0,mon的值为1…sat的值为6。
任务4 枚举类型
3.枚举变量的引用
3)枚举元素的值也可以在定义时指定。
例如:
enum weekday{ sun=1,mon,tue,wed,thu=7,fri,sat } a;
对于没有赋值的元素,取值仍按顺序递增。
任务4 枚举类型
3.枚举变量的引用
4)可对枚举变量进行判断或比较。例如:
if(a!=sunday) printf(“not free time”);
任务4 枚举类型
3.枚举变量的引用
5)只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。
例如:
a=sat;b=tue;是正确的。
a=6;b=2;是错误的。
任务4 枚举类型
3.枚举变量的引用
6)枚举元素只是一个符号,代表一个数值,它不是字符常量也不是字符
串常量,使用时不要加单、双引号。
例如:printf(“%s”,tue);是错误的。
知识拓展
PART
知识拓展
【例10-4】统计候选人得票情况。设有3个候选人,每次输入一
个得票的候选人的名字,要求输出每一个人的得票结
果。
在程序中定义一个全局的结构体数组leader,它有3个元素,每一元素包含2个成员,分别是:name(姓名)和count(票数)。在定义数组时使之初始化,使3位候选人的得票数都先为0。
知识拓展
【例10-4】统计候选人得票情况。设有3个候选人,每次输入一
个得票的候选人的名字,要求输出每一个人的得票结
果。
候选人初始得票情况:
$