经典C语言谭浩强版第七章数组

经典C语言谭浩强版第七章数组

ID:37910233

大小:218.43 KB

页数:35页

时间:2019-06-02

经典C语言谭浩强版第七章数组_第1页
经典C语言谭浩强版第七章数组_第2页
经典C语言谭浩强版第七章数组_第3页
经典C语言谭浩强版第七章数组_第4页
经典C语言谭浩强版第七章数组_第5页
资源描述:

《经典C语言谭浩强版第七章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章数组引言7.1一维数组的定义和引用7.2二维数组的定义和引用7.3字符数组引言一、数组的引入为了便于处理一批类型相同的数据,引入了数组类型假设现在要求保存每个学生的成绩,那就不能只使用一个变量s了,而需要40个变量,但这样一来输入、输出、计算都会变得繁琐.在这种情况下,我们可以使用数组类型,说明一个含有40个元素的数组,每个数组元素存放一个成绩,成绩的输入、输出、计算都可通过循环来实现例:某班有40名学生,求该班成绩的平均分#includemain(){intj,sum,s;floatave;sum=0;for(j=

2、1;j<=40;j++){scanf(“%d”,&s);sum=sum+s;}ave=sum/40;printf(“ave=%f”,ave);}二、数组的概念1.数组:由具有相同类型的固定数量的元素组成的结构2.数组元素:每一个数组元素都是一个变量,为了与一般的变量相区别,我们称数组元素为下标变量3.下标变量在数组中的位置序号称下标#includemain(){intj,sum,s[40];floatave;sum=0;for(j=0;j<=39;j++){scanf(“%d”,&s[j]);sum=sum+s[j];}a

3、ve=sum/40;printf(“ave=%f”,ave);}7.1一维数组的定义和引用一、一维数组的定义1.格式:类型标识符数组名[常量表达式];例:inta[10];2.说明(1)数组名是用户定义的标识符,数组名表示了一个存储区的首地址(即第一个数组元素的地址)(2)数组长度:指数组中元素的个数(3)数组元素的下标由零开始数组a有10个元素:a[0],a[1]…a[9](4)常量表达式中不能包含变量,常量表达式的值不能是实数84:668095101010121014:1028a[0]a[1]a[2]:a[9]二、数组元素的引用1.引用

4、形式:数组名[下标]注意:如果出现a[5]=72;编译时不会指出错误,系统会将a[4]后下一个存储单元赋值为72,但这样可能会破坏数组以外其他变量的值847566809510101012101410161018a[0]a[1]a[2]a[3]a[4]72a[5]1020假设这个存储空间是变量x的,实际上a[5]是不存在的,如果执行了a[5]=72,会将x原有的正确数据覆盖掉2.说明(1)下标可以是整型常量或整型表达式如:a[1],a[2*3](2)数组定义为inta[5],数组长度为5而下标在0----4之内,即a[0]----a[4]三、

5、一维数组的初始化1.概念:在定义一维数组时对各元素指定初始值称为数组的初始化如:inta[5]={1,3,5,7,9};2.说明对数组的全体元素指定初值,初值用{}括起来,数据之间用逗号分开.在这种情况下,可以不指明数组的长度,系统会根据{}内数据的个数确定数组的长度如:inta[]={1,3,5,7,9};(2)对数组中部分元素指定初值(这时不能省略数组长度)如:inta[5]={1,3,5};(3)使数组中的全部元素初始值都为0如:inta[5]={0,0,0,0,0};更简单的写法:inta[5]={0};例1:输入一个数据,在已知数

6、组中查找是否有该数据5801926374x9a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]main(){inti,x;inta[10]={5,8,0,1,9,2,6,3,7,4};scanf(“%d”,&x);for(i=0;i<10;i++)if(x==a[i]){printf(“find!”);break;}if(i==10)printf(“nofind!”);}例2:用数组求fibonacci(斐波纳契)数列的前20个数main(){inti,f[20]={1,1};for(i=2;i<20;

7、i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%4==0)printf(“”);printf(“%6d”,f[i]);}}110000:0f[0]f[1]f[2]f[3]f[4]f[5]:f[19]23586765i=2f[2]=f[0]+f[1]i=3f[3]=f[1]+f[2]i=4f[4]=f[2]+f[3]例3:用冒泡排序法对6个数进行排序(从小到大)972541a[0]a[1]a[2]a[3]a[4]a[5]72541927754712541794515241579214579141

8、2冒泡排序方法:依次比较相邻的两个数,将小数放前面,大数放后面.n个数排序需要进行n-1轮比较,从第1轮到第n-1轮,各轮的比较次数依次为:n-1次、n-2次…1次9725419

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

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

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