- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计基础 第五章 数组 主要内容 5.1 一维数组 请先思考一个问题: 在一个扑克牌游戏中,如何表示玩家手里有哪些牌呢? 5.1 一维数组 数组是一种构造数据类型,指由一组类型相同的变量构成的有序集合。 数组中的每一个变量被称为数组的元素,数组的各元素在内存中是顺序存储的。它们拥有共同的数组名,通过数组名和下标来访问。 5.1.1 一维数组的定义和初始化 一维数组的定义形式为: 数组类型名 数组名[ 常量表达式 ]; 如:int a[10]; 5.1.1 一维数组的定义和初始化 使用数组时,需注意几点: 5.1.1 一维数组的定义和初始化 一维数组的初始化形式一般为: 类型 数组名[宽度] = { 初值列表 }; 如:int a[10]={10,9,8,7,6,5,4,3,2,1}; 5.1.1 一维数组的定义和初始化 一维数组的初始化形式一般为: 类型 数组名[宽度] = { 初值列表 }; 如:int a[10]={10,9,8,7,6,5,4,3,2,1}; 5.1.1 一维数组的定义和初始化 一维数组的初始化形式一般为: 类型 数组名[宽度] = { 初值列表 }; 如:int a[10]={10,9,8,7,6,5,4,3,2,1}; 5.1.2 一维数组的引用 一维数组数组元素的引用 : 数组名[下标表达式] 如a[0]、a[i]、a[2*i-1] 注意: 只能逐个引用数组元素而不能一次引用整个数组 数组元素的下标不做越界检查 5.1.2 一维数组的引用 例:从最后一个元素开始,向前输出数组a中的所有元素。 #includestdio.h void main() {int i,a[10]={1,2,3,4,5,6,7,8,9,10}; for(i=9;i=0;i--) printf(“%d\n”,a[i]); } 5.1.2 一维数组的引用 一维数组数组地址的引用 : 数组名[下标表达式] 或 数组名 ± 整数 如a[0]、a[i]、a[2*i-1] 或 a、a+i、a+2*i-1 C语言中用数组名表示数组的首地址,即第1个元素的地址。比如 a,实际上就是a[0]。 地址加减整数,就是求当前元素后面或前面第几个元素的地址。 5.1.2 一维数组的引用 例:从键盘接收数据,放入数组a中。 #includestdio.h void main() {int i,a[10]; for(i=0;i10;i++) scanf(“%d”,a[i]); } 5.1.2 一维数组的引用 例:顺序输入10个数,再把它们倒序输出。 #includestdio.h void main() {int i,a[10]; printf(“请输入10个整数:”); for(i=0;i10;i++) scanf(“%d”,a+i); for(i=9;i=0;i--) printf(“%d\n”,a[i]); } 5.1.2 一维数组的引用 例5-2:用数组来存储并输出Fibonacci数列的前20项 。 #includestdio.h void main() {int i,f[20]={0,1}; for(i=2;i20;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i20;i++) printf(“%d\n”,f[i]); } 5.1.2 一维数组的引用 例5-4:用选择法对数组中的数进行排序。(按由小到大升序) 思路: 从所有的数中找出最小的,将其放在最前面; 接着在余下的数中找出最小的,将其放在第二位,依次类推,数列从前往后逐渐有序。 5.1.2 一维数组的引用 例5-4:用选择法对数组中的数进行排序。(按由小到大升序) 5.1.2 一维数组的引用 5.1.2 一维数组的引用 5.1.2 一维数组的引用 例5-5 用冒泡法对数组中的数进行排序。(按由小到大升序) 思路: 从一个数列的首部到尾部(也可以从尾部到首部),依次比较相邻的两个数据,将较小的放在前面。 5.1.2 一维数组的引用 例5-5 用冒泡法对数组中的数进行排序。(按由小到大升序) 5.1.2 一维数组的引用 例5-5 用冒泡法对数组中的数进行排序。(按由小到大升序) 5.1.2 一维数组的引用 5.1.2 一维数组的引用 5.2 二维数组与多维数组 实际问题中有很多量是二维的或多维的,比如GPS(全球定位系统)所定位的位置数据(经度、纬度。 为了表示和存储多维的数据,C语言支持多维数组,维数的限制(如果有的话)是由具体编译程序决定的。 在程序中比较常用的多维数组有二维数组与三维数组。 5.2.1 二维数组的定义和初始化 二维数组的定义形式为
您可能关注的文档
- 第4章_简单程序第4章_简程序单程序.ppt
- 第4章_管理学前沿理论第4_管理学前沿理论第4章_管理学前沿理论第4章_管理学前沿理论.ppt
- 第4章_希尔伯特空间第4章希尔伯特空间第4章_希尔伯特空间第4章_希尔伯特空间.ppt
- 第4章 直流电源g第4章 流电源g第4章 直流电源g第4章 直流电源g.ppt
- 第4章:目录和文件管理第4:目录和文件管理第4章:目录和文件管理第4章:目录和文件管理.ppt
- 第4章:dna损伤反应第4:dna损伤反应第4章:dna损伤反应第4章:dna损伤反应.ppt
- 第4章_审计数据分析第4章审计数据分析第4章_审计数据分析第4章_审计数据分析.ppt
- 第4章+消费者行为..第4+消费者行为..第4章+消费者行为..第4章+消费者行为...ppt
- 第4章excel2003第轮知识点梳理第4章excel2003第一轮知识点梳理第4章excel2003第一轮知识点梳理第4章excel2003第一轮知识点梳理.ppt
- 第4章 地质年代第4章 地质年代第4章 地质年代第4章 地质年代.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)