程序设计基础第4章(08级).ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计基础第4章(08级)

教学要求 重 点: 数据的概念及存储结构、数组定义与访问、字符串处理、排序问题、矩阵运算、Josephus问题 难 点: 数组的存储结构、排序问题、Josephus问题 4.1数组的概念 4.1.1数组的概念 数组—一组类型相同的数据。 数组的表现形式 一维数组 a1, a2, a3, a4, · · ·, an ai (i=1, 2, 3, · · ·n)是数组的第 i个元素,该元素的下标。 二维数组 b11, b12, b13, · · ·, b1m b21, b22, b23, · · ·, b2m · · · · · · · · · bk1, bk2, bk3, · · ·, bkm bij 是数组第i行、第j列个元素,i是该元素的行标,j是该元素的列标。 高维数组:下标的个数多于2个。 4.1.2 数组的数据结构 从逻辑上看,数组元素之间具有顺序关系 数组在计算机内存中的存储结构 通常用一块连续的存储空间按照数据元素原有的顺序进行存储。 4.2数组的定义与访问 4.2.1数组的定义 为了能够处理如前面见到的一组类型相同的一组数据(数组),C/C++语言提供了数组类型,它是用户自己根据需要构造的数据类型。 数组定义的语法格式 数据类型 数组名[常量1][常量2]· · · 数据类型:数组中元素的数据类型 数组名:数组的标识符 [常量1][常量2]· · ·:数组维数与每一维有多少个元素。 int a[5]; 定义一个一维数组a,它有5个元素。 float b[3][4]; 定义一个二维数组 b,它有3行,4列,共12个元素。 int c[2][3][4];定义一个三维数组 c,它有2层,3行,4列,共24个元素。 数组定义的物理意义是在内存中开辟一个与定义要求大小相同的连续存储空间。数组名除作为数组的标识符外,它还是数组存储空间的首地址。 数组元素 数组的每一个元素就是一个规定类型的变量,与简单变量的作用相同。所以也称为带下标的变量简称下标变量。 数组元素的表示: int a[5]的各元素表示成: a[0], a[1], a[2], a[3], a[4] float b[2][3]的各元素表示成: b[0][0], b[0][1], b[0][2]; b[1][0], b[1][1], b[1][2] 元素的下标从0开始,到数组长度减1结束。但这并不表明,在程序中出现a[5], a[6]这样的元素会出错,编译系统没有数组越界提示。数组元素使用如果越界,可能导致覆盖其他相关数据。 二维数组应视为是以一维数组为元素构成的一维数组。 4.2.2数组的访问(引用) 数组的初始化 数组的初始化即是在数组定义时给定数组各元素的初始值。 一维数组的初始化 int a[5]={1, 2, 3, 4, 5}; //作用是对应地将1放到a[0]中,2放到a[1]中等。 数组定义可以根据初始化数据的情况决定数组的大小。即 int b[ ]={1, 2, 3, 4, 5}; 如果数组的大小与初始化的数据个数不符时,必须指明数组的大小。 int a1[5]={1, 2, 3} 这种情况,1,2,3分别对应初始化a[0],a[1],a[2]元素,其他元素默认被初始化为0。 二维数组的初始化 int a1[2][3]={{1, 2, 3}, {4, 5, 6}}; //将1,2,3分别对应初始化a1[0][0], a1[0][1], a1[0][2]; //将4,5,6分别对应初始化a1[1][0], a1[1][1], a1[1][2]; 也可以写成如下形式: int a1[2][3]={1, 2, 3, 4, 5, 6}; int a1[2][3]={{1, 2}, {3}}; //只初始化第0行前两个元素,第1行的a1[1][0]元素,其他元素默认值为0。 二维数组定义可以根据初始化数据的组数情况决定数组的行数。即 int a1[ ][3]={{1, 2, 3}, {4, 5, 6}}; 但是,列元素的个数不能省略。即 int a1[2 ][ ]={{1, 2, 3}, {4, 5, 6}}; //不合法 数组元素的访问 每一个数组元素就是一个独立的变量,数组元素可以通过按下标访问

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档