- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.4 C语言与MCS–51 3.4 C语言与MCS–51 3.5.1 一维数组 注意:(1)C语言中,数组下标从0开始. (2)C语言不允许对数组的大小做动态定义. 例如:int n=5; int a[n]; 二、数组元素的引用方式 数组名 [下标]例: a[0] = a[5] + a[7] - a[2*3] 三、一维数组的初始化 初始化:在定义时指定初始值,编译器把初值赋给数组变量。 赋 值:使用赋值语句,在程序运行时把值赋给数组变量, 如a[0] = 2。 1、一般初始化, int a[10] = { 0,1,2,3,4,5,6,7,8,9}; 花括号后有分号 int array[10] = {1,2,3,4,5,6,7,8,9,10}; 2、部分元素初始化, int a[10] = {0,1,2,3,4}; 仅前5个元素赋初值,后5个元素未指顶初值。 3、全部元素均初始化为0, int a[10] = {0,0,0,0,0,0,0,0,0,0}; /*a{0]~a[9]=0*/ 4、在对全部数组元素赋初值是,可以不指定数组长度。 例如: int a[5]={1,2,3,4,5}; 可以写成:int a[ ]={1,2,3,4,5}; 3.5.2 二维数组 二维数组的理解: 二维数组的元素在内存中的存放顺序:按行存放,即:先顺序存放第一行的元素,再存放第二行的元素。(最右边的下标变化最快,第一维的下标变化最慢)。 二、二维数组中元素的引用 用数组名和下标引用元素 例、float a[2][3]; 有6个元素,按如下方式 引用各元素: a[0][0]、a[0][1]、a[0][2]、 a[1][0]、a[1][1]、a[1][2] 三、二维数组的初始化 1、分行初始化: int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; 1 2 3 4 5 6 7 8 9 10 11 12 2、全部数据写在一个大括号内: int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; 3、部分元素初始化: int a[3][4] = {{1},{5},{9}}; 1 0 0 0 5 0 0 0 9 0 0 0 仅对a[0][0]、a[1][0]、a[2][0]赋值,编译器自动为未赋值元素指定初值0。 4、如果对全部元素赋初值,则第一维的长度可以不指定,但必须指定第二维的长度。 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 与下面定义等价: int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 四、二维数组程序举例 算法: 首先把第一个元素a[0][0]作为临时最大值max,然后把临时最大值max与每一个元素a[i][j]进行比较,若a[i][j]max,把a[i][j]作为新的临时最大值,并记录下其下标i和j。当全部元素比较完后,max是整个矩阵全部元素的最大值。 main () { int i,j,row=0,colum=0,max; int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max = a[0][0]; /*首先把第一个元素a[0][0]作为临时最大值max*/ for(i=0; i=2; i++) /* 用两重循环遍历全部元素 */ for(j=0; j=3; j++) if (a[i][j] max ) { max = a[i][j]; row = i; colu
文档评论(0)