c语言程序设计与项目实践第7章.ppt

c语言程序设计与项目实践第7章.ppt

ID:55827810

大小:1.04 MB

页数:28页

时间:2020-06-09

c语言程序设计与项目实践第7章.ppt_第1页
c语言程序设计与项目实践第7章.ppt_第2页
c语言程序设计与项目实践第7章.ppt_第3页
c语言程序设计与项目实践第7章.ppt_第4页
c语言程序设计与项目实践第7章.ppt_第5页
资源描述:

《c语言程序设计与项目实践第7章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章数组本章的学习重点◆一维数组的定义◆一维数组的应用◆二维数组的定义与初始化◆二维数组的应用◆字符数组的定义与赋值◆字符数组的应用7.1一维数组数组必须先定义后使用。一维数组的一般定义形式为:类型说明符数组名[常量表达式];其中,类型说明符指任何一种基本数据类型如int、char、float或double等,也可以是特殊类型或构造类型数组名类似于定义变量时的变量名,是用户自定义标识符。用户标识符的命名应遵循变量名的命名规则。常量表达式用于指定数组元素的个数,也称为数组的长度。这里请注意,常量表达式一定是常量或常量构成的表达式

2、,不能使用变量或变量构成的表达式。例如,定义长度为5的int型数组a,定义方式为:inta[5];7.1.1一维数组的定义1.定义数组注意事项:(1)定义数组应遵循数组定义格式。其中类型说明符与数组名之间应该有一个或多个空格。(2)数组名和左中括号之间不能有空格。(3)常量表达式只能是常量或由常量构成的表达式。例如下面的定义是非法的:inta=3;intb[a+3];(4)常量表达式的值表示数组的长度,即表示数组共有多少元素。一旦数组长度确定,就不能修改。(5)数组名不能和其他变量重名。7.1.1一维数组的定义2.一维数组的含义

3、通常,数组用于表示几个数据类型相同的变量,即数组元素。C语言中,一般使用数组名和下标来引用数组元素,并且下标从0开始顺次增加。例如有下列定义:inta[5];上述语句定义了一个int型数组a,共有5个元素,分别为a[0]、a[1]、a[2]、a[3]和a[4]。这5个元素都是int型,等同于5个int型变量。这里一定注意,数组下标是从0开始,而不是1,因此,最大下标的数组元素是a[4],而不是a[5]。此外,还可以以指针类型引用数组,例如元素a[1]也可以使用*(a+1)来引用,本书将在后续章节作详细介绍。7.1.1一维数组的定

4、义3.数组在内存中的存放方式数组在内存中是连续存放的,占据连续的内存单元。例如,定义数组:chara[4];表示定义了包含4个元素的数组a。它在内存中占4个字节,存储逻辑结构如下图所示。7.1.1一维数组的定义数组类型不同,它所占的内存字节数也不相同,但其各元素的存放是连续的。通常,数组在内存中所占的字节数为:数组内存字节数=数组元素数据类型所占字节数*数组长度例如:shortm[5];intn[3];如图所示为内存结构图:7.1.2一维数组赋值与引用数组一定要先定义后使用,数组在引用时使用数组下标来引用数组,例如定义数组:fl

5、oatff[N];则可以使用ff[0]、ff[1]、……、ff[N-2]和ff[N-1]索引每个数组元素。1.数组下标越界引用数组下标最大为N-1。C语言并没有对数组作下标越界检查,假如使用ff[N]或ff[N+5]等方式引用数组,C语言将在编译时提示程序运行者这样操作的警告,但并不影响程序编译。范例7.1OutputArrayValueWithoutSet.c数组在使用时经常出现越界使用的情况,这种情况会导致输出错误结果。例如,要存储5个学生成绩时,使用数组来存储,在输入这5个学生成绩之前,通过打印数组元素的值先验证数组中存储

6、的内容。7.1.2一维数组赋值与引用2.数组定义赋初值数组可以在定义时赋初值,例如:inta[5]={10,20,30,40,50};数组定义时赋初值使用大括号将各元素的初始值封装,各初始值之间使用逗号分隔。也可以不给出数组的长度,例如,下面的定义也是正确的:inta[]={10,30,20,15,80};这种方式系统将数组a的长度默认为5。范例7.2InitialValueDefineArray.c数组在定义赋初值时,若只对前面一部分元素赋值,那么没有赋值的元素将被系统自动赋值为0。定义一个有5个元素的数组,验证这一说法。7.

7、1.2一维数组赋值与引用3.数组元素赋值数组也可以先定义后赋值,此时只能对某个元素赋值,不能对整个数组赋值。例如,下面的执行是错误的:inta[5];a={4,5,7,10,21};C语言不支持对整个数组作引用。正确的赋值方式为:inta[5];a[0]=4;a[1]=5;a[2]=7;a[3]=10;a[4]=21;7.1.2一维数组赋值与引用4.数组的输出数组输出只能按元素输出,而不能一次输出数组中所有的元素。例如:inta[3]={12,22,35};printf(“%d”,a);5.数组首地址与数组元素地址数组首地址是指

8、该数组在内存中的起始位置,通常使用数组名表示数组首地址。若定义:inta[10];则数组a的首地址为a。范例7.3SetElementValueOfArray.c设计两个数组,分别使用两种不同的索引方式输入数组的值,然后计算第一个数组元素的和与第二个数组元素的积

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

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

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