第十二章:枚举类型与位运算.ppt

上传人:本田雅阁 文档编号:3457552 上传时间:2019-08-27 格式:PPT 页数:13 大小:180.04KB
返回 下载 相关 举报
第十二章:枚举类型与位运算.ppt_第1页
第1页 / 共13页
第十二章:枚举类型与位运算.ppt_第2页
第2页 / 共13页
第十二章:枚举类型与位运算.ppt_第3页
第3页 / 共13页
第十二章:枚举类型与位运算.ppt_第4页
第4页 / 共13页
第十二章:枚举类型与位运算.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《第十二章:枚举类型与位运算.ppt》由会员分享,可在线阅读,更多相关《第十二章:枚举类型与位运算.ppt(13页珍藏版)》请在三一文库上搜索。

1、第十二章 枚举类型与位运算,enum是关键字; 枚举名和枚举常量是标识符; 枚举常量之间用逗号分隔。,例如: enum weekday Sun, Mon, Tue, Wed, Thu, Fri, Sat ; enum color1 blue, green, red ; enum flag false, true ;,12.1枚举类型,1. 枚举类型的定义,枚举类型定义的一般形式: enum 枚举名 枚举常量取值表 ;,在枚举类型中,每个枚举常量都代表一 个整型值。在定义枚举类型的同时可隐式或 显式地定义枚举常量所代表的值。,例如: enum weekday Sun, Mon, Tue, Wed

2、, Thu, Fri, Sat ;,2. 枚举常量的整型值,隐式定义: 按照类型定义时枚举常量列举的顺序分别 代表0、1、2、等整型值。,0,1,2,3,4,5,6,例如: enum op plus=43,minus=45,multiply=42,divide=47 ; enum workday Mon=1,Tue,Wed,Thu,Fri ;,2. 枚举常量的整型值,显式定义: 在定义类型的同时指定枚举常量的值,其中如 有未指定值的枚举常量,则根据前面的枚举常量的 值依次递增1。,2,3,4,5,例如: enum flag fg; enum color1 c1; enum color2 bla

3、nk,brown,yellow,white c2; enum lightblue,lightgreen,lightred c3;,3. 枚举变量的定义,枚举类型变量定义的三种形式: enum 枚举名 枚举变量名表; enum 枚举名 枚举常量取值表枚举变量表; enum 枚举常量取值表枚举变量表;,3. 枚举变量的赋值和使用,枚举类型在使用中有以下规定: 1. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值: sun=5;mon=2;sun=mon; 都是错误的。 2. 枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1

4、,2。如在weekday中,sun值为0,mon值为1, ,sat值为6。,3. 枚举变量使用举例,main() enum weekday sun,mon,tue,wed,thu,fri,sat a,b,c; a=sun; b=mon; c=tue; printf(“%d,%d,%d“,a,b,c); ,3. 枚举变量的赋值和使用,枚举类型在使用中有以下规定: 3. 只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如: a=sum;b=mon; 是正确的。而: a=0;b=1; 是错误的。 如果一定要把数值赋予枚举变量,则必须用强制类型转换,如: a=(enum weekday)2

5、;其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于: a=tue; 还应该说明的是枚举元素不是字符常量也不是字符串常量, 使用时不要加单、双引号。,main() enum body a,b,c,d month31,j; int i; j=a; for(i=1;id) j=a; for(i=1;i=30;i+) switch(monthi) case a:printf(“ %2d %ct“,i,a); break; case b:printf(“ %2d %ct“,i,b); break; case c:printf(“ %2d %ct“,i,c); break; case d:printf

6、(“ %2d %ct“,i,d); break; default:break; printf(“n“); ,12.2 位运算符, & | ,位运算符的运算对象只能是整型数据或字符型数据,不能是实型数据 运算对象一律按二进制补码参加运算,并按位进行运算 位运算的结果是一个整型数据,低于单目、算术运算符,高于其他运算符,低于单目、算术和关系运算符,高于其他运算符,位逻辑运算符的运算规则,假设ai和bi均是一个二进制位(bit),例如:假设a=10,b=010 求a&b、 a | b、 ab、a,程序如下:,main( ) int a=10, b=010; printf(“%d %dn“, a ,输出结果: 8 10 2 -11,0000 0000 0000 1010 & 0000 0000 0000 1000 0000 0000 0000 1000 即:a&b的值是8,移位运算,例如: ab-1 等价于 (a+8)(b-1),例如:假设a=10,b=2,求ab-1,main( ) int a=10, b=2; printf(“%d %dn“, ab-1); ,输出结果: 40 9,请自行分析 运行结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1