




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十二章 枚举类型与位运算例如: 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,
2、tue, wed, thu, fri, sat ;2. 枚举常量的整型值 隐式定义: 按照类型定义时枚举常量列举的顺序分别代表0、1、2、等整型值。 0123456例如: enum op plus=43,minus=45,multiply=42,divide=47 ; enum workday mon=1,tue,wed,thu,fri ;2. 枚举常量的整型值 显式定义: 在定义类型的同时指定枚举常量的值,其中如有未指定值的枚举常量,则根据前面的枚举常量的值依次递增1。 2345例如: enum flag fg; enum color1 c1; enum color2 blank,brown
3、,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,2。如在weekday中
4、,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;其意义是将顺序号为2的枚举元素赋予枚举变量a,相
5、当于: a=tue; 还应该说明的是枚举元素不是字符常量也不是字符串常量, 使用时不要加单、双引号。main()enum bodya,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( %2d %ct,i,d); break;default:break;printf(n); 12.2 位运算符 & | 低于单目、算术运算符,低于单目、算术运算符,高于其他运算符高于其他运算符低于单目、算术和关系运低于单目、算术和关系运算符,高于其他运算符算符,高于其他运算符位逻辑运算符的运算规则 假设ai和bi均是一个二进制位(bit) 运算对象逻辑运算结果aibiai&biai|biai biai000001010111100110111100程序如下: main( ) int a=10, b=010; printf(%d %dn, a&b, a|b); printf(%d %dn, ab, a)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业技能培训质量控制细则
- 农田水稻旱育技术的研究与应用
- 多功能电饭煲维护细则
- 楼盘销售合同规范制度
- 有趣的数学解题方法分享
- 心理教育手册制定标准落实规划执行方案
- 图形设计发展历程与变迁总结
- 股权激励对民营企业创新的影响
- 地方传统节庆手册
- 植物品种的选择与室内装饰
- 绘本社团课件
- 网络安全知识竞赛试题及答案
- 《新能源汽车概论》课件-项目一 新能源汽车的认知与发展趋势
- 煤矿作业规程编制课件
- DB11∕T 1135-2024 供热系统有限空间作业安全技术规程
- 泰戈尔简介课件
- 2025四川乐山市市中区国有企业招聘员工47人笔试参考题库附答案解析
- 新版部编人教版三年级上册语文全册1-8单元教材分析
- 2024年全国网络安全知识竞赛试题库及答案
- 公安机关人民警察执法资格(高级)考前点题卷一
- (2025年标准)产假提前上班协议书
评论
0/150
提交评论