c语言教案第22讲.ppt

c语言教案第22讲.ppt

ID:56430705

大小:213.50 KB

页数:16页

时间:2020-06-18

c语言教案第22讲.ppt_第1页
c语言教案第22讲.ppt_第2页
c语言教案第22讲.ppt_第3页
c语言教案第22讲.ppt_第4页
c语言教案第22讲.ppt_第5页
资源描述:

《c语言教案第22讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第22讲共用体与枚举教学目的与要求:掌握共用体的声明、定义和使用方法了解枚举类型及用typedef定义类型教学内容提要:1、共用体2、枚举类型3、用typedef定义类型教学重点:共用体的声明、定义和使用方法教学难点:共用体的声明、定义和使用方法教学进度:P269~272教学过程:构造数据类型,也叫联合体用途:使几个不同类型的变量共占一段内存(相互覆盖)1、共用体类型定义定义形式:union共用体名{类型标识符成员名;类型标识符成员名;…………….};例uniondata{inti;charch;floatf;};fchi类

2、型定义不分配内存一、共用体形式一:uniondata{inti;charch;floatf;}a,b;形式二:uniondata{inti;charch;floatf;};uniondataa,b,c,*p,d[3];形式三:union{inti;charch;floatf;}a,b,c;fchifchiab共用体变量定义分配内存,长度=最长成员所占字节数共用体变量任何时刻只有一个成员存在2、共用体变量的定义引用方式:例a.i=1;a.ch=‘a’;a.f=1.5;printf(“%d”,a.i);(编译通过,运行结果不对)

3、引用规则不能引用共用体变量,只能引用其成员共用体指针名->成员名共用体变量名.成员名(*共用体指针名).成员名uniondata{inti;charch;floatf;};uniondataa,b,c,*p,d[3];a.ia.cha.fp->ip->chp->f(*p).i(*p).ch(*p).fd[0].id[0].chd[0].f共用体变量中起作用的成员是最后一次存放的成员例union{inti;charch;floatf;}a;a=1;()不能在定义共用体变量时初始化例union{inti;charch;floa

4、tf;}a={1,’a’,1.5};()可以用一个共用体变量为另一个变量赋值例floatx;union{inti;charch;floatf;}a,b;a.i=1;a.ch=‘a’;a.f=1.5;b=a;()x=a.f;()3、共用体变量引用0110000101000001低字节高字节0100000101100001ch[0]ch[1]运行结果:i=60501ch0=101,ch1=141ch0=A,ch1=amain(){unionint_char{inti;charch[2];}x;x.i=24897;print

5、f("i=%o",x.i);printf("ch0=%o,ch1=%och0=%c,ch1=%c",x.ch[0],x.ch[1],x.ch[0],x.ch[1]);}例将一个整数按字节输出例写出下列程序的执行结果main(){unionexx{inta;intb;struct{intc,d;}lpp;}e={10};e.b=e.a+20;e.lpp.c=e.a+e.b;e.lpp.d=e.a*e.b;printf(“%d,%d”,e.lpp.c,e.lpp.d);}程序运行结果如下:60,3600区别:存储

6、方式不同structnode{charch[2];intk;}a;unionnode{charch[2];intk;}b;achkbchk变量的各成员同时存在任一时刻只有一个成员存在联系:两者可相互嵌套4、结构体与共用体二、枚举类型1.枚举类型的定义枚举类型定义用关键字enum标识,形式为:enum标识符{枚举数据表};标识符用来区分不同的枚举类型,定义的枚举类型用enum标识符标识。枚举数据(枚举常量)是一些特定的标识符,标识符代表什么含义,完全由程序员决定。数据枚举的顺序规定了枚举数据的序号,从0开始,依次递增。例

7、如:(1)定义枚举类型status,包含复制与删除两种状态:enumstatus{copy,delete};枚举类型status仅有两个数据,一个是copy,一个是delete,序号为0、1,代表复制与删除。(2)定义枚举类型color,包含红、黄、蓝、白、黑五种颜色:enumcolor{red,yellow,blue,white,black};枚举类型color有red、yellow、blue、white、black五个数据,序号为0、1、2、3、4,代表红、黄、蓝、白、黑五种颜色。(3)定义枚举类型weekday

8、,包含一周的七天:enumweekday{sun,mon,tue,wed,thu,fri,sat};枚举类型weekday有sun、mon、tue、wed、thu、fri、sat七个数据,序号为0、1、2、3、4、5、6,代表一周中的星期天、星期一、星期二、星期三、星期四、星期五、星

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。