1 / 63
文档名称:

C语言程序设计课件第4章数组.ppt

格式:ppt   页数:63页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计课件第4章数组.ppt

上传人:autohww 2016/7/23 文件大小:0 KB

下载得到文件列表

C语言程序设计课件第4章数组.ppt

相关文档

文档介绍

文档介绍:第4章数组 数组的引人 一维数组的定义和应用 二维数组的定义和应用 字符数组和字符串 本章小结 1 数组的引入? 现需要编写一个程序,实现对一个班级学****C语言的学生的成绩输入,然后分别统计优、良、中、及格和不及格五个等级的人数并计算高于平均成绩的人数,最后输出成绩清单。假如这个班级共有 6名学生学****了 C语言。 2编程分析: 为了保存 6名学生的 C语言成绩,需要定义 6个 float 型的变量,变量定义如下: float stud1 ,stud2 ,stud3 ,stud4, stud5,stud6 ; 接着为了输入这 6个学生的成绩,编程如下: scanf( “%d%d%d%d%d%d ”, &stud1 ,&stud2 , &stud3 ,&stud4, &stud5, &stud6 ); 3 现在如何来统计优良中差各等级人数和计算平均成绩呢?我们必须针对每一名学生,都写一段程序来完成优良中差各等级的判定功能,先对 stud1 变量判定,编程思路如下: if(stud1 >= )优秀人数++ ; else if( stud1 >= ) 良好人数++ ; else if( stud1 >= )中等人数++ ; else if(stud1>= ) 及格人数++ ; else 不及格人数++ ; 然后分别对 stud2 ,stud3 ,stud4, stud5, stud6 变量重复进行和上面相同的判定程序,显然程序代码将十分冗长而且容易出错。特别是:当学生人数发生变化,从 6增加到 80 或者甚至增加到 1000 ,我们需要怎样的耐心来写如此多的重复代码?!这肯定不是我们想要的编程方法,该怎么办呢? 请数组来帮忙。 4 一维数组的定义定义: 类型标识符数组名[整型常量表达式]; 所以针对例 编程需要,可以如下定义一个数组: float stud[6]; 以上定义表示:该数组名为 stud ,共包含了 6个元素, 这6 个元素都是 float 型变量。如果需要处理 100 个学生的C语言的成绩,则定义如下: float s[100]; 说明: 1. 类型标识符指明该数组中所有元素的数据类型,可以是 char 、int 、float 、double 等基本的数据类型标识符。 5 一维数组的定义(续 1) 2. 数组名命名规则和变量名命名规则相同,都遵循标识符命名规则。 3. 方括号中的数字指明了数组共含有多少个变量,也称数组的长度,所以必须是大于或等于 1 的整数,不能为浮点型的常量;其表现形式可以整型常量、符号常量或整型常量表达式,但不能含有变量的表达式。例如: int m=8, x[m ]; / *数组的大小不能用变量的值指定,所以这是不合法的*/ #define NUMBER 80 float score[NUMBER ]; // 用符号常量 /*数组的大小可用符合常量,所以这是合法的*/ 6 一维数组的定义(续 2) ,定义多个变量和多个数组。例如: int i , j , a[5] , b[10]; 还可以按如下形式定义一维数组: float string[ ‘2’]; int a[5 *2+10]; 分析: ?定义了一个名为 string 的数组,因为字符常量‘2’的ASCII 值为 50,所以 string 数组共有 50个元素?定义了一个名为 a 的数组,共有 20个元素,每个元素的类型是整型。 7 数组元素的名称当定义好一个数组后,数组中的每个元素的名称分别是什么呢? C语言标准规定:当定义好一个数组后,可以通过数组名加元素下标的方式来使用数组元素,数组中的每个元素按照在内存中排列的顺序都有相应的编号即下标,数组中的元素编号从 0开始,依次为 1、2、3……直到“数组元素个数-1”为止;下标用中括号括起来。因而数组元素的名称为: 数组名[下标] 注意:其中下标是一个整型表达式,可以是变量或常量表达式,这与数组定义时要求只能是常量不同,但必须保证下标值<=数组元素个数- 1,并且下标值>=0 。 8 数组元素的名称举例例如:int a[5]; 说明: a数组中的 5个整型变量的名称分别为: a[0] 、a[1] 、a[2] 、a[3] ,a[4], 这5个元素的下标分别为: 0、1、2、3 、4 注意: a 数组没有名为 a[5] 这样的元素! 数组 a 有如下图所示的逻辑结构。 9 数组在内存