第7章自定义数据类型试题.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 七 章 自定义数据类型;第七章 自定义数据类型;自定义数据类型概述;必要性 需要把不同类型的数据结合成一个整体来描述某一对象 —— 对数组扩展(同类型的数据集合) 一个人:身份证号码、姓名、性别、电话、…… 一辆车:类别、生产厂家、型号、颜色、…… 一本书:书名、作者、出版日期、价格、库存、…… 一张桌子:长、宽、高、类型、材质、价格、…… 一台电脑:品牌、型号、价格、购买日期、…… 一个公司:法人代表、注册资金、单位地址、…… 一张菜单:菜名、价格、原材料、制作工艺、…… ……;自定义类型 结构体必须先定义类型,后定义它的变量 int x ; 内存中存在 x ,不存在 int 类型“人”——没具体数值。世界上只有人类型的个体变量;定义结构体变量 struct student // 类型名 student { unsigned int ID ; char name[20] ; bool sex ; date birthday; // 定义结构体变量 int score[35] ; } stud1, stud2 ; // 定义2个结构体变量 student *sp; // 定义结构体指针 student st1[3]; // 定义结构体数组(一维) student st2[3][4]; // 定义结构体数组(二维) ;无名结构体类型 struct // 省略类型名:无名结构体 { unsigned int ID ; char name[20] ; bool sex ; date birthday; // 定义结构体变量 int score[35] ; } stud; // 这里必须定义结构体变量(?) 以后没法定义结构体变量了(没类型名) 临时使用,以后不再用 ;结构体变量的初始化 变量初始化:定义变量时赋值 student John = // 定义变量并初始化 { 326, John, 0, {1992,5,15}, {85,90,80}}; student Joe = John; ;访问结构体变量的成员 整体赋值 Joe = John; // 赋值 cout John; // 错误 cin Joe; // 错误 访问每个成员 John.ID = 215; John.birthday.year = 1990; John.birthday.month = 8; John.score[0]=95; John.score[1]=85; John.score[2]=75;;结构体数组;结构体数组初始化 遵循数组初始化规则 遵循结构体变量初始化规则 例如: student stu[4] = //一维数组 { 101, 张三, 1, {1992,3,5}, {85,95,90}, 102, 李四, 0, {1992,6,8}, {90,87,82}, 103, 王五, 1, {1993,1,8}, {80,80,85}, 104, 赵??, 0, {1992,9,2}, {75,80,90} };;【例】统计程序:候选人得票数。 3人候选,1人胜选,10人投票。 数据输入 为简单计:初始化给定候选人和选票 数据存储 候选人:(string 姓名、int 得票数) 结构体数组[3] 选票:(string 得票人姓名) 数组[10] 算法设计 查找:在候选人中找选票填写的姓名 累加:该候选人得票数+1 结果输出 每位候选人得票数;结构体类型 struct;结构体指针 指向结构体变量的指针:student *p; 遵循变量的指针规则 ;结构体数组指针 指向结构体数组的指针 遵循:数组的指针规则 复习:数组与指针 一维数组:student stu[10], *p = stu; 二维数组:student stu[3][4]; student *p1 = str[0]; // ... 等价表示 student (*p2)[4] = stu; // ... 等价表示 理解 p++ 含义 错:p = p + sizeof(student); 对:p = p + 1; // 理解 + 号含义 *** 二维以上结构体数组较少见:不好理解;结构体类型 struct;结构体类型 struct;C++ 对结构体的扩展;共用体 联合体 与结构体用法非常相似,略有差异后述 union data

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档