【时时三省】(C语言基础)利用数组处理批量数据
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
什么是数组
整型、字符型、浮点型数据,这些都是简单的数据类型。对于简单的问题,使用这些简单的数据类型就可以了。但是,对于有些需要处理的数据,只用以上简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。
例如,一个班有30个学生,每个学生有一个成绩,要求这30名学生的平均成绩。从理论上,这是很简单的:把30个学生成绩加起来,再除以30就行了。
问题是怎样表示30个学生成绩?
当然可以用30个float型变量s1,s2,s3,…,s30。
但是这里存在两个问题:一是烦琐,要定义30个简单变量,如果有1000名学生怎么办呢?二是没有反映出这些数据间的内在联系,实际上这些数据是同一个班级、同一门课程的成绩,它们具有相同的属性。
人们想出这样的办法:既然它们都是同一类性质的数据(都代表一个班中学生的成绩),就可以用同一个名字(如s)来代表它们,而在名字的右下角加一个数字来表示这是第几名学生的成绩,
例如s₁ s₂ s₃ s₄ ... s₃₀代表学生1、学生2、学生3……学生30这30个学生的成绩。这个右下角的数字称为下标( subscript )。
一批具有同名的同属性的数据就组成一个数组( array ),s就是数组名。
由此可知:
( 1 )数组是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。
( 2 )用一个数组名(如s )和下标(如15 )来唯一地确定数组中的元素,如s₁₅即代表第15个学生的成绩。
(3)数组中的每一个元素都属于同一个数据类型。不能把不同类型的数据(如学生的成绩和学生的性别)放在同一个数组中。
由于计算机键盘只能输入有限的单个字符而无法表示上下标,C语言规定用方括号中的数字来表示下标,如用s[15]表示s₁₅,即第15个学生的成绩。
将数组与循环结合起来,可以有效地处理大批量的数据,大大提高了工作效率,十分方便。