资源描述:
《C语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录第3章数组与字符串3.1【案例12】成绩统计●数组的基本概念●一维数组●一维数组在程序设计中的应用3.2【案例13】计算题●二维数组●二维数组的存储●二维数组的应用●多维数组1目录3.3【案例14】字符分类●字符数组●字符串●字符串数组3.4【案例15】字符串比较●字符串处理函数●字符处理函数2程序源码3.1【案例12】成绩统计3.2【案例13】计算题3.3【案例14】字符分类3.4【案例15】字符串比较33.1【案例12】成绩统计案例效果在这个案例中,将输入的学生成绩存储到数组中,统计这些学生的平均成绩,找出最
2、高成绩,并按成绩统计出各个等级的人数(成绩分为四等,90以上为优,80以上为良,60以上及格,60以下为不及格)。程序执行效果如图3-1-1所示。图3-1-1学生成绩分类统计在本案例的实现过程中,将学习数组的基本概念,以及数组的简单排序算法。设计过程(见书)41.数组的基本概念相关知识1.数组的基本概念前面所学过的数据类型都是简单数据类型,它们的特点是一个该类型的变量只能对应一个数据,针对单一的变量进行操作,变量名与变量内容是一一对应关系。在程序设计中,有时需要对一组同样类型的数据进行操作。以字符串为例,C语言中有字
3、符型数据,一个字符串也就是若干个存储在连续空间的字符,它们相互间有着一定的关系,在设计程序时并不一定能确定具体要进行操作的数据的个数(字符串长度不确定),当然,也就不能事先定义出相应个数的变量与数据进行一一对应,而且,就算是能定义相应个数的变量也会因为变量名太多而造成程序的混乱,况且将这些数据间的关系割裂开来,并不是一种好方法。C语言提供了这样的一种数据类型:它可以连续存放多个相同类型的数据,可以用同一个变量名对这些数据进行存取,并且可以用一种有效的方法在变量中对各个数据进行单独的操作——使用具体的下标索引,第一个数
4、据对应下标0,第二个数据对应下标1,依此类推第n个数据对应下标n-1,这就是数组,使用数组就能够有效地完成上述要求。数组是一组具有相同数据结构的元素组成的有序的数据集合,一个数组中可以包含若干个相同类型的数据。52.一维数组组成数组的数据统称为数组元素,数组用一个统一的名称来标识这些元素,这个名称就是数组名。数组中,对数组元素的区分使用一个特定的序号——数组下标来实现,可以用数组下标来方便地存取每一个数组元素。在C语言中,数组的下标以0开始,如果有一个包含n个元素的数组,则第1个元素对应下标为0,第2个元素对应下标为
5、1,……,第n个元素对应的下标为n-1。数组是一种构造类型的数据,它是由其他数据类型构造而得到的。与基本数据类型变量一样,数组变量也需要先定义、后使用。在定义数组变量时,系统会为数组在内存中分配一块连续的空间进行存储,空间的大小由数组的类型和大小而定。例如:定义一个包含100个整型元素的数组,由于每个整型数据将占2个字节,则系统会为该数组分配2×100=200字节的空间以供使用。2.一维数组(1)一维数组的定义在C语言程序设计中,数组可以具有多个下标,数组下标的个数称为数组的维数。只有一个下标的数组称为一维数组。一维
6、数组的定义格式如下:类型数组名[常量表达式];62.一维数组下面是有效的数组定义:inta[10];charstr[50];语句“inta[10]”定义了数组名为a的整型数组,该数组共有10个元素。这些元素分配在连续的内存中,每个元素都可以存储一个整型值,则数组a所占的总内存大小为2×10=20字节。同样,语句“charstr[50]”定义了一个数组名为str的字符数组,该数组共有50个元素。这些元素分配在连续的内存中,每个元素都可以存储一个字符,则数组str所占的总内存大小为1×50=50字节。C语言中规定数组下标
7、从0开始,如果定义了一个有n个元素的数组,则下标为0~n-1。因此,数组a和数组str各元素分别为:a[0],a[1],a[2],…,a[8],a[9]str[0],str[1],str[2],…,str[48],str[49]定义数组下标的常量表达式中只能是整型常量,可以是整型数值常量或符号常量,例如:#define100n…intm[100];charstr[n];上面是正确的定义方法。72.一维数组但不能用变量来作为数组定义时的下标,例如,下面定义就是错误的:intn=100;charstr[n];/*错误的定
8、义*/(2)一维数组的初始化数组在定义时,可以为其赋初始值。赋值方式如下:类型数组名[常量表达式]={数值1,数值2,…};赋值时,将数值以逗号分开,按顺序将值赋给数组元素。例如:inta[5]={5,12,13,27,32};上面的语句定义了一个具有5个元素的整型数组a,其中a[0]=5,a[1]=12,…,a[4]=32。如果在定义时为数组