C课件 第4章数组.ppt

C课件 第4章数组.ppt

ID:49798153

大小:416.00 KB

页数:63页

时间:2020-03-02

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

《C课件 第4章数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章数组计算机学院C课组第4章数组本章主要介绍一种构造类型的数据---数组。通过本章内容的学习,要求:熟练掌握一维数组、二维数组(包括多维数组)、字符数组的定义、初始化和数组元素的引用方法;熟练掌握字符数组和字符串的定义及字符串处理函数的使用。4.1一维数组4.1.1一维数组定义一维数组定义形式为:类型说明符数组名[常量表达式]说明:(1)类型说明符可以是int、char和float等基本类型或构造类型。(2)数组名的命名规则同变量名完全相同。(3)常量表达式的值是数组的长度,即数组中所包含的元素个数。例如:intage[40];floatf[6*6];(4)相同

2、类型的数组、变量可以在一个类型说明符下一起说明,例如:floatf,a[10],b[20];(5)C语言数组元素的编号是从0开始编号的。4.1.1一维数组的存储形式C语言存储一维数组时根据数组定义的类型和长度,在内存中划分出一块连续的存储单元,依次存储数组中的元素,其首元素的地址称为数组的首地址。例如:inta[10];一维数组的引用格式为:数组名[下标表达式](1)下标表达式可是整型常量表达式或含变量的整型表达式。例如定义了一个数组:intb,c,a[5];(2)C编译系统对数组下标不作“越界”的检查。例如:inta[10],在程序中不能引用a[10],出现引用a

3、[10],编译系统并不报错。而是把a[9]的下一个单元中的内容赋给它。这样会造成意外的结果。4.1.3一维数组的引用【例4.1】读入一个一维数组,并按相反顺序输出各元素。#includemain(){inti,a[10];for(i=0;i<=9;i++)scanf("%d",&a[i]);/*逐个输入数组a的元素*/printf("");for(i=9;i>=0;i--)printf("%-2d",a[i]);/*逆序输出数组a的各元素*/}运行结果为:0123456789↙98765432104.1.4一维数组的初始化初始化就是在定义的同时

4、得到数组元素的值。其格式为:[存储类型]数据类型数组名[常量表达式]={数据1,数据2,……,数据n};说明:(1)花括号中的值是初始值,用逗号分隔开。例如:inta[10]={0,1,2,3,4,5,6,7,8,9};(2)可以只给一部分元素赋初值。例如:inta[10]={0,1,2,3,4};其中,a[0]~a[4]的值分别是0~4,而a[5]~a[9]的值是0。(3)在对全部数组元素赋初值时,可以不指定数组的长度。inta[]={0,1,2,3,4};4.1.5一维数组程序设计举例【例4.2】求10个数中最大值及其所在的位置。分析:(1)设数组含有10元素,

5、下标为0~9。(2)定义变量max存最大值,首先假设a[0]为最大值,则max=a[0]。(3)从a[1]开始逐个元素与max比较,如果a[i]>max,则max被赋予与a[i]相同的值,并用变量position记录下其最大值位置。#includemain(){inta[10];inti,max,position;for(i=0;i<10;i++)scanf("%d",&a[i]);position=0;/*设第一个元素为最大值,赋给max*/max=a[0];for(i=1;i<10;i++)if(a[i]>max)/*若找到比当前最大值max还

6、大的数*/{max=a[i];position=i;}printf("max=%dposition=%d",max,position);}521382794936010↙max=49position=6【例4.3】求fibonacci数列的前20项。分析:fibonacci数列的特点是:前两项为1,1,从第3项开始其值为前两项之和。其公式为:main(){inti,f[20]={1,1};/*给数列的第一个和第二个元素赋值*/for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];/*数组当前元素的值是其前两项的和*/for(i=0;i<20;i

7、++){if(i%5==0)printf("");/*每行输出5个元素*/printf("%12d",f[i]);}}11235813213455891442333776109871597258441816765【例4.4】使用冒泡法将10个数据从小到大排序。分析:假设数组中有10个元素,存放在a[1]~a[10]中,为便于理解,下标为0的元素也可以不用。将相邻两个数a[i]和a[i+1]比较,将大数调到后头,小数调到前头,第一轮比较下来,将最大值放入a[10]中(大数下沉,小的数上浮),剩余的从a[1]到a[9]未排序的数再两两比较,大数调到后头,第二轮比

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

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

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