- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 数 组 5.1 一维数组的定义和应用 5.2 二维数组 5.3 字符数组 5.4 程序设计举例 5.1 一维数组的定义和应用 一维数组的定义方式为: [存储类型] 数据类型 数组名[常量表达式]; 例如 : int a[10]; 它表示数组名为a,数组有10个元素。 数组必须先有定义,然后再使用。C语言规定只能逐 个引用数组元素而不能一次引用整个数组。 说明: 1. C语言中数组的下标从0开始,下标必 须是整型量。 数组在内存中存储时,是按下标递增的顺序 连续存储各元素变量的值。定义语句中的常量表 达式表示元素个数,即数组长度。 数组名表示数据存储区域的首地址。数组的 首地址也是第一个元素变量的地址。 例如: int data[5]; 首地址是data或data[0]。 数组名是一个地址常量,不能向它赋值,也 不能对它自加自减等对变量进行操作的运算,因 为它不是变量 。 数组使用之前,必须说明其数据类型和存储 类型。 数组作为一个整体不能参加各种运算,参加数据处理的 只能是数组的元素变量。 例5.1 #include stdio.h void main( ) { int i,a[10]; for(i=0;i10;i++) //输入数组中的各元素 { scanf(%d,a[i]); } for(i=9;i=0;i--) //反相输出数组中的元素 { printf(%d,a[i]); } } 5. 数组定义时可以给对应元素的初值。对于外部参照类和static类数组叫做初始化,对auto类数组则是赋初值。 如: static int data[5]={2,4,6,8,10}; 相当于data[0]=2;data[1]=4;data[2]=6;data[3]=8;data[4]=10; 在给出初值列表前提下也可以不指定数组长度, 即: int data[]={2,4,6,8,10}; 但是若被定义的数组长度与提供初值的个数不相等,则数组 长度不能省掉。例如,想定义数组长度为20,就不能省掉常 量20,而必须写成 int b[20]={1,2,3,4,5};只初始化前5个元 素,多余的元素都是0 或残值(取决于存储类型) 。 6 . 数组定义时【】内为常量表达式,不能包含可变的量,编译时,编译器必须能够确定该表达式的取值。但定义后引用某个元素时用数组名[下标],下标可以是任何量。 例如,下面这样定义是错误的: (1) int n ; scanf(%d,n); int a[n]; (2) int n=20; int a[n]; 例5.2 编程将一个从键盘输入的整数序列按 逆序重新存放并显示,整数个数首先从键盘 输入; 如要求输入5个数,原来的顺序为8,6 ,5,4,1,要求改为1,4,5,6,8。 #include stdio.h void main( ) { int a[100]; int i,j,n,temp; scanf(%d,n); //输入整数个数 printf(input the numbers:\n); for(i=0;in;i++) //输入整数序列 { scanf(%d,a[i]); } /*将整数序列依次从首尾向中间交换元 素, 从而实现逆序排列*/ for(i=0,j=n-1; ij; i++,j--) { temp=a[j]; a[j]=a[i]; a[i]=temp; }
文档评论(0)