C大学基础教程第七章.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大学电信工程学院计算机技术中心 C++大学基础教程 第7章 其它自定义数据类型 北京邮电大学电信工程学院 计算机技术中心 第7章 其它自定义数据类型 C++语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。 第7章 C++其他自定义数据类型 7.1 枚举型数据类型 7.2 结构型数据类型 7.3 联合型数据类型 7.1 枚举类型 7.1 枚举类型 枚举型数据类型(简称枚举类型) 有些问题中所处理数据的取值可以一一列举出来 例: 一周七天: 星期日、星期1、星期2、星期3、星期4、星期5、星期6 用户可以自己定义一种数据类型,把这种数据类型的变量的可能值一一列举出来。 然后就可以使用这种数据类型来定义变量了。这种新的数据类型称为枚举类型,声明形式为: enum 枚举类型名{枚举元素列表}; 7.1 枚举类型 例如: enum weekday{sun, mon, tue, wed, thu, fri, sat}; 新的数据类型 枚举元素或枚举常量 7.1 枚举类型 enum weekday{sun, mon, tue, wed, thu, fri, sat}; 定义一个weekday类型的变量: weekday day; 变量day的取值范围: 类型定义时,表里列举出来的七种标识符,把这些标识符看作符号常量。 例如:day = sat; 使用枚举类型时要注意: 在类型定义之后,对枚举元素按常量处理,不能对它们赋值。sat=6; 枚举元素具有默认值,它们依次为:0,1,2,……。 enum weekday{sun, mon, tue, wed, thu, fri, sat}; 也可以在类型声明时另行指定枚举元素的值。 enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat} 使用枚举类型时要注意: 枚举值可以进行关系运算。 整数值不能直接赋给枚举变量;如需要将整数值赋给枚举变量,应进行强制类型转换. 例: int x=2; weekday day; day=x;? day= ( weekday)x;? 7.1 枚举类型 枚举常量在机器内部仍然是用整型数来存取 定义某个枚举类型的变量时,分配几个字节的内存空间呢? (前面我们看到,枚举元素的默认值都是整数,可以给枚举元素指定值,也用整数,所以说,在计算机内部处理时,是把枚举类型按整型(int)对待的。) 例7.1 读入1-7之间的一个数代表今天,输出明天是星期几。 例: 口袋中有红、黄、蓝、白、黑五种颜色的球若干个。每次从口袋中取出3个不同颜色的球,问有多少种取法。 分析:由于球只能是五种颜色之一,故可用枚举类型表示球的颜色。设取出的球为i、j、k,根据题意,i、j、k分别可以有五种取值,且i≠j≠k。可以用穷举法,逐个检验每一种可能的组合,从中找出符合要求的组合并输出。 7.2 结构类型 7.2.1 结构类型的定义 结构型数据类型(简称结构类型) 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。 7.2.1 结构类型的定义 结构的声明形式如下: struct 结构类型名 { 数据类型标识符1 成员名1; 数据类型标识符2 成员名2; ┇ 数据类型标识符n 成员名n; }; 7.2.1 结构类型的定义 例如: struct student { long num; //学号 char name[20]; //姓名 int age; //年龄 float score; //成绩 }; 7.2.1 结构类型的定义 定义结构类型的变量: 结构类型名 结构变量名; 例: 定义student类型的变量: student stu1; 7.2.1 结构类型的定义 结构类型的变量所占的存储空间是结构中所有成员所占空间的总和 例 sizeof(student)= sizeof(long)+20*sizeof(char) +sizeof(int)+sizeof(float) sizeof(s1)==sizeof(student) 7.2.1 结构类型的定义 结构成员的访问格式: 结构变量名.成员名 例: student s1; s1.num=1; cout<<s1.num<<endl; cout<<s1.name<<endl; 7.2.1 结构类型的定义 给结构变量赋初

您可能关注的文档

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档