第七章数组 ■引言 71一维数组的定义和引用 72二维数组的定义和引用 ■73字符数组
1 第七章 数组 ◼ 引言 ◼ 7.1 一维数组的定义和引用 ◼ 7.2 二维数组的定义和引用 ◼ 7.3 字符数组
数组的引入 引言 为了便于处理一批类型相同的数据,引入了数组类型 例:某班有40名学生,求该班成绩的平均分 #include <stdio.h> 这种方法只能求所有学生的总成绩, void main( 而不能保留住每个学生的成绩。 f int j, sum, S; 假设现在要求保存每个学生的成绩, float ave 那就不能只使用一个变量s了, sum=0 而需要40个变量,但这样一来输入、 for(j=1;j<=40;j++) scanf“%d”)&s);输出、计算都会变得繁琐在这种 sum=sumS 情况下,我们可以使用数组类型, 说明一个含有40个元素的数组,每个 ave=sum/40; 数组元素存放一个成绩,成绩的输入 printf(ave=%or”,ave);输出、计算都可通过循环来实现 2
2 一、数组的引入 引言 为了便于处理一批类型相同的数据,引入了数组类型 这种方法只能求所有学生的总成绩, 而不能保留住每个学生的成绩。 假设现在要求保存每个学生的成绩, 那就不能只使用一个变量s了, 而需要40个变量,但这样一来输入、 输出、计算都会变得繁琐. 在这种 情况下,我们可以使用数组类型, 说明一个含有40个元素的数组,每个 数组元素存放一个成绩,成绩的输入、 输出、计算都可通过循环来实现 例:某班有40名学生,求该班成绩的平均分 #include <stdio.h> void main( ) { int j , sum , s ; float ave ; sum=0; for(j=1; j<=40 ; j++) { scanf(“%d”,&s); sum=sum+s; } ave=sum/40 ; printf(“ave=%f”,ave); }
#include <stdio.h> 二、数组的概念 void main( 1.数组:由具有相同类型的 f int j, sum, S40 float ave 9 固定数量的元素组成的结构 sum=0 2.数组元素:每一个数组元素 for(j=0;j<=39;j++) 都是一个变量,为了与一般 scanf(“%d,&sj;的变量相区别,我们称数组 sum=sum+sj; 元素为下标变量 ave=sum/40 3.下标变量在数组中的位置 printf((“ave=%f”;avel);序号称下标 下标变量的数据类型称为 下标类型(或元素类型) 3
3 二、数组的概念 1.数组:由具有相同类型的 固定数量的元素组成的结构 2.数组元素:每一个数组元素 都是一个变量,为了与一般 的变量相区别,我们称数组 元素为下标变量 3.下标变量在数组中的位置 序号称下标 下标变量的数据类型称为 下标类型(或元素类型) #include <stdio.h> void main( ) { int j , sum , s[40] ; float ave ; sum=0; for(j=0; j<=39 ; j++) { scanf(“%d”,&s[j]); sum=sum+s[j]; } ave=sum/40; printf(“ave=%f”,ave); }
71一维数组的定义和引用 维数组的定义 1.格式:类型标识符数组名[常量表达式}; 例:inta10; 2.说明 (1)数组名是用户定义的标识符, 101095a10 数组名表示了一个存储区的首地址 101280al1l (即第一个数组元素的地址) (2)数组长度:指数组中元素的个数 101466a(2 (3)数组元素的下标由零开始 数组a有10个元素:a0,a1…291102884a19 (4)常量表达式中不能包含变量, 常量表达式的值不能是实数
4 7.1 一维数组的定义和引用 一、 一维数组的定义 1. 格式 : 类型标识符 数组名 [ 常量表达式] ; 例: int a[10] ; 2. 说明 (1) 数组名是用户定义的标识符, 数组名表示了一个存储区的首地址 (即第一个数组元素的地址) (2) 数组长度 : 指数组中元素的个数 (3) 数组元素的下标由零开始 数组a 有10个元素: a[0] , a[1] … a[9] (4) 常量表达式中不能包含变量, 常量表达式的值不能是实数 84 : 66 80 1010 95 1012 1014 : 1028 a[0] a[1] a[2] : a[9]
数组元素的引用 1.引用形式:数组名[下标 101095a0 2.说明 101280a1 (1)下标可以是整型常量或整型表达式101466a21 如:a[,a2*3 101675a131 (2)数组定义为ia5,数组长度为510188414 而下标在0-4之内,即a01--2a14 注意:如果出现a51=72;编译时不会102072a151 指出错误,系统会将a4后下一个 存储单元赋值为2,但这样可能变量x的,实际上2是 会破坏数组以外其他变量的值不存在的如果执行了 a5|=72,会将x原有的 正确数据覆盖掉 5
5 二、 数组元素的引用 1. 引用形式 : 数组名[ 下标 ] 注意: 如果出现 a[5] = 72 ; 编译时不会 指出错误, 系统会将a[4]后下一个 存储单元 赋值为72, 但这样可能 会破坏数组以外其他变量的值 84 75 66 80 1010 95 1012 1014 1016 1018 a[0] a[1] a[2] a[3] a[4] 72 a[5] 1020 假设这个存储空间是 变量x的, 实际上a[5]是 不存在的, 如果执行了 a[5]=72, 会将x原有的 正确数据覆盖掉 2. 说明 (1) 下标可以是整型常量或整型表达式 如: a[1] , a[2*3] (2) 数组定义为int a[5] , 数组长度为5 而下标在0 ---- 4之内, 即a[0] ---- a[4]