C语言课件第9章.pptVIP

  • 1
  • 0
  • 约5.54千字
  • 约 47页
  • 2020-08-03 发布于浙江
  • 举报
南昌大学计算中心 练习:下面程序执行后的输出结果是____。 f(int b[],int n) { int i,r=1; for(i=0;i=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf(“%d\n”,x); } 720 B) 120 C) 24 D) 6 √ 9.5 二维数组的定义和二维数组元素的引用 9.5.1 二维数组的定义 类型名 数组名[常量表达式1][常量表达式2],……; short a[2][3]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 低地址 高地址 2000H 2001H 2002H 2003H 2004H 2005H 2006H 2007H 2008H 2009H 200aH 200bH 9.5.2 二维数组元素的引用 数组名[下标表达式1] [下标表达式2] 规则与一维数组元素的一样。 1、行列下标下限为0,上限为n-1 2、一定要把两个下标分别放在两个方括号内 3、第m行n列:a[m-1][n-1] * * C语言程序设计 第9章 数组 数组是指一组相同类型数据的有序集合,由一个统一的数组名标识这一组数据。数组的每一个成员称作数组元素,用下标来标识数组元素在该数组中的位置。 int a[5]; 数组名 数组元素个数 只能存放整数 9.1 一维数组的定义和一维数组元素的引用 9.1.1 一维数组的定义 类型名 数组名[整型常量表达式],……; short a[5]; a[0] a[1] a[2] a[3] a[4] 低地址 高地址 2000H 2001H 2002H 2003H 2004H 2005H 2006H 2007H 2008H 2009H 15 67 3 26 98 9.1.2 一维数组元素的引用 数组名[下标表达式] 如:double x[8]; 则x[0]、x[j]、x[i+k]均合法。 注意:i+k是下标表达式而不是两个下标。 说明: 1、“下标表达式”可以是任何非负整型数据,取值范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动检验数组元素的下标是否越界。因此在编写程序时,保证数组下标不越界是十分重要的。 2、1个数组元素,实质上就是1个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 3、一个数组不能整体引用,数组名中存放的是一个地址常量,它代表整个数组的首地址。 例如:double x[8], *p, q; p=x; q=x; 不能将数组名赋给一个普通变量 9.1.3 一维数组的初始化 1、在定义语句中给所定义数组赋初值 数据类型 数组名[常量表达式]={初值表} 说明: 1、初值放在赋值号后的花括号中,数值类型与说明类型一致,初值间用逗号隔开,系统将自动按顺序从第一个元素开始依次给数组中元素赋值。 如:int a[8]={0,1,2,3,4,5,6,7}; 2、“初值表”中的初值个数,可以少于元素个数,即允许只给前面的部分元素赋初值,其后的元素自动赋0。字符补‘\0’。 如:int a[10]={0}; /* 10个元素都赋初值0 */ char c[5]={‘@’}; /* 后4个元素均赋‘\0’ */ 3、当初值多于元素个数,编译时会出错。 4、如果对数组的全部元素赋以初值,定义时可以不指定数组长度(长度由初值个数自动确定)。如果被定义数组的长度,与初值个数不同,则数组长度不能省略。 如:int a[]={0,1,2,3,4}; #include stdio.h main() { int ary[10]; int i, total, high; for(i=0; i10; i++) { scanf(%d,ary[i]); } high = ary[0]; for(i=1; i10; i++) { if(ary[i] high) high = ary[i]; } for(i=0,total=0; i10; i++) total = total + ary[i]; } 定义 赋值 比较 9.2 一维数组和指针 9.2.1 一维数组和数组元素的地址 数组是一组相同类型数据的集合,数组中各个元素在内存占据连续的存储单元,每个内存单元都有相应的地址。数组所占内存单元的首地址称为数组的指针,数组元素所占内存单

文档评论(0)

1亿VIP精品文档

相关文档