程序设计基础C语言第8章 数组ppt课件.ppt

程序设计基础C语言第8章 数组ppt课件.ppt

ID:58717920

大小:2.28 MB

页数:63页

时间:2020-10-04

程序设计基础C语言第8章 数组ppt课件.ppt_第1页
程序设计基础C语言第8章 数组ppt课件.ppt_第2页
程序设计基础C语言第8章 数组ppt课件.ppt_第3页
程序设计基础C语言第8章 数组ppt课件.ppt_第4页
程序设计基础C语言第8章 数组ppt课件.ppt_第5页
资源描述:

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

1、第8章数组内容提要对数组名特殊含义的理解数组类型,数组的定义和初始化向函数传递一维数组和二维数组排序、查找、求最大最小值等常用算法方法数据类型构造类型指针类型空类型(无值类型)void枚举类型enum数组类型结构类型struct联合类型union基本类型整型int字符型char实型(浮点型)单精度实型float双精度实型doubleC语言数据类型基本数据类型按某种结构组合、构造而成的数据类型为什么使用数组(Array)?【例8.1】要读入10人的成绩,然后求平均成绩需定义10个不同名整型变

2、量,需要使用多个scanf()intscore1,score2,…score10;scanf("%d",&score1);scanf("%d",&score2);......利用循环语句读取intscore,i,sum=0;for(i=0;i<10;i++){scanf("%d",&score);sum=sum+score;}保存大量同类型的相关数据数据无法保存语句太复杂,不具有算法的思想C语言为这些数据,提供了一种构造数据类型:数组。所谓数组就是一组具有相同数据类型的数据的有序集合。一个班学生的

3、学习成绩一行文字一个矩阵这些数据的特点是:1.具有相同的数据类型2.使用过程中需要保留原始数据3.数据之间具有相互关系intscore[10],i;for(i=0;i<10;i++){scanf("%d",&score[i]);}8.1一维数组的定义和初始化一维数组的定义存储类型数据类型数组名[元素个数];a[9]a[8]a[7]a[1]a[0]…数组首地址inta[10];定义一个有10个int型元素的数组系统在内存分配连续的10个int空间给此数组直接对a的访问,就是访问此数组的首地址基类型下

4、标从0开始8.1一维数组的定义和初始化a[9]a[8]a[7]a[1]a[0]…inta[10];数组大小必须是值为正的常量,不能为变量一旦定义,不能改变大小数组大小最好用宏来定义,以适应未来可能的变化#defineSIZE10inta[SIZE];一维数组的定义存储类型数据类型数组名[元素个数];inta[3];表示:a为一维数组名;a的长度为3,即含3个元素;元素为a[0]、a[1]、a[2];元素类型均为整型;例如:floatb[N];表示:数组名为bb数组的长度为N元素为b[0]、b[1]

5、、b[2]、…、b[N-1]各元素的类型为单精度型下标:0~2每个元素都是变量N必须是常量,绝不能是变量。8.1一维数组的定义和初始化数组定义后的初值仍然是随机数一般需要我们来初始化inta[5]={12,34,56,78,9};inta[5]={0};inta[]={11,22,33,44,55};8.1一维数组的定义和初始化数组的引用数组名[下标]数组下标(index)都是从0开始使用a[0]、a[1]、a[2]、……、a[9]这样的形式访问每个元素下标既可是常量,也可是整型表达式,允许快速随

6、机访问,如a[i]可以像使用普通变量一样使用它们注意:引用时,下标可以是整型常量表达式或整型变量表达式,但其值必须确定。如:b[0],b[5],b[2*3],b[i*j](i、j为整型变量);下标的使用从0开始到长度-1为止;利用循环,可以对整个数组的全体元素逐个进行访问;一维数组元素引用的程序实例#includevoidmain(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf("%d",a[i]);pri

7、ntf("");}运行结果如下:9876543210程序使a[0]到a[9]的值为0~9,然后按逆序输出。如何使两个数组的值相等?main(){inta[4]={1,2,3,4},b[4];b=a;}解决方法方法1:逐个元素赋值b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];方法2:通过循环赋值inti;for(i=0;i<4;i++){b[i]=a[i];}原因:数组名表示数组的首地址,其值不可改变!8.1一维数组的定义和初始化【例8.2】编程实现显示用户输入

8、的月份(不包括闰年的月份)拥有的天数8.1一维数组的定义和初始化下标越界是大忌!编译程序不检查是否越界下标越界,将访问数组以外的空间那里的数据是未知的,不受我们掌控,可能带来严重后果b[0]b[1]b[2]b[3]b[4]b[5]b[6]b[7]b[8]b[9]ca【例8.3】当下标值小于0或超过数组长度时 会出现什么情况?12345612078910114044484c5054585c6064686c#includevoidmain(){inta=1,c=2,b

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

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

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