- 1、本文档共102页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003C语言第五章(数组)
第5章 数组 本章主要内容 数组的引进 一维数组的定义及引用 二维数组的定义及引用 多维数组的定义及引用 字符数组的定义及引用 字符串处理函数 数组的引进 数组是相同类型变量的有序集合。 一个数组里集合了多个数据对象,这些数据对象被称为数组中的元素。 数组中的每一个元素都属于同一种数据类型,它们用一个统一的数组名称和下标(元素在数组中的位置)来唯一确定。 数组也是变量。需要先定义后引用。 数组举例: int a[6]; 上面定义了一个整型数组。 数组名称为a 数组中有6个整型变量 数组中的6个基本元素为: a[0],a[1],a[2],a[3],a[4],a[5]。 上面方括号中的0~5是数组下标,表明各个元素在数组中的位置。 7.1.1 一维数组的定义 一维数组的定义: 当数组中每个元素都只带有一个下标时,这个数组就被称为一维数组。 定义一维数组的一般形式: 数据类型名 数组名[常量表达式]; 例如: int num[5]; float score[10]; 定义一维数组时,说明几点: 1.“数据类型名”可以是任意的数据类型。 2.“数组名”必须是合法的标识符。 3.“常量表达式”表示数组长度(即数组中的元素个数),一定要用方括号括起来,且里面不允许包含变量。 4. 一维数组中每个元素只有一个下标,并且第一个元素的下标为“0”,最后一个元素的下标为“数组长度减1”。 注意: 若在程序编译或运行时再给数组长度赋值,程序将在编译时出错。 例如: 一维数组的引用 1、数组必须先定义,后使用 2、数组变量一般不可以作为整体进行输入、输出、赋值等操作;而是逐个引用数组元素。数组元素的引用形式为: 数组名[下标] 这里的下标可以为整型常量、变量或表达式 例如: for (i=0;i10;i++) a[ i ]=i; (分别对数组a前10个元素赋值为0、1、2……9) 3、特例 数组名可以用作函数调用的参数(实参),字符数组名可用于输入和输出字符串。 【例7.3】从键盘输入5个整数,将它们反序输出。 main() { int i; int nums[5]; for(i=0;i5;i++) scanf(%d,nums[i]); for(i=4;i=0;i- -) printf(%5d,nums[i]); } 【例7.1】: 定义一个char型数组 a[50]来按顺序存放输入的50个字符。算法如下: #include stdio.h Void main() {char a[50]; int I; for (I=0;I50;I++) scanf(“%c”,a[I]); for (I=49;I=0;I--) printf(“%c”,a[I]); for (I=0;I=49;I++) printf(“%c”,a[I]); } 【例7.4】从键盘输入10个学生成绩,要求输出所有高于平均分的成绩。 sum=0; for(i=1;i=10;i++) {scanf(“%d”,x); sum+=x;} average=sum/10.0; 7.1.3 一维数组的初始化 初始化,即赋初值。C语言允许定义数组时直接对数组进行初始化。 一般形式: 类型说明符 数组名[常量表达式]={数值表}; 举例: float var[8]={0.1,1.2,2.6,3.5, 4.3,5.5,3.5,5.5}; int a[5]={2,3,4,5,6}; 初始化时,各元素的值要顺序放在一对花括号里面,各元素值之间用逗号间隔。 说明: 当花括号中的数值表中的数据个数少于数组定义中的元素个数时,C语言将这些数据方别赋给数组的前几个元素,其余数组元素自动被初始化为0。 当对数组元素赋初值时,可省略数组长度。 例如: float var[]={0.1,1.2,2.6,3.5, 4.3,5.5,3.5,5.5}; int a[]={2,3,4,5,6}; 系统将认为数组的元素个数就是后面初始化时所提供的数据的个数。 C语言规定,只有静态存储(static)数组、外部存储(extern)数组才能初始化。 新的C标准(如Turbo C中)更允许对局部自动(auto)数组初始化。 如果定义数组时没有对数组元素初始化,外部数组和函数的局部静态数组中的所有元素都将被自动初始化为0。 Turbo C编译系统对在main函数下的静态存储数组初始化时,可省略static关键字。 为数组中若干元素赋相同初值时,要注意不能随意简化。 例如: float var[8]={
文档评论(0)