欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    共用体与枚举类型.ppt

    • 资源ID:74764940       资源大小:356.50KB        全文页数:18页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    共用体与枚举类型.ppt

    第十章第十章 共同体与枚举类型共同体与枚举类型北京邮电大学出版社北京邮电大学出版社内容提要共同体类型与共同体变量共同体变量的引用位运算与位段结构枚举类型类型定义C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型的定义一般形式union 共同体类型名 成员说明列表 ;例如 union data int I;char ch;float f;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量的定义(1)先定义共同体类型,再定义共同体类型变量 union data char ch;float f;union data a,b,c;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量的定义(2)在定义共用体类型的同时定义共用体类型变量 union data int i;char ch;float f;a,b,c;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共同体类型变量的定义(3)定义共用体类型时,省略共用体类型名,同时定义共用体类型变量 union int i;char ch;float f;a,b,c C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共用体变量的引用 在定义共用体变量之后,就可以引用该共用体变量的某个成员 a.i,a.ch,a.f注:一个共用体变量不是同时存放多个成员的值,而只能存放其中的一个值 通过指针变量引用共用体变量中的成员 union data*pt,x;pt=&x;pt-i=278;pt-ch=D;pt-f=5.78;应用举例C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位运算(1)数的补码表示用补码表示数时,正数的补码是它本身。负数的补码是最高位(用来表示符号,0表示正数,1表示负数,称为符号位)为1,其余各位(数值位)先按位取反(即0变为1,1变为0),再在最低位加1。由补码求真值(即实际二进制数)时,若符号位为0,则补码就是真值。若符号为1,则真值为负数,真值的数值位为补码的数值位各位按位取反后再在最低位加1(若进位位超出数值位的位数,则丢弃)。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位运算(2)a 2左移 3右移flag&0 x37按位与&(关系运算符)(低)flag|0 x5A按位或|(高)flag按位取反(算术运算符)举例(赋值运算符)优先级名称运算符C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位段结构位段结构中位段的定义格式为:unsigned 成员名:二进制位数 struct bytedata unsigned a:2;/*位段a,占两位*/unsigned:6;/*无名位段,占6位,但不能访问*/unsigned:0;/*无名位段,占0位,表示下一位段 从下一字边界开始*/unsigned b:10;/*位段b,占10位*/int i;/*成员i,从下一字边界开始*/data;data变量的内存分配示意图 C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位段结构注意事项一个位段必须存储在同一存储单元(即字)之中,不能跨两个单元。如果其单元空间不够,则剩余空间不用,从下一个单元起存放该位段。可以通过定义长度为0的位段的方式使下一位段从下一存储单元开始。可以定义无名位段。位段的长度不能大于存储单元的长度。位段无地址,不能对位段进行取地址运算。位段可以以%d,%o,%x格式输出。位段若出现在表达式中,将被系统自动转换成整数。应用举例 C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页枚举类型的定义(1)一般形式enum 枚举类型名标识符1,标识符2,标识符n;例如enum colornamered,yellow,blue,white,black;enum colorname color;说明:变量color是枚举类型enum colorname,它的值只能是red,yellow,blue,white或black C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页枚举类型的定义(2)关于枚举类型有几点说明 enum是关键字,标识枚举类型,定义枚举类型必须以enum开头在定义枚举类型时花括号中的名字称为枚举元素或枚举常量 枚举元素不是变量,不能改变其值 枚举常量可以进行比较 一个枚举变量的值只能是这几个枚举常量之一,可以将枚举常量赋给一个枚举变量。但不能将一个整数赋给它 枚举常量不是字符串 应用举例C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页类型定义typedef定义类型,用typedef定义一个新类型名的方法如下:先按定义变量的方法写出定义体(如char a20;)。将变量名换成新类型名(如char NAME20;)。在最前面加上typedef(如typedef char NAME20;)然后可以用新类型名去定义变量(如NAME c,d;)。注:typedef只定义数据结构,并不要求分配存储单元,用typedef定义的类型来定义变量与直接写出变量的类型定义变量具有完全相同的效果 C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页再见!再见!同学们:同学们:C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页共用体变量的引用 void main()union exx int a,b;structint c,d;lpp;e=10;e.b=e.a+20;=e.a+e.b;=e.a*e.b;printf(%d,%dn,);程序运行结果如下:程序运行结果如下:60,3600C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页位段结构#include stdio.hvoid main()int x,y;printf(n请输入十六进制整数请输入十六进制整数:);scanf(%x,&x);y=x(16-4)&0 xf;x=(x4)&0 xffff;/*16位的位的C语言程序不需要语言程序不需要按位与按位与0 xffff*/x=x|y;printf(循环左移循环左移4个二进制位得个二进制位得:%x,x);程序运行结果如下:程序运行结果如下:请输入请输入16进制整数:进制整数:2fe1循环左移循环左移4个二进制位得:个二进制位得:fe12 C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页枚举类型void main()enum colornamered,yellow,blue,white,black;enum colorname color;for(color=red;colorblack;color+)switch(color)case red:printf(red);break;case yellow:printf(yellow);break;case blue:printf(blue);break;case white:printf(white);break;case black:printf(black);break;

    注意事项

    本文(共用体与枚举类型.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开