C语言复合数据类型-数组ppt课件.ppt

C语言复合数据类型-数组ppt课件.ppt

ID:58886261

大小:1.28 MB

页数:56页

时间:2020-09-30

C语言复合数据类型-数组ppt课件.ppt_第1页
C语言复合数据类型-数组ppt课件.ppt_第2页
C语言复合数据类型-数组ppt课件.ppt_第3页
C语言复合数据类型-数组ppt课件.ppt_第4页
C语言复合数据类型-数组ppt课件.ppt_第5页
资源描述:

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

1、第6章复合数据类型(1)-数组教学要求:1、掌握一维数组和二维数组的定义及使用2、掌握C语言数组在内存中的存储形式3、掌握使用字符数组及指针处理字符串数据的方法4、掌握与数组有关的基本算法(如排序、查找、插入、删除等)的程序设计重点:一维数组、二维数组的定义与使用方法,使用指针访问数组和字符串的方法。难点:数组有关的常用算法(排序、查找与插入等)。二、一维数组三、二维数组及多维数组四、字符数组和字符串一、数组概念输入10个数,输出它们的平均值及大于平均值的那些数?引例:输入A当N<=10N=N+1打印AveS=0:N=1S=S+AAve=S/10main(){intn;floats=0,

2、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,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

3、)printf(“%d”,a1);if(a2>ave)printf(“%d”,a2);if(a3>ave)printf(“%d”,a3);………..‘实际程序是不能这样写引例:读者从上面的程序可以看到程序很冗长,如果不是10个数,而是100,1000,甚至是10000,此时按上面方法编写程序就非常冗长。思考:如果能使用ai(i=1,2,…..10)的形式?使用循环来写程序C语言中表示下标变量就是通过定义数组来实现的。下面是使用数组来实现的程序:引例:#includemain(){intn,i;/*定义变量s,ave和有10个元素的一维数组a*/floats=0,ave,

4、a[10];for(i=0;i<10;i++){scanf("%f",&a[i]);s=s+a[i];}ave=s/10;for(i=0;i<10;i++)if(a[i]>ave)printf("%f",a[i]);}一、数组概念构造数据类型之一数组:有序数据的集合,用数组名标识元素:属同一数据类型,用数组名和下标确定一维数组的定义定义方式:数据类型数组名[常量表达式];合法标识符表示元素个数下标从0开始[]:数组运算符单目运算符优先级(1)左结合不能用()例inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存字节数=数组维数*sizeof

5、(元素数据类型)数组名表示内存首地址,是地址常量二、一维数组数组必须先定义,后使用只能逐个引用数组元素,不能一次引用整个数组数组元素表示形式:数组名[下标]其中:下标可以是常量或整型表达式例inti=15;intdata[i];(不能用变量定义数组维数)例inta[10];printf(“%d”,a);()必须for(j=0;j<10;j++)printf(“%dt”,a[j]);()例intdata[5];data[5]=10;//C语言对数组不作越界检查,使用时要注意2.1一维数组的引用初始化方式在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)inta[5]={1,2

6、,3,4,5};等价于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;说明:数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值当全部数组元素赋初值时,可不指定数组长度如inta[5]={6,2,3};等价于:a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;如inta[3]={6,2,3,5,1};()staticinta[5];等价于:a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;只给部分数组元素赋初值inta[]={1,2,3,4,5,6};编译系统根据初值个数确定数组维数2.2一维数

7、组的初始化【例1】用数组计算Fibonacci数列的前20项。【例2】一维数组的倒置。【例3】求若干个数(不多于10个)的最大、最小元素及其下标。【例4】编程求某班20个学生某门课程考试的平均成绩及高于平均成绩的学生人数。【例5】【例4】统计0~9,10~19,20~29,….80~89,90~99分数段及100分的学生人。【例6】排序问题(选择排序法)【例7】排序问题(冒泡排序法)【例8】查找问题––––顺序查找【例9】查找问题–

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

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

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