c_语言_第6章数组.ppt

c_语言_第6章数组.ppt

ID:49477969

大小:907.50 KB

页数:46页

时间:2020-02-25

c_语言_第6章数组.ppt_第1页
c_语言_第6章数组.ppt_第2页
c_语言_第6章数组.ppt_第3页
c_语言_第6章数组.ppt_第4页
c_语言_第6章数组.ppt_第5页
资源描述:

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

1、第6章数组程序设计语言回顾基本数据类型:int,float/double,char,void数据的处理:根据问题需求,先作几个简单变量的定义,然后对这些变量赋值并作相应的运算即得结果例如:输入10个数,求其平均值#includeintmain(){inti;floatnum,sum=0;printf("input10numbers:");for(i=1;i<=10;i++){scanf("%f",&num);sum+=num;}printf("average=%.2f",sum/10.);return0;}各变量独立存储,之间没有

2、任何关系不需要保留变量的值2问题的提出一个人n门课的成绩怎样存储和处理?一个班n门课的成绩怎样存储和处理?如何从键盘输入100个数然后按相反顺序输出?输入10个数,将高于平均值的数输出?......问题:这些数据的特点:1.具有相同的数据类型2.使用过程中需要保留原始数据为了方便的使用这些数据,C语言提供了一种构造数据类型:数组。3本章主要内容C语言中数组的概念一维数组二维数组用数组实现常用的算法4C语言中的数组score859377883210score[4]数组名下标标明了元素在数组中的位置,从0开始数组元素下标数组大小数组是一组相同类型的数据组成的有

3、限集合数组是可以在内存中连续存储多个元素的结构数组中的数据称为数组元素,数组元素个数称为数组长度数组元素用数组名和元素下标表示,如score[0],score[1]5数组类型89907786一维数组多维数组示例:某个学生的成绩2-D,3-D...课程学号示例:多个学生多门课程的成绩8990778693888082758776880120123二维数组6一维数组的定义数据类型数组名[常量表达式];数组元素的类型int、char、float…遵循C语言标识符规则数组的大小可以是整型常量、整型常量表达式、整型符号常量intnum[50];floatscore[3

4、0];chara[20];#defineN30...floatscore[N];数组和变量一样,必须先声明后使用;数组大小定义好后,将永远不变;定义格式:7一维数组的定义#defineN10…intnum[5+N];floatscore[N];charc[20];intarray(10);intn=5;floatscore[n];intn;scanf("%d",&n);intdata[n];charstr[];floatchar[10];以下数组的定义是正确的:以下数组的定义是错误的:8一维数组在内存的存放数组下标从0开始数组元素在内存中按顺序连续存放数组

5、名代表数组的首地址,即score的值与score[0]的地址值相同内存score数组高地址低地址12345score[0]score[1]score[2]score[3]score[4]数组元素序号9数组元素的引用C语言中,不允许引用数组进行运算,只能引用数组元素基本形式:数组名[下标表达式];说明:下标表达式的值必须为整型下标从0开始,最大下标为数组长度减1如:inta[10];scanf("%d",&a[10]);/*下标越界*/[]是下标运算符,引用数组元素时根据数组首地址和下标计算出该元素的实际地址,然后取出该地址的内容如引用score[2]:计算

6、2000+2*4=2008取出地址2008的内容87907786score[0]score[1]score[2]score[3]2000H2004H2008H200CH例如:inta[5];a[0]=20;a[4]=2*a[0];10一维数组的初始化初始化:在定义数组时给数组元素赋初值形式:数据类型数组名称[数组长度]={数值列表}在定义数组时,对全部数组元素赋初值:例如:inta[5]={0,1,2,3,4};此时也可省略数组长度,例如:inta[]={0,1,2,3,4};在定义数组时,对部分数组元素赋初值:例如:inta[5]={0,1,2};数组其

7、余元素自动赋0当初值的个数多于数组元素个数时,编译出错例如:inta[5]={0,1,2,3,4,5};intarr[]={};//错误,到底是几个元素?11只能逐个对数组元素进行操作(字符数组例外)一般一维数组的处理用一重循环来实现,用循环变量的值对应数组元素的下标动态赋值方法:inta[10],i;输入第i个数组元素:scanf("%d",&a[i]);输入整个数组元素:for(i=0;i<10;i++)scanf("%d",&a[i]);输出方法:输出第i个数组元素:printf("%d",a[i]);输出整个数组元素:for(i=0;i<10;i+

8、+)printf("%d",a[i]);一维数组的动态赋值和输出1

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

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

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