内容正文:
第6章 数组
第6章 数组
一维数组的定义
一维数组的应用
二维数组
多维数组和字符数组
字符串
综合实例++
2
一维数组的定义
这节课我们讨论一维数组的定义及数组元素的使用。
3
分析程序
用户输入5个学生的成绩,计算出平均成绩。
怎样编程求100个学生的平均成绩。
算法简单,但定义保存学生成绩的100个变量非常麻烦。
用“个性化”的变量保存大量数据时,不仅变量的定义很麻烦,而且还无法用循环批量处理。
用户输入5个学生的成绩,计算出平均成绩。
怎样编程求100个学生的平均成绩。
算法简单,但定义保存学生的成绩的100个变量非常麻烦。
用“个性化”的变量保存大量数据时,不仅变量的定义很麻烦,而且还无法用循环批量处理。
4
定义一维数组
定义一维数组的方式为:类型 数组名[整型常量表达式],如int a[100]。
数组并非一组数,而是一组变量。属于数组的变量又称为数组元素。类型即这组变量的类型,如int、char等。
整型常量表达式指类型为整数操作数为字面量的表达式,如300等。其值明确了数组中数组元素的个数。数组元素的个数也称数组的长度。
语句int a[100];定义一个一维整型数组a,它有100个数组元素,长度为100,即数组a有100个int型变量。定义数组a相当于申请了100个int型变量。
定义一维数组的方式为:类型 数组名[整型常量表达式],如int a[100]。
数组并非一组数,而是一组变量。属于数组的变量又称为数组元素。类型即这组变量的类型,如int、char等。
整型常量表达式指类型为整数操作数为字面量的表达式,如300等。其值明确了数组中数组元素的个数。数组元素的个数也称数组的长度。
语句int a[100];定义一个一维整型数组a,它有100个数组元素,长度为100,即数组a有100个int型变量。定义数组a相当于申请了100个int型变量。
5
数组元素
数组元素以“数组名[下标]” 的方式命名,而且数组的下标从0开始。
长度为100的一维int型数组a的数组元素分别是a[0]、a[1]、a[2]、……a[99]。这些数组元素分别标识了一个int型存储单元,因此,它们与普通int型变量完全相同。
a[0] = 80;将80赋值给数组元素a[0]。
scanf("%d", &a[1]);把用户输入的整数存入a[1]中。
printf("%d", a[0]+a[1]);输出a[0]与a[1]的和。
数组元素以“数组名[下标]” 的方式命名,而且数组的下标从0开始。
长度为100的一维int型数组a的数组元素分别是a[0]、a[1]、a[2]、……a[99]。
这些数组元素分别标识了一个int型存储单元,因此,它们与普通int型变量完全相同。
a[0] = 80;将80赋值给数组元素a[0]。
scanf("%d", &a[1]);把用户输入的整数存入a[1]中。
printf("%d", a[0]+a[1]);输出a[0]与a[1]的和。
程序中定义了一个长度为3一维int型数组a,用scanf函数把用户输入的3个整数分别存储到
数组元素a[0],a[1]和a[2]中。使用printf函数输出了这3个数组元素的和,即用户输入的三个整数的和。
可见一维数组的数组元素就是普通的变量。
6
下标操作符[ ]的优先级第一,左结合。
定义数组时下标操作符中表达式的操作数必须为字面量。int n = 3; 语句int a[n];有语法错误,因为,其是数组定义语句,[ ]中不能出现变量n。
标识数组元素时,下标操作符中的操作数可以是变量。int n = 3; int a[5]; ,a[n] = 9; 即a[3] = 9; ,a[n+1] = 6;即a[4] = 6;。 a[n+2] = 3;即a[5] = 3;有逻辑错误,长度为5的一维数组a中没有数组元素a[5]。
下标操作符[ ]的优先级第一,左结合。
定义数组时下标操作符中表达式的操作数必须为字面量。int n = 3; 语句int a[n];有语法错误,因为,其是数组定义语句,[ ]中不能出现变量n。
标识数组元素时,下标操作符中的操作数可以是变量。int n = 3; int a[5]; ,a[n] = 9; 即a[3] = 9; ,a[n+1] = 6;即a[4] = 6;。
a[n+2] = 3;即a[5] = 3;有逻辑错误,长度为5的一维数组a中没有数组元素a[5]。
程序中先定义了一个长度为3的一维int型数组a。a[n] = 23即a[2] = 23。一维数组a的两个元素的值分别为32和23.
输出a[n]和a[n-1]即输出a[2]和a[1],输出结果为23和32.
7
对比分析这两个程序。
左边程序定义一个长度为3的一维整型