C语言开发基础教程第4章-数组-教学PPT课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言开发基础教程第4章-数组-教学PPT课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 开发 基础教程 数组 教学 PPT 课件
- 资源描述:
-
1、第第4章章 数组数组 一维数组 二维数组4.1 数组数组是一组具有相同数据类型的变量集合。数组中的每一项称为数组的元素,每个元素都有对应的下标(n),用于表示元素在数组中的位置序号,下标从0开始。4.1 数组100206733988296680 0 1 2 3 4 5 6 7 8 9 上面数组中包含10个元素,这些元素按照下标的顺序进行排列。由于数组元素的下标从0开始,数组中的第n个元素为arrn-1。10个int类型的数据的集合,可以定义一个数组arr进行存储。4.1 数组根据数据的复杂度,数组下标的个数是不确定的。数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组
2、、三维数组、四维数组等。通常情况下,我们将三维及以上的数组称为多维数组。注 意4.1 数组数组在内存中存储时,占用的是一段连续的内存。4.2.1 一维数组的定义与初始化4.2.1 一维数组的定义与初始化一维数组的定义方式如下:类型说明符 数组名常量表达式;类型说明符表示数组中所有元素的类型,常量表达式指的是数组的长度,也就是数组中存放元素的个数。例如:定义一个可存储5个int类型元素的数组,int array5;/数组array,存储int类型数据,大小为54.2.1 一维数组的定义与初始化数组初始化的常见的方式有3种:1、直接对数组中的所有元素赋值。int i5=1,2,3,4,5;2、只对
3、数组中的一部分元素赋值。int i5=1,2,3;3、对数组全部元素赋值,但不指定长度。int i=1,2,3,4;数组初始化4.2.1 一维数组的定义与初始化(1)数组的下标是用方括号括起来的,而不是圆括号;(2)数组同变量的命名规则相同;(3)数组定义中,常量表达式的值可以是符号常量。注 意4.2.2 一维数组的访问1、读取指定元素一维数组的元素访问方式如下:数组名下标;下标指的是数组元素的位置,数组元素的下标是从0开始的。4.2.2 一维数组的访问2、遍历一维数组遍历数组使用循环语句实现,以数组的下标作为循环条件,只要数组下标有效就可以获取数组元素。for(i=0;i 10;i+)pri
4、ntf(x%d:%dn,i,xi);int i=0;while(i 10)printf(x%d:%dn,i,xi);i+;小提示:数组越界数组的下标都有一个范围,即“0数组长度-1”,假设数组的长度为6,其下标范围为05。当访问数组中的元素时,下标不能超出这个范围,否则程序会报错。4.2.3 数组元素排序1、冒泡排序在冒泡排序的过程中,不断地比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升的原理相似。4.2.3 数组元素排序第1步:从第1个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前1个元素比后1个元素大,则交换它们的位置。整个过程完成后
5、,数组中最后1个元素自然就是最大值,这样也就完成了第1轮的比较。4.2.3 数组元素排序第2步:除了最后1个元素,将剩余的元素继续进行两两比较,过程与第1步相似,这样就可以将数组中第二大的数放在倒数第2个位置。第3步:依次类推,对剩余元素重复以上步骤,直到没有任何一对元素需要比较为止。4.2.3 数组元素排序冒泡排序流程图:4.2.3 数组元素排序使用冒泡排序对数组9,8,3,5,2排序。4.2.3 数组元素排序for(i=0;i 5-1;i+)/外层循环控制比较的轮数 for(j=0;j arrj+1)/如果前面的元素大于后面的元素temp=arrj;/就交换两个元素的位置arrj=arrj
6、+1;arrj+1=temp;4.2.3 数组元素排序2、选择排序选择排序的原理与冒泡排序不同,它是指通过每一趟排序过程中从待排序记录中选择出最大(小)的元素,将其依次放在数组的最前或最后端,来实现数组的排序。接下来,分步骤讲解冒泡排序的整个过程。4.2.3 数组元素排序第1步:在数组中选择出最小的元素,将它与0下标元素交换,即放在开头第1位。第2步:除0下标元素外,在剩下的待排序元素中选择出最小的元素,将它与1下标元素交换,即放在第2位。第3步:以此类推,直到完成最后两个元素的排序交换,就完成了升序排列。4.2.3 数组元素排序选择排序流程图:4.2.3 数组元素排序使用选择排序对数组9,8
7、,3,5,2进行排序。4.2.3 数组元素排序第1轮:循环找出最小值2,将它与第一个元素9进行交换。第2轮:循环找出剩下的4个元素中最小值3,将它与第二个元素8交换。第3轮:循环找出剩下的3个元素中最小值5,将它与第三个元素8交换。第4轮:对最后两个元素进行比较,比较后发现不需要交换,则排序完成。4.2.3 数组元素排序for(i=0;i 5-1;i+)/外层循环控制比较的轮数 min=i;/暂定i下标处的元素是最小的,用min记录其下标for(j=i+1;j 5;j+)/内层循环在剩下的元素中找出最小的元素if(xj xmin)min=j;if(min!=i)/交换两个元素的位置temp=x
8、i;xi=xmin;xmin=temp;4.3 阶段安全双色球一、案例描述彩票是以抽签给奖方式进行筹款或敛财所发行的凭证,双色球是中国福利彩票目前最火的一种玩法。每天都有上亿的彩民关注着双色球的开奖结果。4.3 阶段安全双色球一、案例描述双色球投注区分为红色球号码区和蓝色球号码区,每注投注号码由6个红色球和1个蓝色球号码组成。红色球号码从133中选择,蓝色球号码从116中选择。每期开出的红色球号码不能重复,但是蓝色球可以是红色球中的一个。4.3 阶段安全双色球一、案例描述案例要求编写程序模拟双色球的开奖过程,由程序随机产生6个红色球号码和1个蓝色球号码并把结果输出到屏幕上。4.3 阶段安全双色
展开阅读全文