chapter07数组

chapter07数组

ID:43925652

大小:409.00 KB

页数:60页

时间:2019-10-16

chapter07数组_第1页
chapter07数组_第2页
chapter07数组_第3页
chapter07数组_第4页
chapter07数组_第5页
资源描述:

《chapter07数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章数组本章主要内容数组的引进一维数组的定义及引用二维数组的定义及引用多维数组的定义及引用字符数组的定义及引用字符串处理函数数组的引进数组是相同类型变量的有序集合。一个数组里集合了多个数据对象,这些数据对象被称为数组中的元素。数组中的每一个元素都属于同一种数据类型,它们用一个统一的数组名称和下标(元素在数组中的位置)来唯一确定。数组也是变量。需要先定义后引用。数组举例:inta[6];上面定义了一个整型数组。数组名称为a数组中有6个整型变量数组中的6个基本元素为:a[0],a[1],a[2],a[3],a[4],a[5]。上面方括号中的0~5是数组下标,表明各个元素在数组中的位置。7

2、.1.1一维数组的定义一维数组的定义:当数组中每个元素都只带有一个下标时,这个数组就被称为一维数组。定义一维数组的一般形式:数据类型名数组名[常量表达式];例如:intnum[5];floatscore[10];定义一维数组时,说明几点:1.“数据类型名”可以是任意的数据类型。2.“数组名”必须是合法的标识符。3.“常量表达式”表示数组长度(即数组中的元素个数),一定要用方括号括起来,且里面不允许包含变量。4.一维数组中每个元素只有一个下标,并且第一个元素的下标为“0”,最后一个元素的下标为“数组长度减1”。注意:若在程序编译或运行时再给数组长度赋值,程序将在编译时出错。例如:main

3、(){intn;scanf("%d",&n);charch[n];……}变量说明部分一定放在main()函数的开头!7.1.2一维数组的引用引用格式:数组名[下标表达式]说明:“下标表达式”的值必须是一个整型的量。对于所引用的数组元素,使用方法和前面学过的简单数据类型变量使用方法相同,包括取地址等运算。C语言没有语法结构能同时引用数组的所有元素,只能一个一个的引用每一个数组元素。【例7.1】从键盘输入5个整数,将它们反序输出。main(){inti;intnums[5];for(i=0;i<5;i++)scanf("%d",&nums[i]);for(i=4;i>=0;i--)prin

4、tf("%5d",nums[i]);}运行情况:12345789897534127.1.3一维数组的初始化初始化,即赋初值。C语言允许定义数组时直接对数组进行初始化。一般形式:类型说明符数组名[常量表达式]={数值表};举例:floatvar[8]={0.1,1.2,2.6,3.5,4.3,5.5,3.5,5.5};inta[5]={2,3,4,5,6};初始化时,各元素的值要顺序放在一对花括号里面,各元素值之间用逗号间隔。说明:当花括号中的数值表中的数据个数少于数组定义中的元素个数时,C语言将这些数据方别赋给数组的前几个元素,其余数组元素自动被初始化为0。当对数组元素赋初值时,可省

5、略数组长度。例如:floatvar[]={0.1,1.2,2.6,3.5,s4.3,5.5,3.5,5.5};inta[]={2,3,4,5,6};系统将认为数组的元素个数就是后面初始化时所提供的数据的个数。C语言规定,只有静态存储(static)数组、外部存储(extern)数组才能初始化。新的C标准(如TurboC中)更允许对局部自动(auto)数组初始化。如果定义数组时没有对数组元素初始化,外部数组和函数的局部静态数组中的所有元素都将被自动初始化为0。TurboC编译系统对在main函数下的静态存储数组初始化时,可省略static关键字。为数组中若干元素赋相同初值时,要注意不能随

6、意简化。例如:floatvar[8]={0.1,0.1,0.1,0.1,0.1,5.5,3.5,5.5};不能简化为:floatvar[8]={0.1*5,5.5,3.5,5.5};否则,系统将认为数组中的各元素的值分别为:var[0]=0.1*5,var[1]=5.5,var[2]=3.5,var[3]=5.5,var[4]=0,……,var[7]=0。允许以赋值方式为数组各元素赋初值。例如:floatvar[4];var[0]=0.1*5;var[1]=5.5;var[2]=3.5;var[3]=5.5;也可以使用控制语句为数组元素赋初值。staticfloatvar[4];int

7、i;for(i=0;i<4;i++)scanf(“%f”,&var[i]);……【例7.2】计算从键盘上任意键入的10个数的和。main(){inti;floatnum[10],sum=0.0;printf(“Input10numbers:”);for(i=0;i<10;i++)scanf("%f",&num[i]);for(i=0;i<10;i++)sum=sum+num[i];printf("Thesumis%8.3f",sum);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。