C语言从入门到精通 第10章.ppt

C语言从入门到精通 第10章.ppt

ID:58442714

大小:664.50 KB

页数:33页

时间:2020-09-07

C语言从入门到精通 第10章.ppt_第1页
C语言从入门到精通 第10章.ppt_第2页
C语言从入门到精通 第10章.ppt_第3页
C语言从入门到精通 第10章.ppt_第4页
C语言从入门到精通 第10章.ppt_第5页
资源描述:

《C语言从入门到精通 第10章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章共用体与枚举类型10.1共用体类型与共用体变量返回C语言程序设计教程10.2共用体变量的引用10.3共用体变量的应用10.4位运算与位段结构10.5枚举类型10.6类型定义10.1共用体类型与共用体变量共用体是C的由用户定义的数据类型。共用体把不同类型的数据项组成一个整体,这些不同类型的数据项在内存中所占用的起始单元是相同的。1.共用体类型的定义共用体类型定义用关键字union标识,形式为:下一页第10章共用体与枚举类型上一页union标识符{成员说明列表};标识符给出共用体名,是共用体类型名的主体,定义的共用体类型由“union标识符”标识。例如,定义一个共用体类型,要

2、求包含一个整型成员,一个字符型成员和一个单精度型成员:unionicf{inti;charc;floatf;};下一页第10章共用体与枚举类型上一页2共用体变量的定义(1)先定义共用体类型,再定义共用体变量:①union共用体名{成员表};②union共用体名变量表;例如:uniondata{inti;charch;floatf;};uniondataa,b,c;下一页第10章共用体与枚举类型上一页(2)定义共用体类型的同时定义共用体变量例如:uniondata{inti;charch;floatf;}a,b,c;下一页第10章共用体与枚举类型上一页union共

3、用体名{成员表}变量表;(3)定义共用体类型时,省略共用体类型名,同时定义共用体类型变量union{成员表}变量表;第10章共用体与枚举类型例如:union{inti;charch;floatf;}a,b,c;返回10.2共用体变量的引用共用体变量不能直接使用,只能使用里面的某个成员,其成员同样通过点运算描述。形式为:共用体变量名.成员名例如,定义上面共用体类型变量a,a占有4个字节的空间,a.i表示其整型成员,a.ch表示其字符型成员,a.f表示其单精度型成员。下一页第10章共用体与枚举类型上一页(1)共用体变量中,可以包含若干个成员及若干种类型,但共用体成员不能同时使

4、用。在每一时刻,只有一个成员及一种类型起作用,不能同时引用多个成员及多种类型。下一页第10章共用体与枚举类型上一页说明(2)共用体变量中起作用的成员值是最后一次存放的成员值,即共用体变量所有成员共用同一段内存单元,后来存放的值将原先存放的值覆盖,故只能使用最后一次给定的成员值。如:a.i=278,a.ch=’D’,a.f=5.78;不能企图通过下面的printf函数得到a.i和a.ch的值:printf(“%d,%c,%f”,a.i,a.ch,a.f);但能得到a.f的值。(3)共用体变量的地址和它的各个成员的地址相同。(4)不能企图引用共用体变量名来得到某成员的值。(5)共用体

5、变量不能作函数参数,函数的返回值也不能是共用体类型。(6)共用体类型和结构体类型可以相互嵌套,共用体中成员可以为数组,甚至还可以定义共用体数组。下一页第10章共用体与枚举类型上一页写出下列程序的执行结果main(){unionexx{inta,b;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);}第10章共用体与枚举类型例10.1运行结果:60,3600返回设有若干教师的数据,包含有教师编号、姓名、职称,若职称为讲师,则

6、描述他们的所讲课程,若职称为教授,则描述他们所写论文数目。下一页第10章共用体与枚举类型上一页10.3共用体变量的应用例10.2点击查看程序请10.4位运算与位段结构位是指二进制数的一位,其值为0或1。位段以位为单位定义结构体(或共用体)中成员所占存储空间的长度。含有位段的结构体类型称为位段结构。下一页第10章共用体与枚举类型上一页10.4.1位运算在用位运算符进行数的运算时,数是以补码的形式参加运算的。1.位运算(主要有:&、

7、、~、^、>>、<<)(1)&(按位“与”)运算规则为:0&0=0,0&1=0,1&0=0,1&1=1例如,-5&3的值为3。其中-5的补码(为简便起见

8、,用8位二进制表示)为11111011,3的补码为00000011,按位与的结果为00000011,即值为十进制数3。下一页第10章共用体与枚举类型上一页(2)

9、(按位“或”)运算规则为:0

10、0=0,0

11、1=1,1

12、0=1,1

13、1=1例如,-5

14、3的值为-5。-5与3相位或后得11111011,其真值为-0000101,即-5。(3)^(按位“异或”)运算规则为:0^0=0,0^1=1,1^0=1,1^1=0例如,-5^3的值为-8。(4)~(按位“取反”)运算规则为:~0=1,

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

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

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