c语言第五章 数组.ppt_第1页
c语言第五章 数组.ppt_第2页
c语言第五章 数组.ppt_第3页
c语言第五章 数组.ppt_第4页
c语言第五章 数组.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言编程,授课教师:王占骜,第5章,数 组,5.1 概念,数组(Array) 数组是大小固定、按一定顺序排列的相同类型多个变量的集合。 格式 数组名整型常量1整型常量2 如:score10、x520、y234,数组名后含有几个 就叫几维数组。 二维以上叫多维。 数组中的元素使用数组名后跟下标来访问,下标放在一对 中,把它叫做标号。,数组的维(Dimension),数组元素(Element),数组中的变量。 数组名下标1下标2 下标从0开始,最后一个下标比元素个数少1。 如: score0-score9 x00-x419 y000-y123,5.2 一维数组(Onedimension Array),格式 数据类型 数组名1个数,数组名2个数,; 如: int score9; char name10,adress50; float salary40;,5.2.1 定义数组,说明,(1)可以同时定义相同类型的多个数组。 (2)下标只能是整型常量表达式。 如:define MAX 1000 int aMAX float score10*2 int x=10; int scorex; (),说明,(3)数组元素的个数称作数组的大小。它在定义中一旦被制定,在程序运行时就不可以再改变。 (4)数组首元素的下标为0,最后一个元素的下标比元素个数少1。 如: int score10; 元素为:score0-score9,说明,(5)按下标递增的顺序连续存放,占连续的内存空间。 (6)数组名是地址常量,是第一个元素的首字节地址。 如: int a5; a &a0,5.2.2 访问数组元素,格式: 数组名表达式 如: int a10; int i=1, j=2, k; a0 ai ai+j a2*i+1 ak=0,说明,(1)访问元素时可用表达式做下标,表达式可以是任意整型表达式。 (2)数组元素就是变量。可以存储值,也有地址。 (3)a与&a0含义相同,都代表数组的开始地址。,5.2.3 存储数据,1. 数组初始化 定义同时为元素赋初始值。 格式: 类型 数组名N=值列表; 如:int a5=1,2,3,4,5;,说明,(1)值的个数多于元素个数编译错误,若值不够,多余元素赋0。 (2)下标可以省略 。 (3)若不对数组赋值,元素的值将是不确定的。,例:以下能正确定义一维数组的选项是( )。2005.4,A. int a5=0,1,2,3,4,5; B. char a =0,1,2,3,4,5; C. char a=A,B, C; D. int a5=“0123“; 答案:B,2. 输入数据,一维数组数据的输入通常使用单重for循环。 如: int a5; int i; for(i=0; i5; i+) scanf(“%d”, ,3. 输出数据,一维数组数据的输出通常也使用单重for循环。 如: int a5=1, 2, 5, 7, 9; int i; for(i=0; i5; i+) printf(“%d”, ai); ,4. 单个元素操作,单个数组元素就像普通变量一样来处理。 如: int a5; a0=1; a1=2; a2=4; a3=1; a4=6;,说明,数组之间不可以整体赋值,只能通过单个元素赋值。 如: int a5=1, 2, 5, 7, 9; int b5; 错误方法:b=a; 正确方法: for(i=0; i5; i+) bi= ai;,4. 交换数据,两个元素相互交换,应利用一个中间变量。 如: int a5=3, 7, 12, 24, 45; int temp; temp=a1; a1= a3; a3=temp;,5. 3 顺序查找(Sequential Search),查找指定值是否存在 思想: 从头开始逐一查找表中元素,直到找到目标或目标不存在为止。若找到就跳出,若一直扫描到表尾,则说明待查数据不存在。,5.4 冒泡排序(Bubble Sort),思想:将相邻两个数比较,将大的调到后头。 对数组 a N,从小到大排序 for (i=0 ; i aj+1) t=aj ; aj=aj+1 ; aj+1=t;,5.5 二维数组,含两个下标的数组,代表行(row)和列(column)。,说明,(1)第一个下标为行标,第二个为列标。都从0开始,数组中元素的个数是:行数列数。 如:table54 (2)按先行后列,下标递增连续存放。,说明,(3)可以等效为含行数个元素的一维数组的集合,每个元素代表一行。 (4)二维数组的名字也是地址常量,代表数组在内存中存储的开始地址。 table、table0、&table00三者等价。,table54,5.5.1 定义数组,格式 类型 数组名下标1下标2; 如:int table54;,5.5.2 访问数组元素,与访问一维数组中元素的方法类似。 如:int a54; int i=1, j=2; 则:a00、ai0、aij 都是正确的访问方式。,5.5.3 用数组存数据,和使用一维数组一样,二维数组也可以使用三种方式来存储数据: 1. 对数组初始化 2. 从键盘输入数据 3. 对元素个别赋值,1. 初始化,格式 类型 数组名下标1下标2=值列表; 如:int a23=1,2,3,4,5,6;,说明,(1)值的个数多于元素个数编译错误,若值不够,多余元素赋0。 (2)若定义时初始化,行标可以省略,列数不能省。 如:int table 3=1,2,3,4,5,6;,说明,(3)可以按行赋值。 如:int a23=1,2,3,4,5,6; (4)可以为个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论