计算机二级第06讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机二级第06讲

为了解决比较复杂的问题,本章介绍C语言提供的一种最简单的构造类型──数组。 数组含义:多个变量的有序排列.从存储角度看,如果一个变量代表一个存储单元,那么一个数组则代表一批连续排列在一起的存储单元,并且存放相同类型的数据。 6.1 一维数组的定义和引用 6.2 二维数组的定义和引用 6.3 字符数组与字符串 [Return] 第6章 数 组 6.1 一维数组的定义和引用 6.1.1 一维数组的定义 6.1.2 一维数组元素的引用 6.1.3 一维数组元素的初始化 6.1.4 一维数组应用举例 [Return] 数组同变量一样,也必须先定义、后使用。 一维数组是只有1个下标的数组,定义形式如下: 数据类型 数组名[常量表达式][, 数组名2[常量表达式2]……]; (1)“数据类型”是指数组元素的数据类型。 (2)数组名,与变量名一样,必须遵循标识符命名规则。 (3)“常量表达式”必须用方括号括起来,指的是数组的元素个数(又称数组长度),它是一个整型值,其中可以包含常数和符号常量,但不能包含变量。注意:C语言中不允许动态定义数组。 6.1.1 一维数组的定义 特别说明:在数组定义时,“常量表达式”外的方括号;以及元素引用时,“下标表达式”外的方括号,都是C语言语法规则所要求的,不是本书所约定的可选项的描述符号。 (4)数组元素的下标,是元素相对于数组起始地址的偏移量,所以从 0 开始顺序编号。 (5)数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。 a 等价于 a[0]. (a已经不是一个变量,而是一个地址) 6.1.1 一维数组的定义 地址计算: 例如: int a[5]; 数组a的起始地址为1000. a[0] a[1] a[2] a[3] a[4] 1000 Loc(a[4]) 计算公式: loc(a[i])=loc(a[0])+i*b 其中b代表每个元素所占的字节数. 例如:上图中数组a的起始地址为1000, a的类型为整型(2字节),则a[4]的起始地址为1008. [Return] 6.1.2 数组元素的引用 引用数组中的任意一个元素的形式: 数组名[下标表达式] 1.“下标表达式”可以是任何非负整型数据,取值范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动检验数组元素的下标是否越界。因此在编写程序时,保证数组下标不越界是十分重要的. 6.1.2 数组元素的引用 2.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 3.在C语言中,数组不能作为一个整体参加数据运算,只能对单个的数组元素进行处理。 [Return] 6.1.3 一维数组元素的初始化 初始化格式: 数据类型 数组名[常量表达式]={初值表} (1)如果对数组的全部元素赋以初值,定义时可以不指定数组长度(系统根据初值个数自动确定)。如果被定义数组的长度,与初值个数不同,则数组长度不能省略。 例: int a[]={1,3,5,7,9}; 6.1.3 一维数组元素的初始化 (2)“初值表”中的初值个数,可以少于元素个数,即允许只给部分元素赋初值。且没有赋值的元素值为0.如果没有赋值和初始化,则数组元素的值为不确定的数。(举例说明62.c) 例: int a[10]={1,2,3,4,5}; 则a[5]~a[9]都为0. (3)如果给一维数组赋值或输出,采用一层循环,用循环变量作为下标进行控制。 [Return] 示例1(max.c):求数组元素的最大值 #includestdio.h main() { int i,a[10],max; for(i=0;i10;i++) scanf(%d,a[i]); max=a[0]; for(i=1;i10;i++) { if(a[i]max) max=a[i]; } printf(%d ,max); } 示例2(jiaohuan.c):交换数组元素,使第一个和最后一个交换,第二个和倒数第二个交换,依次类推。如数组为1,2,3,4,5,6,7,8,9,10,交换后为10,9,8,7,6,5,4,3,2,1(或者称为:逆置数组元素中的值) #includestdio.h main() { int i,a[10],t; for(i=0;i10;i++) scanf(%d,a[i]); for(i=0;i10/2;i++) {t=a[i];a[i]=a[10-1-i]; a[10-1-i]=t;} for(i=0;i1

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档