- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章结构化数据.pptx
《计算基础——C++语言实现》
计算机的主要作用是对数据进行分析和处理。当数据中含有多条记录或多个属性时,如何将数据有效地存储在计算机中以方便后继的分析和处理,是利用计算机解决实际问题时要考虑的一个重要内容。本章重点介绍多记录数据和多属性数据的存储结构,以及如何使用C++实现这些数据的存储和处理。通过本章的学习,读者一方面能够根据自己的问题,判断出应该采用哪种数据结构;另一方面能够使用C++提供的相应语句,编写程序解决问题。本章还介绍枚举,并给出一个应用程序实例,该实例涉及基本的排序算法的思想,给读者以启发,激发读者利用计算思维解决更多、更复杂的问题的兴趣。
第4章 结构化数据
2
在实际生活中,经常遇到对多条同一性质的记录进行处理和分析的情况,此时会涉及多记录数据的存储。例如,设甲班共有N名学生,要统计甲班某门课程考试中各个成绩范围的学生人数,其具体过程为:
① 提供原始数据,即N名学生的考试成绩。
② 设定初始状态,即在查看学生成绩前将各个成绩范围的学生人数置为0。
③ 开始统计分析,即依次查看每名学生成绩并根据成绩更新相应成绩范围的学生人数。
待处理的原始数据中包含了N名学生的成绩,此时就要首先解决这种多记录数据的存储问题。
4.1 多记录数据的存储
3
在有的问题中,不仅待处理的是多记录数据,而且处理结果也是多记录数据。例如,设乙班共有M名学生、期末考试共考核C门课程,要分别统计乙班每名学生在C门课程上的总成绩,其具体过程为:
① 提供原始数据,即M名学生在C门课程上的考试成绩。
② 设定初始状态,即在查看学生成绩前分别将每名学生的总成绩置为0。
③ 开始统计分析,即对每名学生依次将其在C门课程上的成绩加到其总成绩上。
待处理的原始数据中包含了M名学生在C门课程上的考试成绩(即共M×C个成绩),处理结果中包含了M名学生的总成绩,原始数据和处理结果中都涉及多记录数据的存储问题。
4.1 多记录数据的存储
4
根据数据自身的特性,可以将数据分为一维数据、二维数据、三维数据……本书重点介绍易于从直观上理解的一维数据和二维数据。
4.1.1 一维数据
一维数据是指数据元素的值由一个因素唯一确定。
4.1 多记录数据的存储
5
1. 一维数据问题实例
【例4-2】表4-2是各成绩级别所对应的成绩范围。设甲班共有N名学生,统计甲班某门课程考试中各成绩级别的学生人数。
问题求解思路: N名学生中每名学生的考试成绩由学生编号唯一确定,如图4-1所示。因此,待处理的原始数据是一维数据。解决该问题需要3步,其中第2步是第3章中所讲的迭代与选择的嵌套过程,根据学生成绩将相应成绩等级的学生人数增1。解决该问题的算法如表4-3所示。
4.1 多记录数据的存储
6
4.1 多记录数据的存储
7
2. 用C++提供的一维数组存储一维数据
对于一维数据的存储问题,C++提供了相应的一维数组,用户可以使用该数据结构存储待处理数据或处理结果,编写程序完成问题的求解。
(1) 一维数组的定义
数组本质上是一组变量,即数组的每一个元素都是一个变量。与前面学习过的简单变量一样,在使用数组之前,必须先给出数组的定义。一维数组的定义形式为:
数据类型 数组名[常量表达式];
4.1 多记录数据的存储
8
数据类型指定了数组中每一个元素的类型,既可以是前面学习的int、float等基本数据类型,也可以是后面将要学习的指针、结构体、类等数据类型;数组名的命名规则与简单变量的命名规则相同;方括号中的常量表达式用来指明该数组中元素的数量,即数组的长度,它必须是整型常量、整型符号常量或枚举常量(关于枚举常量可参考4.3节)。
例如,如果要存储10名学生的成绩,就可以定义一个一维数组:
int score[10];
或 const int SIZE = 10;
int score[SIZE];
上面的语句定义了一个名为score的一维数组,该数组的长度为10,共包含10个int类型的元素,可以用来存储10名学生的成绩。
4.1 多记录数据的存储
9
(2) 一维数组的初始化
同简单变量一样,在定义数组的同时可以为数组中的各个元素赋初值。一维数组的初始化形式为:
数据类型 数组名[常量表达式]={初值1, 初值2, …, 初值N};
例如,在上述定义存储10名学生成绩的数组的同时,可以为其进行初始化:
int score[10]={97, 85, 68, 95, 99, 73, 86, 75, 62, 53};
提示:
score={97, 88, 68, 95, 99, 73, 86, 75, 62, 53};//错误:初始化列表只能在数组定义时使用
4.1 多
您可能关注的文档
- 社会主义核心价值观课件 2.ppt
- 祖国最神圣的土地台湾.ppt
- 神奇的微生物科普..pptx
- 科技论文写作与排版.pptx
- 科普安全管理工具.pptx
- 科普文阅读 1.ppt
- 科普版《大禹治水》课件.ppt
- 科普版《我要的是葫芦》课件.ppt
- 科普版七年级地理上册复习课件共46张.ppt
- 科普版五年级上册Lesson10Thereisahorseunderthetree。.ppt
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)