欢迎来到天天文库
浏览记录
ID:59421549
大小:446.00 KB
页数:31页
时间:2020-09-19
《C语言程序设计与应用 第5章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章同类型数据集合主要内容数组与数组元素、一维数组、二维数组、多维数组、字符数组字符串处理函数指向字符串的指针变量5.1数组与数组元素的概念由若干类型相同的数据按一定顺序存储所形成的有序集合,称为数组(Array)。通常,用某个名字标识这个集合,这个名字称为数组名。构成数组的每个数据项称为数组的元素(Element),同一数组中的元素必须具有相同的数据类型。数组定义的一般形式为:类型标识符数组名[常量表达式1][常量表达式2]……;(1)数组的下标必须使用整型常量或整型常量表达式。C语言中不允
2、许用变量作为下标,对数组进行动态定义。例如,#defineN10intnScore[N];intn=3;intnScore[n];/*不正确的定义方式*/(2)C语言规定数组的下标都是从0开始的。(3)数组的存储结构:数组一经定义,系统则根据数组的数据类型为每一个元素安排相同长度的、连续的存储单元,而且,C语言的数组在内存中是按行存放的,即存完第一行后存第二行,然后存第三行,······,以此类推。(4)用sizeof来计算类型长度。说 明注意:在C语言中,数组具有以下几个特点:(1)数组元素的
3、个数必须在定义时确定,在程序中不可改变;(2)在同一数组中的数组元素的类型是相同的;(3)数组元素的作用相当于简单变量;(4)同一数组中的数组元素在内存中占据的地址空间是连续的。5.2数组与数组元素的概念5.2.1一维数组是如何定义的一维数组定义的一般形式为:类型说明符数组名[常量表达式];(1)数组名命名规则和变量名相同,遵循标识符命名规则。(2)数组名后是用方括弧括起来的常量表达式,不能用圆括弧。下面用法不对:如inta(10);是不对的。(3)常量表达式表示元素的个数,即数组长度。(4)常
4、量表达式中可以包括普通常量和符号常量,不能包含变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。说 明例5-1查看数组nArray[10]的内存占用情况。问题分析通过不同的输出方式,能够看到数组名(nArray)和&数组元素(&nArray[0])等表示的含义。数组名nArray表示数组的首地址,同数组nArray[0]的地址相同。不同的数组类型在内存中占有的字节数不同。程序实现5.2.2一维数组的初始化1.在数组定义时初始化数据类型数组名[数组元素个数
5、]={值1,值2,…,值n};或数据类型数组名[]={值1,值2,…,值n};2.用赋值语句初始化用赋值语句初始化是在程序执行时实现的。例5-2 用赋值语句初始化数组nNum[10],然后按逆序输出数组nNum[10]中元素。问题分析输入一组数,值为0~9,然后按逆序输出。程序实现5.2.3一维数组的引用在C语言中,数组元素的访问方式:数组名[下标];与数组定义时不同,这里的下标即可以是整型常量或整型表达式,也可以是含有已赋值的整型变量或整型变量表达式。例5-3求数组nAarr[10]中各元素的
6、和。程序实现5.2.4一维数组程序举例例5-4 编写程序,每名学生有四门课考试成绩,用一维数组实现计算每个学生的平均成绩。问题分析由于该例题只要求计算平均成绩,因此可以用4个整型数组存放数学、物理、英语和计算机的成绩,用一个实型数组存放每个学生的平均成绩。程序可按如下步骤实现:1)输入数据,把数学、物理、英语、计算机成绩分别存放在数组nMath,nPhysics,nEnglish,nComputer中。2)计算平均成绩,将结果放在dAverage数组中。3)输出结果。解决方案程序实现5.3相同类
7、型数据的二维及多维存储5.3.1二维数组的定义二维数组定义的一般形式是:类型说明符数组名[常量表达式1][常量表达式2];二维数组在内存中的存储:5.3相同类型数据的二维及多维存储5.3.2二维数组的初始化二维数组初始化可以在类型说明时给数组元素赋初值。可按行分段赋值,也可按行连续赋值。例5-5 用二维数组实现如下表5-2所示的计算学生的平均分数。问题分析可设一个二维数组nScore[5][3]存放五个人三门课的成绩。再设一个一维数组nAver[3]存放所求得各科平均成绩,设变量nAverage
8、为全组各科总平均成绩。程序实现5.3.3二维数组元素的引用二维数组引用的一般形式是:数组名[下标1][下标2];例5-6 一个电脑公司销售两种规格的磁盘:3英寸和5英寸,每一片磁盘可以有以下4种容量:单面双密;双面双密;单面高密;双面高密。用一个二维表格可以很好的表述磁盘的价格。要求将表格存入一个二维数组,并按表格的行列格式实现表格的分行打印。问题分析可以使用多个赋值语句,完成把这些价格存入一个表格的任务。用嵌套for循环打印输出结果。输出时用转移字符’t’控制对齐,行号变化时必须插入一个’
此文档下载收益归作者所有