第4章数组探究.ppt

  1. 1、本文档共197页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 一维数组 4.1.1 一维数组的定义   数组元素可以有多个下标,下标的个数表示数组的维数,只有一个下标时表示该数组为一维数组。数组的使用也必须遵循“先定义,后使用”这一原则。一维数组定义的一般形式如下:   类型标识符 数组名[常量表达式];   数组定义包含以下几个要点:   (1) 类型标识符用来指明数组元素的类型,同一数组的元素其类型相同;类型标识符可以是任意一种基本数据类型或者构造数据类型。   (2) 数组名的命名规则与普通变量相同,但不得与其他变量或数组同名;数组名表示该数组在内存中存放的首地址,是一个地址常量。   (3) 方括号“[ ]”是数组的标志,方括号中的常量表达式表示数组的元素个数,即数组的长度(大小)。   (4) 常量表达式是整型常量、符号常量及由它们组成的表达式,但不允许出现变量。   例如:   int a[5];   在此,数组a共有5个元素:a[0]、a[1]、a[2]、a[3]和a[4],且每个元素都是整型的。特别要注意的是,数组元素的下标从0开始,直至数组元素的个数减1,数组a的内存分配示意见图4-1,从图中可以看到:数组名a实际上就是数组元素a[0]的地址。C语言的编译器不对数组的越界问题进行检查,直到运行时才给出出错信息,这一点要特别注意。 图4-1 int a[5]的内存分配示意   例4.1 指出下面的数组定义中哪些是正确的,哪些是错误的。   int x[40],y[20],z(10);   float b[7.5],s[8];   int m;   char m[15],ch[m];    [解] 对本题的数组定义说明如下:   (1) 对“int x[40],y[20],z(10);”,其中数组x、y的定义是正确的,而数组z的定义有错,因为数组的标志是方括号“[ ]”,而不是圆括号“( )”。   (2) 对“float b[7.5],s[8];”,其中数组s定义是正确的,而数组b因其表示数组元素个数的常量表达式是一浮点型常量,而不是整型常量,因此出错。   (3) 对“char m[15],ch[m];”,数组m因为与整型变量m同名而出错,数组ch的常量表达式是一变量m,而不是常量,因此出错。 4.1.2 一维数组的引用和初始化   数组必须先定义、后使用,并且只能逐个引用数组元素而不能一次引用整个数组。数组元素的引用格式为:   数组名[下标]   其中,方括号“[ ]”中的下标只能是整型常量或整型表达式。例如:   a[5]   b[i+2*j] /*i和j均为整型变量*/   c[i+1] /*i为整型变量*/   都是合法的数组元素。   程序在引用数组元素的值之前,必须先给数组元素置初始值。数组元素的初始值可以由键盘输入,也可以通过赋值语句来设置。在程序每次运行时数组元素的初值都固定不变的情况下,可以在数组定义时就给定其元素的初值;这种方式称为数组的初始化。数组初始化可以有以下几种方法:   (1) 在数组定义时给数组所有元素赋初值。例如:   int a[5]={0,1,2,3,4,}; 将数组元素的初值用“,”分隔依次写在一对花括号“{ }”内。经过上面的定义和初始化之后,就有:   a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4   如果想使一个数组中全部元素的初值均为0,则可写成:   int a[10]={0,0,0,0,0,0,0,0,0,0}; 或者:   int a[10]={0}; 此时,a[0]被赋初值0,而其余未赋初值的数组元素均由系统给其赋0。注意,如果写成:   int a[10]={2}; 则a[0]被赋初值2,而其余数组元素均由系统给其赋初值0。   (2) 数组定义时只给前面一部分元素赋初值。例如:   int b[10]={0,1,2,3};   定义b数组有10个元素,其中前4个元素赋予了初值,而后6个元素值自动被赋以“0”值(仅对数值型数组)。   (3) 如果数组的全部元素都设置了初值,则定义中可不指定数组的长度。例如:   int a[5]={1,2,3,4,5}; 可以写成:   int a[ ]={1,2,3,4,5}; 此时,系统会根据花括号“{ }”中的初值个数来确定数组的长度,但是数组的标志“[ ]”不能省略。此外,如果提供的初值个数小于希望的数组长度,则方括号中的常量表达式不能省略。例如,需要定义数组a长度为10,但初值前5个为1、2、3、4、5,则不能写成:   int a[ ]={1,2,3,4,5}; 而必须写成:   int a[10]={1,2,3,4,5}; 除了数组初始化之外,通常是通过for语句循

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档