- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计实用教程第六章
第6章 数组 教学提示 数组是由基本数据类型构造出来的、有固定大小和相同类型的变量的集合。通过数组可以对一批具有相同数据类型的数据进行处理。 教学目标 掌握一维数组、二维数组和字符数组的定义、初始化及基本操作,掌握数组元素的引用、赋值、输入和输出,并能运用数组解决数值和非数值数据处理中的典型问题。 6.1数组的概念 在实际应用中,有时要处理的数据量可能很大,例如要对几千名学生的成绩从高到低排序。对于这种需要处理大批相同类型数据的情况,在程序设计中最有效的办法就是使用数组。 数组和循环相结合,编写出的程序魅力无穷。 6.1.1 引例 例6.1 求一个班100个学生的平均成绩,并统计成绩高于平均分的学生人数。 用数组来解决这个问题,不仅效率高而且程序编写容易。 #define N 100 void main() { int i,n=0; float score[N],sum=0,aver; printf(“please input students grade:”); for(i=0;iN;i++) { scanf(“%f”,score[i]); sum=sum+score[i]; /*将学生成绩累加到总分中 */ } aver=sum/N; for(i=0;iN;i++) if(score[i]aver) n++; printf(“average=%.2f \n ”,aver); printf(“n=%d”,n); } 6.1.2 数组中的相关概念 1.数组:是指一组具有相同类型的数据的有序的集合。 2.数组下标:是数组元素在数组中位置的一个索引或指示。 3.数组元素:数组中的元素。 4.数组大小:数组中元素的个数,也称数组长度。 5.数组的维数:数组元素下标的个数。 根据数组的维数可以将数组分为一维、二维、三维、多维数组。 6.2 一维数组 只有一个下标的数组称为一维数组。一维数组通常和一重循环相配合,对数组元素进行处理。 一维数组定义说明: 1.定义格式: 类型标识符 数组名[整型常量表达式]; 2.例: int a[10]; 其中: 1、类型标识符表示数组中元素的数据类型。 2、数组名命名规则必须遵循C语言中的标识符命名规则。 3、整形常量表达式表示数组长度,可以包含常量和符号常量,但不能使用变量,例如下面的定义是不对的: int n=10; int b[n]; 6.2.2 一维数组元素的引用 数组元素的引用是用数组名加下标组成的。一维数组元素的引用形式为: 数组名[下标] 说明: 1.引用数组元素时下标可以是整型变量、整形常量或整形表达式; 2.数组元素本身可以看作是同一个类型的单个变量; 3.C编译系统不会对数组下标越界进行检查。错误地引用越界数组元素可能会破坏数组后的其他数据,造成不可预料的后果。因此引用数组元素时,要注意避免下标越界。 例6.2 写出下面程序的运行结果。 main() { int a[10], i; for(i=0; i10; i++) { a[i]=i+1; printf(“%3d”,a[i]); } } 6.2.3 一维数组的初始化 所谓数组的初始化,就是在定义数组的同时就给数组元素指定初值。 一维数组的初始化有以下几种情形: 1、初始化全部数组元素。例如: int a[5]={1,2,3,4,5 }; 或:int a[ ]={1,2,3,4,5}; /*此时可以省略数组大小*/ 注意: (1)如果只是定义数组,而不对其进行初始化,例如: int a[5]; 则数组a中元素的初始值为系统分配给数组元素的内存单元中的原始值,这些值对编程者来说是不可预知的,因此在使用时要注意。 (2)若定义数组时在类型名前面加一个关键字static,即将数组定义成静态存储,这时不为数组赋初值,系统也会自动将全部元素赋以0值。例如: static int b
文档评论(0)