您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页枚举类型

枚举类型

来源:五一七教育网
例9-7 定义描述颜色的枚举类型enum COLORS,并进行相关的运算。 enum COLORS { BLACK, BLUE, GREEN,CYAN,RED,MAGENTA,BROWN, LIGHTGRAY,DARKGRAY,LIGHTBLUE,LIGHTGREEN,LIGHTCYAN, LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE}; void main() {

enum COLORS a,b,c; enum COLORS *pa; int d=-2; a=RED; b=WHITE; c=0;

printf (\"\\na=%d b=%d c=%d d=%d\",a,b,c,d); c=a+b; if(a>b) pa=&a; else pa=&b;

*pa= d;

printf (\"\\na=%d b=%d c=%d d=%d\",a,b,c,d); }

程序的运行结果如下: a=4 b=15 c=0 d=-2 a=4 b=-2 c=19 d=-2

例9-8 模拟机器人控制系统中的指令,并控制机器人在平面内的移动。 enum Direction{up,down,forward,back,left,right}; void main() {

enum Direction commands[10]=

{forward,right,forward,right,forward,right,forward,right,forward,right}; int x=0,y=0; int i=0;

for (i=0;i<10;i++) {

move(commands[i],&x,&y);

printf(\"\\nPosition[%d] is (%d,%d)\",i+1,x,y); } }

int move(enum Direction command,int *px,int *py) {

int nRet=1;

static int x=0,y=0 ; switch(command) {

case left: x-=1; break; case right: x+=1; break; case forward: y+=1; break; case back: y-=1; break; default :

nRet=0; break; }

*px=x; *py=y;

return nRet; }

程序运行结果如下: Position[1] is (0,1) Position[2] is (1,1) Position[3] is (1,2) Position[4] is (2,2) Position[5] is (2,3) Position[6] is (3,3) Position[7] is (3,4) Position[8] is (4,4) Position[9] is (4,5) Position[10] is (5,5)

enum Direction{up,down,forward,back,left,right}定义了机器人可以处理的指令集合。函数int move(enum Direction command,int *px,int *py)描述了翻译与执行系统,从而实现机器人根据控制指令进行移动。

REF:.txt,函数参数.txt,函数返回值.txt 枚举类型变量的声明

TAG:枚举类型,枚举类型变量的声明 TEXT:定义枚举类型变量之前,要先完成枚举类型的定义。定义枚举变量的形式主要有两种形式:

形式1:先定义枚举类型,然后在定义枚举变量,例如

enum Direction{up,down,before,back,left,right}; enum Direction fisrt Direction,second Direction; 形式2:定义枚举类型,同时定义枚举变量,例如: enum Direction{up,down,before,back,left,right} fisrt Direction,second Direction ;

REF:.txt

枚举类型的定义

TAG:枚举类型,基本概念,枚举类型的定义 TEXT:

一般的枚举类型的定义的语法描述如下: enum 枚举标识符{常量列表};

其中enum为系统关键字,枚举标识符遵循变量的命名规则。常量列表中,每个枚举常量之间通过逗号分割。

例如描述上述方位,可定义枚举类型enum Direction。

enum Direction {up,down,before,back,left,right};

其中up,down,before,back,left,right为枚举常量,可以直接引用。 另外,还可以为枚举常量指定其对应的整形常量数值,例如

enum Direction {up=1,down=2,before=3,back=4,left=5,right=6}; 注意常量值不可出现重复,下面的情况是违法的。

enum Direction{up=1,down=1,before=3,back=4, left=5,right=6};

如果在给定枚举常量的时候不指定其对应的整数常量值,系统将自动为每一个枚举常量设定一对应的整数常量值,例如:

enum Direction{up,down,before,back,left,right};

中up对应的整数值为0, down对应的整数值为1,以此类推right=5; printf(“%d”, right)的输出结果为5。

另外,允许设定部分枚举常量对应的整数常量值,但是要求从左到右依次设定枚举常量对应的整数常量值,并且不能重复。例如:

enum Direction{up=7,down=1,before,back,left,right};

则从第一没有设定值的常量开始,其整数常量值为前一枚举常量对应的整数常量值加1。因此输出语句printf(“%d”, right)的输出结果为5。

REF:.txt

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务