c++程序设计谭浩强第5章2013修订.docVIP

  • 2
  • 0
  • 约2.56万字
  • 约 59页
  • 2018-04-30 发布于河南
  • 举报
c程序设计谭浩强第5章2013修订

第五章 数 组 5.1 数组的概念(P128) 在解决实际问题时,往往会需要处理一批具有相同的数据类型并且关系密切的变量。 例如:对一个班的学生成绩进行处理,计算其个人平均成绩、学科平均成绩,个人名次排序等。 数组是具有一定顺序关系的若干变量的集合体,组成数组的变量成为该数组的元素变量,简称元素。 在C++中,数组的元素变量用数组名后面跟上带有方括号[ ]的下标表示。 如:a[10],data[20],s[30],b[5][6]; 其中带有一个方括号的称为一维数组,带有两个以上方括号的称为二维数组、三维数组等,统称为多维数组。方括号中的下标用来表示元素在数组中的位置。 数组在内存中连续分配一片存储单元 见P128图5.1 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] 2000 2002 2004 2006 2008 2010 2012 2014 5.2 一维数组的定义和引用 一、一维数组的定义 1.一维数组的定义格式: 类型标识符 数组名 [ 常量表达式 ] 例如: int data[20] 表明定义了一个名字叫data,长度为20的整型一维数组,即该数组有20个整数类型的元素,可以用来存储20个整数类型的数据。 2.说明: ①数组名的命名应符合标识符的命名规则; ②数组名后面方括号内的数据是数组的长度,也即是数组元素的个数,它可以是常量,也可以是常量表达式,但必须是整型。不能是变量或变量表达式(即不允许作动态定义)。 ③C编译系统为数组分配连续的存储单元,数组元素的相对次序由其下标来表示。下标从0开始。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] 一般的,含有n个元素的数组,其下标范围实0 -(n-1) ④相同类型的数组,可以放在一个说明行中,数组之间用逗号分隔。 二、一维数组的初始化 例如: int s[5]={ 0,1,2,3,4 } 说明: ①将数组元素的初值放在一对花括号中,所赋初值的类型必须与定义数组的类型一致,各个初值之间用逗号分隔;系统将按初值的顺序,顺次给数组元素赋值; ②所赋初值的个数不能超过数组元素的个数(数组的长度),但可以少于数组元素的个数,此时相当于给数组的前一部分元素赋值,而后面的元素由系统自动地赋值为0; 例如: int a[5]={1,2,3} 相当于:a[0]=1,a[1]=2,a[2]=3,a[3]=0,a[4]=0, 注:若需要将数组全部元素初始化为0值,可以用如下形式实现:int a[10]={0}; 问:int?a[10]={1}; 其初始化值为? ③若给数组的所有元素赋初值,可以省略数组的长度, 例如: int ar[ ]={ 3,2,4,6,8} 相当于: int ar[5]={3,2,4,6,8} ④若在数组定义之后,再初始化数组,则不能成组赋值,只能一次给一个元素赋值。 例如: int w[4]; w[4]={23,2,34,5} 是错误的赋值方式。 三、一维数组的引用 数组必须先定义,然后再使用。C++规定,数组整体不能参加数据处理,即不能向数组整体赋值,数组作为一个整体也不能参加各种运算,参加数据处理和运算的只能是数组元素。 数组元素的表示形式为: 数组名 [下标] 其中,下标可以是整数类型的常量、变量或表达式。 例5.1 输入10个整数,并按其逆序输出。 #include iostream using namespace std; int main() { int i,a[10]; for (i=0;i10;i++) { coutplease input “ i+1”data:; cina[i]; } for (i=9;i=0;i--) couta[i]” “; coutendl; return 0; } 例5.2 编写程序,输入10个整数,求出其中的最大值与最小值并输出。 #include iostream using namespace std; int main() { int x[10], i, max, min; coutplease enter; for(i=0;i10;i++) cinx[i]; max=min=x[0]; for(i=1;i10;i++) { if(x[i]max) max=x[i]; if(x[i]min) min=x[i]; } coutmax=”

文档评论(0)

1亿VIP精品文档

相关文档