c语言数组学习

c语言数组学习

ID:20701124

大小:473.09 KB

页数:57页

时间:2018-10-15

c语言数组学习_第1页
c语言数组学习_第2页
c语言数组学习_第3页
c语言数组学习_第4页
c语言数组学习_第5页
资源描述:

《c语言数组学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组数组是构造类型的数据结构,是前面学习的同一类型变量的组合。数组中的每一个元素就是一个变量,因此前面所学习的对变量的操作完全适用于数组元素。这些变量的特点是存放的位置是有规律的,因此要充分利用这个规律。为什么需要数组?当需要将一组相同性质的数据存放起来的时候,可以使用数组何谓“需要”?例如:求一组数的平均值(不需要)求一组数中每个数与平均值的差(需要)对一组数排序(需要)数组的概念数组是共享一个名字的一组具有相同类型的连续存放的变量的集合。我们称这些变量为“数组元素”,可看做“下标变量”,因为知道下标,就是找到了变量。数组的

2、特点:所有的数组元素具有统一的数据类型。数组名是数组的首地址,每个元素是连续存放的。数组元素由数组名和下标唯一地确定。数组的定义数组是构造类型一维数组inta[10];二维数组intb[2][3];数组的定义整型数组inta[5];实型数组floatx[5];字符型数组chars[20];一维数组一维数组是基础学习都是围绕着下标的操作进行的一维数组的定义一维数组的定义类型说明符数组名[常量表达式]特别说明:常量表达式指明数组的长度,必须事先指定,不能为变量表达式。例如:存放10个学生的成绩intscore[10];存放n个数,

3、n不多于10inta[10];scanf("%d",&n);inta[n];scanf(“%d”,&n);一维数组的引用一维数组的引用数组名[下标]特别说明:必须先定义,才能使用数组元素。数组元素要一个一个地引用。(除字符串)下标必须为整数,可以是常量,也可以是变量。下标不许超出数组的长度!!数组定义后,数组名代表数组的首地址,其中的元素按照下标依次存放。一维数组的引用数组定义后,数组名代表数组的首地址,其中的元素按照下标依次存放。且下标从0开始!例如:inta[5];对于某一个元素a[i]来说它的下一个元素是:a[i+1]它

4、的上一个元素是:a[i–1]依次引用所有的元素for(i=0;i<5;i++)...a[i]...a[0]a[1]a[2]a[3]a[4]数组元素的下标不能越界!!例如,对于inta[10],i;输入模块:printf("Inputarray:“);for(i=0;i<10;i++)scanf("%d“,&a[i]);顺序输出模块:printf("Outputarray:“);for(i=0;i<10;i++)printf("%5d“,a[i]);思考:如何逆序输出?一维数组的引用一维数组的初始化⑴各初始化值放在一对大

5、括号里面,之间用逗号隔开。如:inta[5]={0,1,2,3,4,5};⑵当初始化值中包含的数值超过了数组长度,给出错误信息。如:inta[3]={0,1,2,3,4};是错误的。⑶ 可以只对部分元素初始化。如:inta[5]={0};/*其余元素的值自动为0*/⑷对全部数组元素赋初值时,可不指定数组长度。如:inta[]={0,1,2,3,4};一维数组编程方法充分利用数组的特点:因为数据是顺序存放的,只要知道了下标,就找到了对应的元素,因此每一个元素可看作“下标变量”。对数组下标(即序号)的处理,是学习数组的重点。用数组

6、编程时,往往需要用到for循环,使下标依次变化,一一访问数组元素,达到求解的目的。一维数组编程举例如:inta[10],i;输入模块:printf("Inputarray:“);for(i=0;i<10;i++)scanf("%d“,&a[i]);输出模块:printf("Outputarray:“);for(i=0;i<10;i++)printf("%5d“,a[i]);逆序输出:pirntf("Outputreversionarray:");for(i=9;i>=1;i--)printf("%5d",a[i])

7、;一维数组编程举例用数组求Fibonacci前20个数列。(sz_1End.c)(sz_2End.c)写算法:赋初值:Fibonassi数列前两个数为1求其他的数输出数组一维数组编程举例将数组元素逆序存放并输出。(sz_3End.c)写算法将元素首尾交换(a[i]与a[n-1-i]交换)输出结果一维数组编程举例用“折半查找法”在有序数组中找某数。可能找得到,也可能找不到。(sz_4End.c)思路:与中间的数比较,决定是向上找还是向下找。向上找就修改下限,向下找就修改上限。算法上下限赋初值:low=0;high=n-1;whi

8、le(lowa[mid])向下找elsebreak;(找到了,mid就是对应的位置)}输出信息实验书:p18(1)已知一個已排好序的陣列,今輸入一個數

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。