C语言程序设计教程课件1C语言第7章数组.ppt

C语言程序设计教程课件1C语言第7章数组.ppt

ID:51963634

大小:266.50 KB

页数:45页

时间:2020-03-26

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

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

1、C程序设计第七章第七章数组前面所用到的数据均为基本类型(整、实、字符),为了丰富数据类型,须提供强有力的数据表达方式。C语言提供了一种构造类型数据–––由基本类型按某一规则组合在一起。其中数组:同一种(基本)类型按一定顺序组合在一起的数据类型。§7.1一维数组7.1.1一维数组的定义1.数组名的确定方法同变量名。2.C语言用方括号[]表示数组元数个数。形式:类型说明符数组名[常量表达式];例:inta[20];floatx[100];3.常量表达式为常量和符号常量。不允许有变量,其表达式的值代表了元素的个数。例:inta[20];表示有20个元素且元素从0开始编排

2、:a[0],a[1]…,a[19]4.可在定义时对静态数组和外部存储(全局)数组赋初值,方法如下:对部分元素赋初值staticinta[10]={0,1,2,3,4};静态对全部元素赋初值staticinta[10]={10,11,12,13,14,15,16,17,18,19,}如此,只有前5个元素初值确定,后5个元素由系统设置(一般缺省初始化为0)。如对数组元素赋同一初值,必须一一写出:staticinta[10]={0,0,0,0,0,0,0,0,0,0};不可写成:staticinta[{10*0}];7.1.2一维数组的引用2.引用方式:数组名[下

3、标]代表了一个元素,等价一个同类型的变量。3.一般地,一维数组各元素分配在连续地内存单元之中。1.须象使用变量那样,先定义,后使用例:a[0]5+a[1]6为正确的算术表达式若赋全部元素的初值,可省略常量表达式…a[]={0,1,2,3};表示a[4],即只有4个元素。7.1.3一维数组的存储结构和初始化1一维数组的存储结构C编译系统为所定义的数组变量在内存中分配一片连续的存储单元,诸元素按数组下标从小到大连续排列,每个元素占用相同的字节数。例如,定义数组a如下:staticinta[5];数组a的存储示意图如下图所示:1000a[0](a)a[1]a[2]

4、a[3]a[4]1006a[0](b)8824123a[1]a[2]a[3]a[4](1)在定义数组时对所有数组元素赋初值。例如:staticinta[5]={8,8,2,4,123};(2)给数组部分元素赋初值staticinta[5]={7,6};表明只给前2个元素赋初值,即a[0]=7,a[l]=6,其他元素自动赋0值。(3)对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。例如:staticinta[]={l,3,5,7,9,11,13};2一维数组的初始化由于一维数组是顺序存储在内存中,数组名代表了数组在内存的起始地址,而

5、每个数组元素字节数相同,因此,根据数组元素序号可以求得数组各元素在内存的地址,并实现对数组元素进行随机存取。下面是找出最大与最小数的代码:for(i=0;i<5;i++){if(maxa[i]){min=a[i];/*把当前最小值送min,下标送k*/k=i;}}例1:从键盘上输入5个数,输出最大、最小元素的值以及它们的下标。(在书上)在上面的for循环语句中max、min与所有元素一一比较,比max大的元素值赋给max,比min小的赋给min,同时用变量j,k分

6、别记录最大、最小元素的下标。打印:格式字符串中第一个%d用输出项第一项变量j的值替换,后面三个%d分别用max、k、min的值替换,其余字符原样输出。printf(“max:a[%d]=%d,min:a[%d]=%d”,j,max,k,min);详细源代码如下:#defineN5#includemain(){inti,j,k,max,min;staticinta[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]);max=min=a[0];/*假定第一个元素既是最大的,也是最小的*/j=k=0;/*对分别记录最大,最小元素下

7、标的变量j,k初始化*/for(i=0;i<5;i++){if(maxa[i]){min=a[i];/*把当前最小值送min,下标送k*/k=i;}}printf(“max:a[%d]=%d,min:a[%d]=%d”,j,max,k,min);}§7.2二维数组7.2.1二维数组的定义1.不可将定义写为inta[4,10]。形式类型说明符数组名[常量表达式][常量表达式]例:inta[4][10];floatx[8][20];2.可将二维数组的元素看成为若干个特

8、殊的一维数

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

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

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