8 二维数组的使用.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文档。上传文档
查看更多
8 二维数组的使用

授课:朱怀忠 zhuhuaizhong@126.com Copyright © HEBUT. All rights reserved C++ Programming 2010 河北工业大学计算机基础课程系列 前言 上次课程内容回顾 一维数组的定义 一维数组的应用 通过循环来依次访问数组元素 循环控制变量既控制循环次数,也作为数组元素的下标 如何查找、排序、移动数组元素 前言 作业中出现的比较多的问题 除法直接写横线, 判断等于不等用一个= 乘法不写* x1中的1写成下标样式 中文变量名 书写太乱 前言 课堂测试 数组 a[2][3][4] 共有多少个元素? int a[4]={2,3,1}; 则 a[3]=? 将序列 8 5 1 4 7 3 2 6 9 10 每两个数互换,形成 5 8 4 1 3 7 ...的样式 让用户输入10个字符,并用字符数组存储,然后编写程序判断这些字符中字母A-z、数字0-9以及其他字符的个数 输入十个字符(可以是字母、数字或者特殊符号),按照其ascii值从大到小输出(要求使用选择法或者冒泡法)。 前言 本次课程内容 二维数组的定义和应用 概念 二维数组 二维数组拥有两个下标,用来表示一个平面的所有数据 比如excel中的一个工作表或者数学上的矩阵 第一维表示行、第二维表示列 概念 二维数组的定义 定义: 数据类型 数组名[常量表达式1][常量表达式2] ,如 int a[2][3] 常量表达是1是第一维,代表元素的行数,表达式2代表列数,所以 a[2][3]是一个2行3列的矩阵,共有 2*3=6 个元素 c++把二维数组看作是一种特殊的一维数组,这个一维数组中的元素又是一个一维数组。把a看作是一个一维数组,它有2个元素:a[0]、a[1],而它们又是一个包含3个元素的一维数组。a[0]、a[1]可看作是两个一维数组的数组名。 注意:上述定义不能写成 int a[2,3]; 也不能写成 a(2,3) 概念 二维数组的存储结构 二维数组的元素是依次存放在内存中的,先从第1行存起,第1行第1列,第1行第2列。。。然后第2行第1列,第2行第2列。。。。依此类推 如 int b[2][6]; 内存中 二维数组 二维数组元素的访问 同一维数组一样,不能直接通过名字来访问整个数组 int a[2][3];int b[2][3];a=b; 这是错误的 正确的引用方式: 数组名[行下标][列下标] ,比如 int a[2][3]; a[0][1]=2; 代表将第1行第二列的元素的值置为2. c++不对数组边界进行检查,下标值超界时系统不指出其错误,需程序员自己小心. 二维数组 二维数组元素的输入输出 对于二维表中的数据,需要行和列都被指定才能定位到它,c++通常用嵌套循环结构来完成对二维数组每个元素的操作,内外层的循环控制变量作为二维数组的两个下标,至于每个控制变量是作为行坐标还是列坐标,则依赖于你访问所有元素的顺序,即,是按行访问,还是按列访问。 如int a[2][3]; 下面提供了常见的几种访问方式 按行读入和输出数据: for(int i=0;i=1;i++) { for(int j=0;j=2;j++) { cout请输入a[i][j]; cina[i][j]; } } 按列依次输出每个元素: for(int i=0;i=2;i++) { for(int j=0;j=1;j++) { couta[j][i] ; } coutendl; } for(int i=0;i=1;i++) { for(int j=0;j=2;j++) { couta[i][j] ; } coutendl; } 注意不一定非得i代表行,j代表列 for(int j=0;j=1;j++) { for(int i=0;i=2;i++) { couta[j][i] ; } coutendl; } 二维数组 二维数组的初始化 初始化指对数组元素赋值的过程,可以有下面几种方式 手工对某个元素赋值,适用于元素较少的情况 int a[2][3]; a[0,0]=1;a[0,1]=2;a[1,2]=3; 没有赋值的元素会是随机值,比如 a[1][0],编译时会提示 warning 。 定义时就赋值,使用花括号嵌套,内层花括号用,分割 int a[2][3]={{1,2,3},{4,5,6}}; 如果定义时就对全部元素赋值,可以省略第一维大小,上面例子等同于 int a[][3]={{1,2,3},{4,5,6}}; 也可以不使用花括号嵌套,依次按照存储顺序将值排列 int a[2][3]={1,2,3,4,5,6}

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档