欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第9章构造数据类型.ppt

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

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

    第9章构造数据类型.ppt

    第9章 构造数据类型,杨章伟 e-mail:yang505412163.com,课程内容安排,结构体 共用体 枚举 类型重定义typedef 位域 小结 习题,结构体,结构体是一种可以由程序员根据实际情况来自己构造的新的数据类型,结构体类型的数据由若干称为“成员”的数据组成,每一个成员既可以是一个基本数据类型的数据,也可以是另一个构造类型的数据。,结构体类型说明,一般来说,说明结构体类型的语法格式如下: struct 结构体标识符 成员变量列表; ; 例如,为了9.1.1节中包含学号、姓名、性别、年龄等信息的学生,可以定义如下的自定义数据类型struct Student。 struct Student int Code; /学号 char Name20; /姓名 char Sex; /性别 int Age; /年龄 ;,定义结构体类型变量,在完成一个结构体定义之后,就可以像定义基本数据类型变量一样定义结构体类型的变量和数组了。一般来说,结构体类型变量的定义可以通过如下4种方式完成。 先定义结构体类型再单独进行变量定义 紧跟在结构体类型说明之后进行定义 在说明一个无名结构体类型的同时直接进行定义 使用typedef说明一个结构体类型名后再用新类型名来定义变量,引用结构体成员变量,前面介绍过一个结构体变量中包括一个或多个成员变量,在实际使用中,就需要对其成员变量进行引用。一般来说,如果已定义了一个结构体变量和一个指向该结构体的指针变量,则可用以下三种形式来引用结构体变量中的成员: 结构体变量名 . 成员名 指针变量名成员名 (*指针变量名). 成员名,共用体,在具体的程序设计中,有时需要将几种不同类型的变量存放到同一段单元中,或者说,需要使几个不同的变量共占同一段内存。在C+中,提供了这样一种类型结构,即共用体。在有些参考资料上,共用体也称为联合(Union)。 共用体类型的说明与结构体类型说明方式完全相同。不同的是,结构体变量中的成员各自占有自己的存储空间,而共用体变量中的所有成员占有同一个存储空间。 union 共用体标识符 成员变量列表; ;,枚举,在日常生活中,会遇到很多集合类问题,其所描述的状态为有限几个,例如比赛的结果只有输和赢两种状态,一周有7天,共7个状态。在计算机中表述这些信息,需要定义一组整型常量,但是这些常量虽然在表达了同一类型的信息,但是在语法上是彼此孤立的个体,而不是一个完整的逻辑整体。 。,定义枚举类型,一般来说,枚举类型的定义的语法描述如下: enum 枚举标识符常量列表; 其中,参数说明如下。 enum关键字:为系统关键字,表示定义枚举类型。 枚举标识符:为一个遵循变量的命名规则的标识符。 常量列表:常量列表包含该枚举类型的值,每个枚举常量之间通过逗号分割。 例如,在实际程序需要描述上、下、前、后、左和右的6个方位,那么可定义枚举类型enum Direction,如下所示: enum Direction up,down,before,back,left,right;,类型重定义typedef,在现实生活中,信息的概念可能是长度、数量和面积等。在C+中,信息被抽象为int、float和double等基本数据类型。从基本数据类型名称上,不能够看出其所代表的物理属性,并且int、float和double为系统关键字,不可以修改。为了解决用户自定义数据类型名称的需求,C+中引入类型重定义语句typedef,可以为数据类型定义新的类型名称,从而丰富数据类型所包含的属性信息。 在C+中,类型重定义typedef的一般语法描述如下: typedef 类型名称 类型标识符;,位域,在实际的程序设计中,有时需要存储少量的信息,这些信息并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如,在存放一个标志时,只有0和1两种状态,用一个二进位即可。如果给其分配一个字节的空间,便浪费了存储空间。因此,C+引入了位域这一数据类型。 所谓位域是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。,定义位域变量,位域的定义和位域变量的说明与结构定义类似,其形式如下: struct 位域结构名 位域列表 ; 其中,位域列表的形式为: 类型说明符 位域名:位域长度 例如,下面语句定义了一个位域abc,其包含3个位域成员a、b和c。 struct abc int a:8; int b:2; int c:6; ;,本章重点讲解了C+中的构造数据类型。C+中,结构体、共用体和枚举类型是使用较多的构造数据类型。其中,结构体类型是一种复杂而灵活的构造数据类型,它可以将多个相互关联,但类型不同的数据项作为一个整体进行处理。在定义结构体变量时,每一个成员都要分配空间存放各自的数据。共用体是另一种构造数据类型,但在定义共用体变量时,只按占用空间最大的成员来分配空间,在同一时刻只能存放一个数据成员的值。结构体和共用体变量的定义都有三种形式,可以将类型的说明和变量的定义分开、结合或不给出类型名只定义变量。读者应重点掌握结构体、共用体和枚举的变量定义和引用方法,对于位域,做简单了解即可。,小结,1编写一个C+程序,声明一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒,提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。 2编写一个C+程序,定义一个联合类型,其成员为整型变量i,单精度浮点型变量f和双精度浮点型变量d,声明一个联合变量和指针,给该联合类型的成员变量赋值,最后输出到屏幕。,习题,习题,3. 编写一个程序,根据用户输入的学生数目,给出用户输入学生学号、姓名、成绩等输入提示,用户输入完成后给出输入的各项成绩和平均分,

    注意事项

    本文(第9章构造数据类型.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




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

    三一文库
    收起
    展开