C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt

C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt

ID:50320321

大小:140.00 KB

页数:54页

时间:2020-03-08

C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt_第1页
C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt_第2页
C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt_第3页
C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt_第4页
C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 孟庆昌 第05章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、.2字符数组5.3多维数组5.4应用举例5.1一维数组的定义和引用5.1.1一维数组的定义在使用一个数组之前,必须对它加以定义。它的任务是:①标识数组的名称;②确定数组的大小,即数组中元素的个数;③表明数组的基类型,即其元素的类型。一维数组的一般定义形式为:数据类型数组名[整型常数表达式];例如:inta[10];doublevalue[5];longintarray[6*6];定义数组时应注意:①数组名是标识符,它遵循标识符的命名规则。②数组名之后是一对方括号,它是数组标志,不能用圆括号。方括号内是整型常量表达式

3、。③整型常量表达式是一种其值为正整数的表达式,它表示该数组元素的个数,即数组大小。④表示数组大小的整型常量表达式中不能包含变量。例如,不能利用scanf()函数接收用户输入的数值来随意指定数组的大小。intn,err[n];scanf("%d",&n);┇这是不行的。对定义好的数组,C编译在内存中为它分配一片连续的空间。基地址是指该数组在内存中的起始地址。5.1.2一维数组元素的引用在C语言中,引用一维数组元素的一般形式是:数组名[下标]下标可以是整型常量或整型表达式。例如:a[0]=a[1]+a[2*2]-a[8

4、%6];在引用数组元素时应注意:①在C语言中,数组元素的下标是从0开始计算,而不是从1开始。②数组元素是变量。一个数组元素可以像同类型的单一变量那样在表达式中执行相应的操作。例5-2:设有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问在第20年时,共有多少头牛?分别输出从第1年至第20年每年的牛数。由题意,可得到如下的数据:设Un表示第n年(n≥4)时牛的头数,由表中数据间的关系可得出下式:Un=Un-+Un-3(n≥4)根据这个式子,建立一个数组ncow存放各年牛的头数。

5、程序如下:#includevoidmain(){inti,ncow[20+1];ncow[1]=2;ncow[2]=3;ncow[3]=4;for(i=4;i<=20;++i)ncow[i]=ncow[i-1]+ncow[i-3];for(i=1;I<=20;++i){printf("%12d",ncow[i]);if(i%5==0)printf("");}}5.1.3一维数组的初始化对数组提供初值的方式有两种:分别为各个元素提供初值和对整个数组初始化。①对数组元素提供初值的方式可以像对待同类

6、型的简单变量那样,利用赋值语句直接赋值,或者通过调用scanf()函数,由用户输入各元素的值。例如,inta[5];a[0]=10;a[1]=5;inti,a[10];for(i=0;i<10;i++)a[i]=0;②利用数组初始化方式可以为整个数组提供初值。一维数组初始化的一般形式是:数据类型数组名[整型常量表达式]={初始值};初值表是一些由逗号分隔开的初值符,它是表示初值的常量表达式。inta[10]={0,1,2,3,4,5,6,7,8,9};各个初值括在一对花括号中,从左到右依次赋给数组的各个元素。例5-

7、3:求下列数的总和及平均值:95,86,90,92,89,75,88,96,91,93。#includevoidmain(){staticintarray[10]={95,86,90,92,89,75,88,96,91,93};inti,sum;i=0;sum=0;while(i<10)sum+=array[i++];printf("Thesum=%d",sum);printf("Theaverage=%.1f",(double)sum/10);}对一维数组初始化时应注意以下几点:①在经典

8、C语言中规定,只有静态(static)数组和外部(extern)数组才能初始化。但在ANSIC和标准C中取消了这一限制。就是说,对自动数组也可以初始化。②外部数组和静态数组的初始化工作是在编译时进行,因此,只进行一次;而自动数组的初始化工作是在程序执行时进行,从而可进行多次。③对数组初始化时,初值符的个数不能多于数组元素的个数,但允许初值符的个数少于数组元素

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

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

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