第6章数组讲义.pptVIP

  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文档。上传文档
查看更多
第6章 数 组 本章教学目标: ? 掌握一维数组的定义、初始化和使用方法; ? 掌握二维数组的定义、初始化和使用方法; ? 理解字符数组与字符串的区别,掌握它们的使用方法; ? 掌握数组的综合应用——文本编辑器的设计。 。 第6章 数 组 6.1 一维数组 6.2 二维数组 6.3 字符数组与字符串 6.4 数组的综合应用:文本编辑器 6.1 一维数组 6.1.1 一维数组的定义 数组必须先定义,后使用。 一维数组定义的一般形式为: 类型标识符 数组名[常量表达式]; 其中常量表达式说明数组的大小,即数组中元素个数。 例如: int a[10]; /*定义有10个元素的整型数组,数组名为a*/ char buffer[30]; /*定义30个元素char类型的数组buffer*/ float base[80]; /*定义80个元素的float类型的数组base*/ 定义数组时应注意如下几点: (1)类型标识符说明了数组的类型(即数组中每个元素的类型)。 (2)常量表达式表示数组的元素的个数,即数组的长度,不允许作动态定义。 (3) 相同类型的数组和变量可以在一个类型说明符下一起说明,用逗号隔开。如: int a[10], b[20],x,y; (4) 下标可以是整常数或整型表达式,其取值范围从0开始,到元素个数-1为止,对于上述定义,数组a的10个元素应是:a[0],a[1],…,a[9]。注意:最后一个元素是a[9],不是a[10],该数组不存在数组元素a[10]。 6.1.2 一维数组元素的引用 1. 数组元素的引用 定义了数组后,就可以引用数组中的任意一个元素,引用形式如下: 数组名[下标表达式] 其中“下标”表示数组中的某一个元素的顺序号,必须是整型常量、整型变量或整型表达式。例如,对上面说明的数组a而言,以下都是对数组元素的正确引用: a[2] =5; /* 把5赋给数组a的第3个元素*/ a[i] =6; /* 把6赋给数组a的第i+1个元素,这里0=i=9*/ printf(“%d”,a[9]); /*打印数组a的第10个元素的值*/ scanf(“%d”,a[3]); /*将键盘输入的数据存储在元素a[3]中*/ 6.1.3 一维数组的初始化 一维数组初始化的一般格式为: 类型说明符 数组名[常量表达式]={初值表}; 对数组元素初始化,有以下几种形式: (1) 对数组的全部元素初始化,如: int a1[6]={0,1,2,3,4,5}; 从左到右将花括号中的每个数与数组的每个元素相匹配,则编译后,a[0] = 0、a[1]=1、a[2]=2、a[3]=3、a[4]=4、a[5]=5。 (2) 对数组的部分元素初始化,如: int a2[6]= {0,1,2,3}; 这样只对前4个元素显式赋值,后2个元素值自动设为0。 (3) 对数组全部元素赋初值时,可不指定数组长度。如: int a3[ ]= {0,1,2,3,4}; 等价于 int a3[5]= {0,1,2,3,4}; 6.1.4 一维数组应用举例 【例6.3】输入某班N名学生某科考试成绩,再按低分到高分排序输出。 算法设计要点: (1)定义N个元素的一维数组,存储N名学生的考试成绩 (2)对数组进行排序 (3)将排序好的数组打印输出 冒泡排序算法是: 从最后一个元素开始,两相邻元素进行比较和交换,使较小的元素逐渐从底部移向顶部,较大的元素逐渐从顶部移向底部,直到把最小元素交换到最顶部,就象水底的汽泡一样逐渐往上冒,这叫一轮冒泡。再对剩下的元素重复上面的过程,直至将所有元素排好序为止。 冒泡排序过程描述 (1) 首先将相邻的a[5]与a[4] 进行比较,如果的a[5]值小于a[4]的值,则交换,使较小的上浮,较大的下沉;接着比较a[4]与a[3],同样使较小的上浮,较大的下沉。以此类推,直到比较完a[1]和a[0],a[0]为具有最小的排序码的元素,称第一趟排序结束。如图6-2所示,由下循环语句实现。 for (i=5;i=1;i--) if (a[i] a[i-1]){ t = a[i];a[i]=a[i-1];a[i-1]=t;} (2) 然后在a[5] ~a[1]区间内,进行第二趟排序,使剩余元素中序码最小的元素上浮到a[1];重复进行5趟后,整

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档