- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数组 9.1 一维数组 9.2 二维数组 9.3 数组和函数 9.4 字符数组 9.5 指针数组 9.1 一维数组 一维数组的定义 一维数组的定义格式为: 存储类型 数据类型 数组名[数组长度]; 例如,语句“float a[6],b[10];” 说明: 数组的存储类型可以是auto或static,但不能为register。 数组的数据类型既可以是基本类型,也可以是构造类型等。 数组名应符合标识符的命名规则,数组名代表的不是整个数组,而是数组所占内存空间的起始地址。 数组长度表示数组元素的个数。数组长度只能是整型常量或整型常量表达式。 C编译系统为数组分配连续的内存单元。数组元素的相对次序由下标来表示。数组元素的下标是从0开始的整数。 9.1 一维数组 一维数组的引用 在C语言中不能引用整个数组,只能引用单个数组元素。 一个数组元素就是相当于一个变量,它的使用与同类型的普通变量是相同的。 一维数组元素的引用形式为: 数组名[下标] 数组名后方括号内是数组下标,下标表示该元素是数组的第几个元素。数组名后面的方括号内的内容只有在数组定义时才是数组的长度,其他时候都是数组下标。 数组元素的下标是整型的常量、变量或表达式。下标的取值范围是[0,数组长度-1]的整型值。 C程序运行时,编译系统并不检查数组元素的下标是否越界,需要编程人员自己保证数组元素的下标不要越界。 9.1 一维数组 一维数组的初始化 如果在数组定义之后进行初始化操作,则只能对每个数组元素一一赋值。 int arr[10],i; for(i=0;i10;i++) arr[i]=i; 如果在定义数组时完成数组的初始化操作,则需要将数组元素的初值依次放在一对花括弧中,并用赋值号与数组连接。定义数组时赋初值的形式为: 存储类型 数据类型 数组名[数组长度]={初值列表}; 花括弧内各个初值之间用逗号分隔,数值类型必须与数组类型一致。系统将按初值的排列顺序,顺次给数组元素赋值。 例如,语句“int arr[10]={0,1,2,3,4,5,6,7,8,9};” 花括弧中初值的数量必须小于等于数组长度。当初值数量小于数组长度时,数值型数组的后面没有初值的元素由系统自动赋值为0。 9.1 一维数组 若给数组的所有元素赋初值,可以省略数组的长度。系统会根据所赋初值的个数确定数组的长度。 例如,int arr[]={1,2,3,4,5,6,7,8,9}; 如果是auto存储类型的数组未赋初值,数组元素的值是不确定的。而static存储类型的数值型数组未赋初值,编译系统会在编译时将元素全部初始化为0。 9.1 一维数组 一维数组应用举例 【例9.1】求100个整数的平均值。 #include “stdio.h” main( ) {int a[100], i; float ave,sum; printf(please enter 100 numbers:\n); for(i=0;i100;i++) /*输入元素*/ scanf(%d,a[i]); for(sum=0, i=0;i100;i++) /*求和*/ sum=sum+a[i]; ave=sum/100; /*求平均值*/ for(i=0;i100;i++) printf(%6d,a[i]); printf(\n a verage =%7.2f,ave); } 9.1 一维数组 【例9.2】编写程序,找出10个整数中的最小值及其位置。 解题思路:首先输入10个整数,然后找出其中的最小值及其位置,最后输出结果。其中最主要的功能是求最小值及其位置,完成这一功能的主要步骤为: ①假定最小值为第一个数,也就是位置min为0; ②将min位置的数和数组的下一个数进行比较,如果min位置上的数大,则更改min值为更小数的位置; ③如果比较完数组中所有的数,位置min上的数就是最小值,否则转向②继续执行。 假设数组x的10个数依次为3、2、7、1、4、8、5、11、4、9 ,则寻找最小值及其位置的过程应该为: 9.1 一维数组 9.1 一维数组 #include stdio.h main( ) {int x[10],i,min; printf(please enter 10 numbers: ); for(i=0;i10;i++) /*输入10个元素*/ scanf(%d,x[i]); min=0;
您可能关注的文档
- 安徽财经大学财务管理学课件第三章 基本财务估值模型.ppt
- 安徽财经大学财务管理学课件第十五章 财务分析.ppt
- 安徽财经大学法学院宪法学课件第二章 宪法的历史发展.ppt
- 安徽财经大学法学院宪法学课件第十六章 选举制度.ppt
- 安徽财经大学法学院宪法学课件第十七章 国家机构.ppt
- 安徽财经大学法学院宪法学课件第十三章 国家形式-下.ppt
- 安徽财经大学法学院宪法学课件第十四-十五章 公民的基本权利和义务.ppt
- 安徽财经大学法学院宪法学课件第一章 宪法的概念.ppt
- 安徽财经大学管理信息系统课件第三章 管理信息系统的技术基础.ppt
- 安徽财经大学管理学院企业战略管理课件:第六章 企业总体战略.ppt
文档评论(0)