- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西南交大c课件(张旭丽)-4
第4章 数组的应用 西南交通大学 计算机基础教研室 主要内容 数组的定义、初始化和引用 数值型数组应用 问题的引出 程序处理的对象是数据。数据有许多形式, 如数值数据、文字数据、图象数据以及声音数据等, 但其中最基本的、也是最常用的是数值数据和文字数据。 计算机能够做许多事情。归根到底计算机在处理数据。 问题的引出 实际应用的程序设计中,只用几个变量的情况是极少的;更多的情况是处理大批量的相同类型或不同类型的数据。 用什么样的数据结构来描述这类应用更简洁? 数组的概念 在程序设计中,数组是一种最常用的数据结构 掌握好数组的应用是程序设计者的一个基础 数组属于构造类型 数组的概念 具有相同类型的数据的集合被称为数组 数组用数组名来标识 一个数组名用来表示一组同类型的数据 这批同类型的数据被称为数组元素或分量 数组和变量一样,必须先定义,后使用 数组的定义 定义的格式: 类型说明符 数组名[常数表达式1][…][…] 说明:类型说明符可以是任意类型(例如char、int)常数表达式的值是数组元素的个数数组可以是一维、二维或多维数组;是几维数组,数组名右边就有几对方括号,分别确定各维的长度(元素个数); 数组的引用 使用数组时,只能分别对数组的各个元素进行操作 数组的元素是由下标来区分的,使用形式:数组名[常数表达式1][……][,…..] 数组元素的下标从0开始 数组元素的下标不能超过其上、下标 一维数组的声明与引用 一维数组的声明 类型说明符 数组名[ 常量表达式 ]; 例如: int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9] 数组存储次序问题 数组存储次序问题 一维数组的存储顺序 一维数组的初始化 可以在声明数组的同时对数组元素赋以初始值 方法是在一对{ }中间键入以逗号分隔的一个或多个值来初始化数组元素 例如:int a[5]={0,1,2,3,4}; 一维数组的初始化 可以只给一部分元素赋初值(至少一个),当没有为数组中每个元素提供初始值时,C++将未初始化的元素赋值为数字0或空字符串(“”)或‘ ’例如:int a[5]={0,1,2}; 如果没有赋任何一个初值, C++不能自动地初始化元素,数组元素将包含垃圾数据 一维数组的初始化 在对全部数组元素赋初值时,可以不指定数组长度例如:int a[ ]={1,2,3,4,5} [例4-1] 一维数组的声明与使用 #include iostream using namespace std; void main( ) { int A[10],B[10]; int i; for(i=0;i10;i++) { A[i]=i*2-1; B[10-i-1]=A[i]; } for(i=0;i10;i++) { coutA[i ]=A[i]; cout B[i ]= B[i]endl; } } [例4-2] 用数组来求Fibonacci数列前20项 [例4-2] Fibonacci数列的定义是:它的第一项是1,第二项是1,从第三项开始每一项是它的前两项之和。 数据分析:用一维数组f的前20个元素分别表示Fibonacci数列的前20个数。 由Fibonacci数列的定义已知:f[0]=1、f[1]=1 F[2]?f[19]需要计算,其计算通式是f[i]=f[i-1]+f[i-2] 其中i=2,3, …,19。 #include iostream #include iomanip using namespace std; void main( ) { int i,f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i20;i++) { if(i%5==0) coutendl; coutsetw(5)f[i]; } } [例4-2] 用数组来处理求Fibonacci数列问题 [例4-3] 一维数组应用举例 问题:利用折半查找法,在按从小到大顺序排列的十个数据中查找是否有键盘输入的数值x。 折半查找法:算法说明见下页 [例4-3] 一维数组应用举例 [例4-3] 一维数组应用举例 一维数组应用举例 问题: 将若干数据按从小到大的顺序排序 方法: 不论采用何种排序方法,要排序的原始数据均用一维数组表示 选择法 冒泡法 [例4-4]选择法 选择法算法分析 先将10个数中的最小的数与第1个数对调,再将后面9个数
您可能关注的文档
最近下载
- 江苏2026届高三语文复习:写作课时作业.doc VIP
- 第3课《雕塑着色变彩身》-2025-2026学年岭南美版(2024)美术新教材八年级上册.pptx VIP
- 肾上腺囊肿的护理业务学习.pptx VIP
- 冀教版七年级上册数学精品教学课件 第五章 一元一次方程 项目学习——主题活动(一) 做个小小会计师.ppt VIP
- 临时用电及防爆-授课版.pdf VIP
- CH3.5.5.11自研软件网络安全研究报告.doc VIP
- 自动扶梯调试手册YSTS-0001-C.docx VIP
- 2022年历史学研究发展报告.docx VIP
- T_CITS 233-2025 液相色谱-质谱联用用于脂溶性维生素检测通用技术要求.pdf VIP
- 中建建筑给排水工程施工方案.pdf VIP
文档评论(0)