第六章数组.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章数组

数组 前面讲的简单类型变量只含一个成员。数组是一种构造类型(称为数组元素),数组类型的变量也简称数组,它是由固定数目的同类型成员(称为数组元素)组成的构造类型变量。构造类型的最低一级成员(数组元素)必须是简单类型,它可以如同一个简单类型的变量一样,被赋值或出现在表达式中。 C的构造类型有:数组,结构和联合。 6.1 数组的说明 6.1.1 数组的说明 说明区分符 数组名[[常量表达式]][=初值表],…; 说明区分符可以是存储类型区分符(auto,extern, static)、类型区分符(int,char,float等)和类型限制符(const, volatile)之一或它们的组合,存储类型区分符说明数组变量的存储类型、类型区分符说明数组元素的类型。数组名是一个标识符,外层[ ]是一维数组的标志,内层[ ]表示可选。常量表达式的值必须是正整数,它是数组的长度(或大小)说明,即说明数组含有的元素数目,数组元素在数组中有一定的次序关系,C中数组元素从0开始编号。定义性说明时必须给出长度说明,引用性说明或参数类型说明时不需要长度,但[ ] 不能省。“=初值表“是可选的,它显式地说明数组的初值,引用性说明时不能说明初值。 下面是一些数组说明的例子。 int x[5]; 定义x是含有5个int元素的数组(或称x是含有5个元素的int数组),其元素依次表示为x[0],x[1],x[2],x[3],x[4]。如果说明在函数外,则x是外部数组;如果说明在函数体内,则x为自动数组,由于没有给出初值说明,因此,如果x是外部数组,则所有元素的初值均为0,如果x是自动数组,则其元素的值不确定。 float a[30]; 定义a是含有30个元素的float数组,其元素依次为:a[0],a[1],…,a[29],共30个。 double val[maxval]; val是含有maxval个元素的double数组(maxval是已定义的符号常量)。 数组说明可以和其它同类型对象在一个说明语句中说明。例如: float x,a[50],b[100]; char c,str[100],buf[300]; 静态数组说明必须给出static类型区分符,如 static char line[200];如果说明在函数外,则为外部静态数组,如果在块内,则为局部静态数组。 数组长度说明可以含有运算符的表达式形式,表达式的值必须为正整数,且不能含有变量或未定义的标识符。 如: #define SIZE 100 char text[SIZE*2+1]; 而下面定义是错误的: int n; char name[n]; 因为C语言不允许定义动态数组,编译时数组的大小必须是已知的。且其大小在程序执行过程中是固定不变的。 6.1.2 数组引用 数组的引用有两种形式,一是引用数组的元素,例如: int x[5],则x[0],x[1],…,[4]是对数组x的5个元素的引用。二是引用数组名。一般数组的输入、输出、赋值和基本运算都必须对数组的元素逐个进行。数组名可以用作函数调用的参数(实参),输入输出字符串,给指针变量赋值等。 数组各元素之间是按顺序排列的。它们对应的存储单元一个紧接一个,每个元素在数组中的位置即元素编号称为元素的下标,每个元素用数组名和各自的下标两部分表示。称为数组元素的引用。引用形式如下: 数组名 [下标表达式] 下标表达式(简称下标)可以为任意整型表达式,包括整型常量、变量、含有运算符的整型表达式,甚至是值为整数的函数调用。下标表达式的值应在元素编号的取值范围内,对于长度为n的数组,下标表达式的取值为0,1,2,…,n-1,C中数组的编号规定从0开始,对数组最低一级元素的引用称为下标变量,其性质等同于类型简单变量。 如 int x[10],i; x[5]=3+2; i=x[0]+x[3]; 例1 计算并输出全班30个学生C语言程序设计课程的平均成绩以及每个人的成绩与平均成绩之差。 #include “stdio.h” #define numbers 30 int main(void) { int i; float x[numbers],sum,average; sum=0; printf(“input %d scores:\n”,numbers); for (i=0;inumbers;i++) { scanf(“%f”,x[i]); sum+=x[i]; } average=sum/numbers; printf(“average=%.2f\n”,average); for (i=0;inumbers;i++) printf(“x[%d]-average=%.2f\n”,i,x[i]-average); return

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档