第6章 数组11.ppt

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

第6章 数组 摸底考试 请编写程序,先从键盘输入m和n,再用双重循环结构分别读入m名学生n门课的成绩(成绩为百分制整数),计算并输出每个学生的n门课程的总成绩和平均成绩。 数据结构的概念 程序设计=计算机编程语言+数据结构+算法。 算法是灵魂,数据结构是加工对象,语言是工具。 选择合适的数据结构就是选择合适的数据类型来存放要处理的数据。 对同一个问题的求解,可以采用不同的算法和数据结构。 算法依赖于数据结构。不同的数据结构有不同的实现算法,其复杂程度也不相同。 选择合适的数据结构,可以降低算法的复杂程度。 处理若干个相同类型的数据,就要用到构造类型。 构造类型:由简单的数据类型按照一定的规则构成的数据类型,如数组、结构、联合等。 本章任务:掌握用数组这种结构类型求大量数据的和、平均值、最大最小值、排序等。 学习要点:学会定义数组以及数组中每个元素的表示方式。 6.1 一维数组的定义和引用 本段任务:做一个考试成绩处理系统。 提问:为什么需要数组? 输入10个数,并输出这10个数 #include stdio.h void main() { int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9; scanf(%d %d %d %d %d %d %d %d %d %d, a0,a1,a2,a3,a4,a5,a6,a7,a8,a9); printf(The datas are:\n); printf(%d %d %d %d %d %d %d %d %d %d, a0,a1,a2,a3,a4,a5,a6,a7,a8,a9); } [例6.1]已知一个班10名学生的程序设计基础(一)的考试成绩,求平均成绩,输出所有考试成绩和平均成绩。 为了保留原始数据,又不定义大量的简单变量,办法就是定义数组。 数组包括一维数组、二维数组、多维数组、字符数组。 用数组知识解决[例6.1] 步骤: 定义数组,定义变量Sum,Aver。 输入数组各个元素的值,循环使用scanf()函数对数组元素进行输入,同时累加。 利用求出的总成绩计算平均成绩。 输出所有的成绩和平均成绩。 程序: #include stdio.h void main() { float score[10],sum,aver; int i; sum=0.0f; for(i=0;i10;i++) { scanf(%f,score[i]); sum+=score[i]; } aver=sum/10; for(i=0;i10;i++) printf(%6.2f,score[i]); printf(\naverage=%6.2f\n,aver); } 数组的概念 简单类型变量只含有一个成员。 数组是由相同类型的变量,按照一定的次序组织起来的数据类型。 说明格式:类型说明符 数组名[数组长度]; 如:float score[5]; 数组名为score,它含有5个成员,每个成员的类型为单精度浮点型。 说明数组后系统会在内存中为其开辟一段连续的存储空间。 类型说明符用来说明数组中各个数据元素的类型。在任何一个数组中,数据元素的类型都是一致的。 数组名的命名规则遵循标识符命名规则。 数组名代表的不是一个数,而是一组数,或者代表一组连续的内存单元。 问题:若有数组a[8],数组名a代表什么? a[1]-a[0]=? 数组名中存放的是一个地址常量,它代表整个数组的首地址。其他元素的地址是通过首地址得到的。 注意:a++; 是错误的 数组元素的地址a[0] 程序: a[1]-a[0]=数组元素占用的字节数 数组中的每个成员称为数组元素,每个元素的引用方法:数组名[下标]。 数组元素是有顺序的,只不过数组下标从0开始(注意!)。 如果定义5个元素, float score[5],是从第0个元素至第4个元素,没有下标为5的元素。如: score[0], score[1],…… score[4]。 注意:无score[5]。 数组的下标只能是非负整数。没有a[-2]、a[3.5]这些元素。 下标越界属于逻辑错误,系统并不检查。 数组长度可以是常量表达式,用方括号[ ]括起来。不能用圆括号( )。 数组长度中不允许含变量。下面的用法是错误的。 int n; scanf(%d,n); int x[n]; 下面的用法是正确的: #define SIZE 100 int num[SIZE]; char text[SIZE*2+1]; #define NUMCODES 4 char grades[NUMCODES]; #define NU

文档评论(0)

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

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

1亿VIP精品文档

相关文档