C语言课件第08章

C语言课件第08章

ID:38834103

大小:342.82 KB

页数:51页

时间:2019-06-20

C语言课件第08章_第1页
C语言课件第08章_第2页
C语言课件第08章_第3页
C语言课件第08章_第4页
C语言课件第08章_第5页
资源描述:

《C语言课件第08章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章一维数组的应用8.1了解一维数组8.2一维数组的简单应用8.3利用地址和指针访问数组元素8.4与一维数组有关的参数传递8.5一维数组操作中的常用算法介绍8.1了解一维数组8.1.1一维数组的用途8.1.2一维数组的定义在C语言中,数组必须先定义才可以使用。当定义数组时,要传递给编译器两方面的信息:①数组共有多少个元素?②每个元素占多少个字节?根据以上信息,编译器决定分配多大的存储空间给该数组使用。例如:inta[10];这里a是数组的名称,方括号中的10表明数组一共有10个元素,下标应该从0开

2、始到9结束;类型名int限定数组a的每个元素中只能存放整型数。根据这一定义,系统将为数组a开辟能容纳10个整型数的连续存储单元。一维数组定义语句的语法形式为:类型名数组名[常量表达式],……;说明(1)“类型名”决定了数组中可以存放的数据的类型。(2)“数组名”和变量名相同,必须遵循标识符的命名规则。(3)“常量表达式”代表的是数组元素的个数,也就是数组的长度。它必须是无符号整型常量,不允许是0、负数和浮点数,也不允许是变量。(4)C语言中规定:每个数组第一个元素的下标固定为0,称为下标的下界;最后

3、一个元素的下标为元素个数减1,称为下标的上界。(5)数组的定义可以和普通变量的定义出现在同一个定义语句中。例如:floatk,x[5],y[20];以上语句在定义单精度变量k的同时,定义了两个单精度型的一维数组x和y。数组x共有5个元素,下标的使用范围是0~4;数组y共有20个元素,下标的使用范围是0~19。8.1.3一维数组元素的引用数组一经建立,在内存中就占据着一串连续的存储单元。8.1.4一维数组的初始化8.2一维数组的简单应用例8.1编写程序,在数组x中存储自然数1~20,然后按以下要求输出

4、数据:①按逆序分两行输出元素值。②在一行上输出所有下标为偶数的数组元素。③在一行上输出所有值为偶数的数组元素。问题分析本例题涉及的是对数组元素进行操作的基本算法。对一维数组各元素的访问,通常是在单重循环中实现。通过循环变量与循环体内语句的配合,可以灵活地、有选择地访问指定元素。读者在阅读以下程序时,应理解数组元素下标与数组元素值的区别;掌握如何用循环变量控制数组元素的下标;以及如何在连续输出的过程中控制输出换行。源程序如下:main(){intx[20],i;for(i=0;i<20;i++)/*为

5、数组赋值*/x[i]=i+1;printf("分两行逆序输出:");for(i=19;i>=0;i––)/*控制从数组尾部开始输出*/{printf("%3d",x[i]);if(i%10==0)printf("");/*控制每输出10个元素后换行*/}printf("输出下标为偶数的元素:");for(i=2;i<20;i+=2)printf("%3d",x[i]);printf("");printf("输出值为偶数的元素:");for(i=0;i<20;i++)if(x[i]

6、%2==0)printf("%3d",x[i]);printf("");}程序的运行结果如下:分两行逆序输出:2019181716151413121110987654321输出下标为偶数的元素:35791113151719输出值为偶数的元素:24681012141618208.3利用地址和指针访问数组元素8.3.1数组名、元素地址及指针的关系通过前面的知识积累和本节的进一步介绍,读者应该建立起如下概念。(1)数组是一种构造数据类型。数组名代表着这个数组所占连续存储空间的起始地址。这个地址是在定义

7、数组时由系统所分配的,不可以人为改变。因此,可以认为数组名是一个地址常量。如有定义:intx[5],y[5],m=3;则语句:x=&m;x=y;y++;都是错误的。数组名x和y作为地址常量可以使用,不可以重新赋值。而表达式:x+1、y+2则是合法的。它们表示以数组名为首地址增加一个偏移量后的地址值。(2)就整体而言,每个数组元素都是数组这个集合中的一分子,由于数组所占地址空间是连续的,通过数组名这个首地址就可以找到数组中的所有元素;就个体而言,每个数组元素都可以看作是一个带下标的变量,它完全可以像普

8、通变量一样进行求地址运算。因此,用数组名表示的地址与数组元素的地址之间就有如下关系:x+1等价于&x[1]、y+2等价于&y[2](3)指针变量是用来存放地址值的,它可以通过加、减一个整数在一串连续的存储单元中移动,并可以利用间接访问运算符得到指针所指单元的内容。因此,数组名、数组元素和指针变量之间可以通过数组元素的地址建立起关系。若有如下定义:inta[6]={1,2,3,4,5,6},*p;则语句:p=a;等价于p=&a[0];都使指针变量p中存放了数组a的首地址

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

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

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