第5章C语言数组.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章C语言数组

第5章 数组 学习目标 1使用一维数组处理同一类型的大批数据; 2使用字符数组处理字符串; 3使用二维数组处理类似行列式的问题。 5.1 一维数组的应用 学一学 1.一维数组的定义 类型标识符 数组名[常量表达式]; 其中常量表达式说明数组的大小,即数组中元素的个数。 2.一维数组元素的引用 定义了数组后,就可以引用数组中的任意一个元素,引用形式为: 数组名[下标表达式] 其中“下标表达式”表示数组中的某一个元素的顺序号,必须是整型常量、整型变量或整型表达式。 试一试 问题5.1:学校举行知识竞赛,有10个学生参赛,请协助老师编写一个程序把成绩打印出来。 流程图 练一练 如果问题5.1中的成绩在定义数组初始化时只给出5个数据,再输出结果看看是什么情况? 试一试 问题5.2:将问题5.1中的10个学生的竞赛成绩从键盘输入,计算出平均分,将平均分输出到屏幕上。 流程图 练一练 问题5.2在求10个同学的竞赛总分时,是先用一个循环输入各个数组元素值,再用另一个循环累加求出总分,请修改程序使用一个循环,即在输入数据的循环中进行累加求和,即输入一个数就累加一个数。 试一试 问题5.3:从键盘输入10个参赛学生的成绩,求出分数最高的同学的序号(从1开始)及其成绩。 问题5.4 用初始化方法,把某学习小组10名学生《C语言程序设计》课程的考试成绩存储在数组中,再从键盘输入一个考分,查找该数是否在数组中,如果是的话,请输出它是第几名学生的成绩。 流程图 练一练 1.在问题5.4中,如果输入的成绩没有查到,请给出提示信息“not found”。 想一想 1.拓展问题5.4,如果希望能够多次输入考分进行查找,每次都输出查找到的结果,直到输入1000时结束查找,怎样分析、解决问题? 2.再次拓展问题5.4,如果输入一个考分,但是在成绩数组中有一个以上的考分与此相同,怎样处理? *问题5.5 软件系要选拔创新小组的成员,有N名同学参加考试,请你帮助老师将成绩输入计算机,从低分到高分进行冒泡排序并输出排序后的结果。 问题5.6 一位同学因为参加大学生运动会需要进行缓考,缓考过后,老师要把他的成绩插入班级的成绩单中,成绩单已经按照分数从高到低进行了排序,试问这个缓考成绩要怎样插入才不影响已经排好序的成绩单? 流程图 小结: 数组的定义 数组必须先定义,后使用。一维数组定义的一般形式为: 类型标识符 数组名[常量表达式]; 其中: (1)常量表达式表示数组的元素的个数,即数组的长度,不允许作动态定义。 (2) 相同类型的数组和变量可以在一个类型说明符下一起说明,用逗号隔开。 小结:一维数组的引用 定义了数组后,就可以引用数组中的任意一个元素,引用形式如下: 数组名[下标表达式] 其中下标表达式可以是整常数或整型表达式,其取值范围从0开始,到元素个数-1为止。超出这个范围就称为数组下标越界。 小结:一维数组的初始化 当系统为所定义的数组在内存中开辟一串连续的存储单元时,这些存储单元中并没有确定的值。使数组元素具有某个值,可以用赋值语句或输入语句在程序运行时完成,但占用机器时间。如果已经知道元素的具体值,C语言可以在定义时,给各元素指定初始值,称为数组的初始化。 二维数组 学一学 1.二维数组的定义 类型标识符 数组名[常量表达式1][常量表达式2]; 其中常量表达式1和常量表达式2,分别表示数组的行数和列数。 2.二维数组元素的引用 二维数组元素的引用形式为: 数组名[行下标][列下标] 行下标和列下标可以是整常数或整型表达式,其取值范围从0开始,分别到行数-1和列数-1为止。 问题5.7 一个学习小组有5名同学,每人有英语和数学两项成绩 ,试将成绩表用二维数组存储,并输出到屏幕上。 练一练 1.在问题5.7的解决中,使用双重循环来输出成绩表,如果不用双重循环,请你尝试用两个单重循环来输出数据。 2.在问题5.7中,成绩表的数据是在定义时初始化赋值的,但是现在又有一组比赛数据要输入,请你将数据改由键盘输入(提示:可参照输出采用双重循环进行)。 想一想 在问题5.7中,成绩表输出方式是输出一行序号,然后换行输出一行成绩,现在要求输出一个序号,接着输出该序号对应的成绩,然后换行,再输出一个序号及其对应的成绩,直到五个参赛学生的数据全部输出,怎麽办呢? 问题5.8 新生入校参加军训,12名同学站成了3行4列,请编程序帮助教官从键盘输出12名同学的身高,并且求出其中个子最高的同学的身高。 流程图 问题5.9 看过电影黑客帝国(the Matrix)之后,有12名同学排成3行4列准备进行演习,根据他们自编的剧情需要,他们需要进行行列交换,在另一个位置上站成4行3列,请编写程序实

文档评论(0)

bbnnmm885599 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档