C语言课件第8章 数组.ppt

C语言课件第8章 数组.ppt

ID:59421148

大小:481.00 KB

页数:55页

时间:2020-09-19

C语言课件第8章 数组.ppt_第1页
C语言课件第8章 数组.ppt_第2页
C语言课件第8章 数组.ppt_第3页
C语言课件第8章 数组.ppt_第4页
C语言课件第8章 数组.ppt_第5页
资源描述:

《C语言课件第8章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章数组基本类型(整型、实型、字符型)的变量的存储特点是例如:x=4.2;y1=0;y2=-2*x;//简单变量用基本数据类型可以解决所有问题吗?每个变量单独存储各变量之间独立存放,无任何联系。引例:输入10个数,输出它们的平均值输入A当N<=10N=N+1打印AveS=0:N=1S=S+Aave=S/10main(){intn;floats=0,a,ave;for(n=1;n<=10;n++){scanf(“%d”,&a);s=s+a;}ave=s/10;printf(“Ave=%d”,ave);}如果使用:a1,a2,a3,a4,

2、a5,a6,a7,a8,a9,a10intn;floats,ave,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;scanf(“%d%d%d%d%d”,&a1,&a2,&a3,&a4,&a5);scanf(“%d%d%d%d%d”,&a6,&a7,&a8,&a9,&a10);s=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10;ave=s/10;if(a1>ave)printf(“%d”,a1);if(a2>ave)printf(“%d”,a2);if(a3>ave)printf(“%d”,a3);………..//

3、实际程序是不能这样写引例:输入10个数,输出它们的平均值及大于平均值的那些数?引例:从上面的程序可以看到程序很冗长,如果不是10个数,而是100,1000,甚至是10000,此时按上面方法编写程序就非常冗长。思考:如果能使用ai(i=1,2,…..10)的形式?使用循环来写程序C语言中表示下标变量就是通过定义数组来实现的。第8章数组本章主要内容掌握一维、二维数组的定义及赋值掌握数组元素的引用方法。什么是数组呢?第8章数组概念有序数据的集合说明数组中的每一个元素都属于同一数据类型用数组名和下标来唯一的确定数组中的元素数组元素的类型可以是基本类

4、型或导出类型8.1.1一维数组的定义1.一维数组定义的一般格式为:类型说明符数组名[常量表达式];数组名的构成方法与一般变量名相同。后用方括号可以是常量和符号常量,不能用变量例如:inta[8];它表示定义了一个整形数组,数组名为a,此数组有8个元素(a[0],a[1],a[2],a[3],…a[7]),它们的数据类型为整型,在内存中顺序存放。以下数组定义是正确的:#defineN10floatscore1[N],score2[N];intnum[10+N];charc1,c2,carr[9];charc[26];以下数组定义是不正确的:i

5、ntarray(10);intn;floatscore[n];doubleb['a'..'d'];charstr[];8.1.1一维数组的定义在内存分配若干连续空间给数组。例:inta[10];8.1.1一维数组的定义2.一维数组在内存中的存放分配内存低地址...a[0]a[1]a[2]…a[9]高地址...且每个元素只能存放整形数1.数组元素的引用形式8.1.2数组元素的引用数组名[下标]下标可以是整型常量或整型表达式例如:a[0]=a[5]+a[7]-a[2*3]说明数组同变量一样,必须先定义后引用数组元素与同类型的变量使用方法相同数组

6、下标范围为0~N-1(N为数组长度)注意防止数组下标越界注意:一个数组元素实际上是一个变量名,代表内存中的一个存储单元,一个数组占有一串连续的存储单元一个数组不能整体引用。如:intx[10];用x不能代表x[0]~x[9]这10个元素。数组名x中存放的是整个数组的首地址。inttotal,a[4];total=a[0]+a[1]+a[2]+a[3];inttotal=0,a[4];for(i=0;i<=3;i++)total=total+a[i];数组值的输入和输出intgrade[3];scanf(“%d%d%d”,&grade[0],

7、&grade[1],&grade[2]);intgrade[3];for(i=0;i<=2;i++){printf(“Enteragrade:”);scanf(“%d”,&grade[i]);}#includevoidmain(){inti,grade[10];for(i=0;i<=9;i++){printf(“Enteragrade:”);scanf(“%d”,&grade[i]);}for(i=9;i>=0;i--)printf(“%d”,grade[i]);printf(“”);}运行结果如下:987654321

8、0程序使a[0]到a[9]的值为0~9,然后按逆序输出。#includevoidmain(){inti,total,grade[10];for(i=0;i<=9

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

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

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