第7章数组 7.1一维数组的定义和引用 维数组的引用 数组必须先定义,后使用。C语言规定只能逐个引用数组元素。 数组元素的表示形式: 数组名[下标 下标:整型常量、整型表达式。 设数组长度为N,下标为i,则:下标下限≤i下标上限。 例如: inta[10],b[10]; b[o]=a[9] //对数组元素赋值 b[1]=a[1*2+3]; 例7.1:数组元素的引用 ma in int i, a[10] for(i=0;i<10;i++)a[i]=i; for(i=9; i>=0; i-) printf("%d", ali])
-6- 第7章 数组 7.1 一维数组的定义和引用 一维数组的引用 数组必须先定义,后使用。C语言规定只能逐个引用数组元素。 v 数组元素的表示形式: 数组名[下标] 下标:整型常量、整型表达式。 设数组长度为N,下标为i,则:下标下限≤i<下标上限。 例如: int a[10], b[10]; b[0] = a[9]; //对数组元素赋值 b[1] = a[1*2 +3]; 例7.1:数组元素的引用 main() { int i, a[10]; for(i=0; i<10; i++) a[i] = i; for(i=9; i>=0; i--) printf("%d ", a[i]); }
第7章数组 7.1一维数组的定义和引用 维数组的初始化 ☆在定义数组时对数组元素赋初值。 例如:inta[5]={2,4,6,8,10}; 可以只给一部分元素赋值。 例如:inta[6]={3,5,7; ☆使一个数组中全部元素值为0,可以写成 inta[6]={0,0,0,0,0,0}; 或inta[6]={0} ◇给全部元素赋初值时,可以不指定数组长度。 例如:inta[]=[1,2,3,4,5}; 系统自动定义a数组的长度为5。 注意区别与inta[10]={1,2,3,4,5};的不同
-7- 第7章 数组 7.1 一维数组的定义和引用 一维数组的初始化 v 在定义数组时对数组元素赋初值。 例如:int a[5] = {2, 4, 6, 8, 10}; v 可以只给一部分元素赋值。 例如:int a[6] = {3, 5, 7}; v 使一个数组中全部元素值为0,可以写成: int a[6] = {0, 0, 0, 0, 0, 0}; 或 int a[6] = {0}; v 给全部元素赋初值时,可以不指定数组长度。 例如:int a[] = {1, 2, 3, 4, 5}; 系统自动定义a数组的长度为5。 注意区别与int a[10] = {1, 2, 3, 4, 5};的不同
第7章数组 7.1一维数组的定义和引用 一维数组程序举例 ☆例7.2:用数组来处理输出 Fibonacci数列。 Fibonacci数列:1,1,2,3,5,8,13,21,34,… 递推关系式:Fn=Fn1+Fn2(n>2) 初始条件:F1=1(n=1)F2=1(n=2) main o inti,f[20]=[1,1}; for(i=2;i<20;i+)f[i=f[i-2]+f[i-1 for(i=0;i<20;i++) if (i%5== 0) printf("\n") printf("%12d", f[i])
-8- 第7章 数组 7.1 一维数组的定义和引用 一维数组程序举例 v 例7.2:用数组来处理输出Fibonacci数列。 Fibonacci数列:1, 1, 2, 3, 5, 8, 13, 21, 34,… 递推关系式:Fn =Fn-1 + Fn-2 (n>2) 初始条件: F1 = 1 (n=1) F2 = 1 (n=2) main() { int i, f[20] = {1, 1}; for(i=2; i<20; i++) f[i] = f[i-2] + f[i-1]; for(i=0; i<20; i++) { if(i%5 == 0) printf("\n "); printf("%12d", f[i]); } }
第7章数组 7.1一维数组的定义和引用 ◆例7.3:用起泡法对十个数排序(由小到大)。 起泡法:将相邻两个数比较,将小的调到前头 假设有6个数:985420 8 了9 8542 8542 85420 0 T97 第1次第2次第3次第4次第5次结果
-9- 第7章 数组 7.1 一维数组的定义和引用 v 例7.3: 用起泡法对十个数排序(由小到大)。 起泡法:将相邻两个数比较,将小的调到前头。 假设有6个数:9 8 5 4 2 0
第7章数组 7.1一维数组的定义和引用 如果有n个数,则要进行n-1趟比较。在第1趙比较中要进行n-1 次两两比较,在第趟比较中要进行n-j次两两比较。 输入n个数给a[1到a[n] for j=l to n-1 or 1f to n-J alifaaff 真 假 a[i]<=>a[i+1] 输出a[1到a[n] 10
-10- 第7章 数组 7.1 一维数组的定义和引用 如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1 次两两比较,在第j趟比较中要进行n-j次两两比较。 输入n个数给a[1]到a[n] for j=1 to n-1 输出a[1]到a[n] for i=1 to n-j a[i]>a[a+1] a[i]<=>a[i+1] 真 假