- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二讲 二维数组的定义与引用 【主要讲授内容】 重点难点教学方法利用多媒体概念 【学时安排】 讲授内容 1.二维数组基本概念 二维数组是既有行又有列的数组的数组。从列的角度来说,即一行就是一个一维数组,所有的行就构成了一个二维数组。在C中,数组是以行优先存放的,因此二维数组的第二维变化最快,然后才是第一维。 (1) 定义形式如下 类型说明型 数组名[下标1][下标2]; 根据C语言的规定,可以把二维数组看作一个特殊的一维数组:它的每一个元素又是一个一维数组。例如, int a[3][3]; 二维数组可看成一维数组的效果如下图所示: 即上述二维数组中的各个元素的存放顺序依次为:a[0][0]-a[0][1]-a[0][2]-a[1][0]-a[1][1]-a[1][2]-a[2][0]-a[2][1]-a[2][2] (2) 初始化 二维数组的初始化方法如下: 1)逐行对所有元素赋初值。例如, int a[2][3]={{1,7,6},{2,3,17}}; 上述初始化列表中的每一对子花括号内的数值严格对应到数组中的一行。数据按顺序赋给该行中的第0列,第1列等等,如果没有足够的列获得初值,则这些列的值将是一个随机值。 2)将所有数据写在一对花括号内。例如, int a[2][3]={1,7,6,2,3,17}; 根据数据元素存储的行优先原则,这些元素先赋值给第一行的元素,再赋值给第二行的元素等等。 3)可以对每行的前一部分元素赋初值。例如, int a[2][3]={{1},{2,6}}; 则1、2、6分别赋值给a[0][0]、a[1][0]、a[1][1]。 4)如果对全部元素赋初值,则第一维的长度可以不指定,但第二维的长度不能省。例如, int a[][3]={1,7,6,2,3,17}; 也可以只对部分元素赋初值,但应分行赋初值。例如, int a[][3]={{1},{2,6}}; (3) 引用形式 数组名[下标1][下标2] 其中,“下标1”表示行下标,“下标2”表示列下标,二者必须都是整型表达式。例如,输出数组a中的第一行第二列的元素: printf(“%d”, a[0][1])。 例如,对于上述array数组,输出第0个元素赋值: printf(“%d”, array[0]); 请注意数组的定义形式和数组元素的引用形式的区别。 2.二维数组应用举例 例7.3 按行优先次序输入一个2X3的矩阵,再按列优先次序输出。 基本思路 (1)定义一个2行3列的二维数组,接收键盘输入 (2)将列数作为控制循环的条件,如果3列还没有输完,则转(3),否则转(4) (3)输出当前列i(首先是第一列,i=0)的当前行j(首先是第一行,j=0)元素的值,即a[j][i],接着,行号加1输出a[j+1][i]后换行,然后将输出列号加1,行号赋为0,再转(2) (4)屏幕按列优先输出矩阵的值, 程序结束 程序见教程P98 例7.4 有一个3X4的矩阵,编程序求出其中最大的那个元素的值,以及它所在的行号和列号。 基本思路 (1)用二维数组a[3][4]存放矩阵,另外定义3个变量max,row,col,用于存放最大值,及所在行号和列号,且它们的初值分别是a[0][0],0,0 (2)外层循环控制行变量i,内层循环控制列变量j (3)在每一次内循环中,将max的值和a[i][j]进行比较,只要发现后者更大,即执行语句块:max=a[i][j]; row=I; col=j; (4)当外循环体结束时,max,row和col变量的值即为所求 程序见教程P99 3.字符数组基本概念 字符数组是数组元素类型为字符类型的数组。字符数组中的一个元素用来存放一个字符。字符数组具有数组的全部特性。 (1)字符串常量 字符数组可以被视为是字符变量的集合。和它相对应的是字符串常量,所谓字符串常量就是用一对双引号括起来的字符常量的集合。例如, abc,hello都是字符串常量。 字符串在存储到内存中时,系统会自动对它加一个′\0′作为结束符。例如:hello表面上看只有5个字符,但在内存中占6个字符,最后一个字符就是由系统自动添加的′\0′,也可以用0或NULL来表示。 (2)字符数组的定义 字符数组包括一维字符数组和多维字符数组(以二维为例)。其定义方式如下: char 数组名[常量表达式]; char 数组名[常量表达式1][常量表达式2]; 例如, char a[10]; char a[3][10]; (3)字符数组的初始化 字符数组的初始化有以下几种方式: 1)对数组进行逐个元素初始化,例如, char c[5]={ ′h′, ′e′,′l′,′l′,′o′}; 在这个例子中,大括号里的5个字符分别赋值给了从c[0]到
有哪些信誉好的足球投注网站
文档评论(0)