C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt

C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt

ID:50320312

大小:202.00 KB

页数:64页

时间:2020-03-08

C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt_第1页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt_第2页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt_第3页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt_第4页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第6章 数 组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数组一维数组的定义和引用6.1字符数组6.2多维数组6.3应用举例6.4人们把按序排列的相同类型数据元素的集合称为数组。数组类型是一种常用的构造型数据类型,它有若干分量。一般把这些分量称为数组元素。在C语言中,没有提供动态数组,即:定义一个数组之后,就确定了它所容纳的同类元素的个数(即数组大小)。这就构成了数组的两个特点:一方面,其大小必须是确定的,不允许随机变动;另一方面,其元素必须是同质的,即类型相同,不允许出现混合类型。数组中各个元素的相对位置(即下标)是确定的,通过数组名和下标可以惟一地确定数组中的元素,不会发生混乱。6.1.1一维数组的定义一般说来,数组的

2、定义语句出现在函数体的开头,它的任务是:①标识数组的名称;②确定数组的大小,即数组中元素的个数;③表明数组的基类型,即其元素的类型。6.1一维数组的定义和引用一维数组的一般定义形式为:数据类型数组名[整型常数表达式];例如:inta[10];doublevalue[5];longintarray[6*6];定义数组时应注意以下几点。①数组名是标识符,它遵循标识符的命名规则。②数组名之后是一对方括号,它是数组标志,不能用圆括号。③方括号内是整型常量表达式,即其值为正整数的表达式。它表示该数组元素的个数,即数组大小。④表示数组大小的表达式中不能包含变量。对定义好的数组,C编译

3、在内存中为它分配一片连续的空间。例如,对数组inta[10];在内存中分配10个邻接的单元,每个单元中存放一个整型量。如图6-1所示。基地址是指该数组在内存中的起始地址。图6-1一维数组的内部表示在C语言中,引用一维数组元素的一般形式是:数组名[下标]下标可以是整型常量或整型表达式。例如:a[0]=a[1]+a[2*2]−a[8%6];6.1.2一维数组元素的引用在引用数组元素时应注意以下几点。(1)在C语言中,数组元素的下标是从0开始计算,而不是从1开始。(2)数组元素是变量。一个数组元素可以像同类型的单一变量那样在表达式中执行相应的操作。例6-2设有一头母牛,它每年年

4、初生一头小母牛。每头小母牛从第四个年头开始起,每年年初也生一头小母牛。问在第20年时,共有多少头牛?分别输出从第1年至第20年每年的牛数。由题意,可得到如下的数据:年数一二三四五六…牛头数2346913设Un表示第n年(n≥4)时牛的头数,由表中数据间的关系可得出下式:Un=Un-1+Un-3(n≥4)根据这个式子,建立一个数组ncow存放各年牛的头数。程序如下:#includemain(){inti,ncow[20+1];ncow[1]=2;ncow[2]=3;ncow[3]=4;for(i=4;i<=20;++i)ncow[i]=ncow[i−1]+

5、ncow[i−3];for(i=1;i<=20;++i){printf("%12d",ncow[i]);if(i%5==0)printf("");}return(0);}(1)对数组元素提供初值的方式可以像对待同类型的简单变量那样,利用赋值语句直接赋值,或者通过调用scanf()函数,由用户输入各元素的值。(2)利用数组初始化方式可以为整个数组提供初值。一维数组初始化的一般形式是:数据类型数组名[整型常量表达式]={初始值};6.1.3一维数组的初始化其中,初值表是一些由逗号分隔开的初值符,它是表示初值的常量表达式。例如:inta[10]={0,1,2,3,4,5,6

6、,7,8,9};各个初值括在一对花括号中,从左到右依次赋给数组的各个元素。当初值符是常量表达式时,要计算该表达式的值,然后把结果赋给对应的数组元素。对一维数组初始化时应注意以下几点。①在经典C语言中规定,只有静态(static)数组和外部(extern)数组才能初始化。但在ANSIC和标准C中取消了这一限制。就是说,对自动数组也可以初始化。②外部数组和静态数组的初始化工作是在编译时进行,因此,只进行一次;而自动数组的初始化工作是在程序执行时进行,从而可进行多次。③对数组初始化时,初值符的个数不能多于数组元素的个数,但允许初值符的个数少于数组元素的个数。当初值符个数少于数组

7、元素个数时,出现在初值表中的初值就对前面的若干个数组元素依次赋值,而其余的数组元素隐含用0赋初值。若没有对静态和外部数组显式地进行初始化,则系统会对它们自动进行初始化,即所有数组元素都赋予0。例6-4用数组处理例5-12的Fibonacci数列问题。为了简化程序,这里只求前30项。利用数组fib保存该数列各个项。/*Fibonacciarray*/#includemain(){inti;longintfib[30]={1,1};for(i=2;i<30;i++)fib[i]=fib[i−1]+fib[i−2]

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

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

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