高素质编程师语言课件第五章

上传人:沈*** 文档编号:250942822 上传时间:2024-11-04 格式:PPT 页数:40 大小:1.32MB
返回 下载 相关 举报
高素质编程师语言课件第五章_第1页
第1页 / 共40页
高素质编程师语言课件第五章_第2页
第2页 / 共40页
高素质编程师语言课件第五章_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,高素质编程师湖南大学语言课件第五章,16、云无心以出岫,鸟倦飞而知还。,17、童孺纵行歌,斑白欢游诣。,18、福不虚至,祸不易来。,19、久在樊笼里,复得返自然。,20、羁鸟恋旧林,池鱼思故渊。,高素质编程师湖南大学语言课件第五章高素质编程师湖南大学语言课件第五章16、云无心以出岫,鸟倦飞而知还。,17、童孺纵行歌,斑白欢游诣。,18、福不虚至,祸不易来。,19、久在樊笼里,复得返自然。,20、羁鸟恋旧林,池鱼思故渊。第五章 数组构造数据类型之一,数组:有序数据的集合,用数组名标识,元素:属同一数据类型,用数组名和下标确定,5.1 一维数组,一维数组的定义,定义方式:数据类型 数组名 常量表达式;合法标识符表示元素个数,下标从0开始 :数组运算符,单目运算符,优先级(1),左结合,不能用()例 int a6;编译时分配连续内存,内存字节数=数组维数*,sizeof(元素数据类型)数组名表示内存首地址,,是地址常量Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.一维数组的引用,数组必须先定义,后使用,只能逐个引用数组元素,不能一次引用整个数组,数组元素表示形式:数组名下标,其中:下标可以是常量或整型表达式例 int i=15;,int datai;(不能用变量定义数组维数)例 int a10;,printf(“%d”,a);(),必须 for(j=0;j10;j+),printf(“%dt”,aj);()例 int data5;,data5=10;/C语言对数组不作越界检查,使用时要 注意Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,高素质编程师湖南大学语言课件第五章16、云无心以出岫,鸟倦飞,1,高素质编程师语言课件第五章,高素质编程师语言课件第五章,高素质编程师语言课件第五章,高素质编程师语言课件第五章,例 用数组求Fibonacci数列前20个数,f0,f1,f2,f3,f4,f5,f19,.,1,1,f19,0,1,4,5,2,3,19,2,3,5,#include,main(),int i;,int f20=1,1;,for(i=2;i20;i+),fi=fi-2+fi-1;,for(i=0;ia1,则交换;然,后比较第二个数与第三个数;依次类推,直至第n-1个数和第,n个数比较为止,第一趟冒泡排序,,结果,最大,的数被安置在,最后一个元素位置上,(2)对前n-1个数进行第二趟冒泡排序,结果使,次大,的数被安置在,第n-1个元素位置,(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,例 用冒泡法对10个数排序排序过程:Evaluation,例,38 49 65 76 13 27 30,97,第一趟,38 49 65 13 27 30,76,第二趟,38 49 13 27 30,65,第三趟,38 13 27 30,49,第四趟,13 27 30,38,第五趟,13 27,30,第六趟,49 38 65 97 76 13 27 30,初始关键字,n=8,38,49,76,97,13,97,27,97,30,97,13,76,76,76,27,30,13,65,27,65,30,65,13,13,49,49,30,49,27,38,27,38,30,38,13,27,第七趟,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,例38 49 65 76 13,输入n 个数给a1 到 an,for j=1 to n-1,for i=1 to n-j,aiai+1,真,假,ai,ai+1,输出a1 到 an,#include,main(),int a11,i,j,t;,printf(Input 10 numbers:n);,for(i=1;i11;i+),scanf(%d,printf(n);,for(j=1;j=9;j+),for(i=1;iai+1),t=ai;ai=ai+1;ai+1=t;,printf(The sorted numbers:n);,for(i=1;i11;i+),printf(%d,ai);,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,输入n 个数给a1 到 anfor j=1 to,例 用简单选择法对10个数排序,排序过程:,(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数,交换,第一趟选择排序,,结果,最小,的数被安置在第一个元素位置上,(2)再通过n-2次比较,从剩余的n-1个数中找出关键字,次小,的记录,,将它与第二个数交换,第二趟选择排序,(3)重复上述过程,共经过n-1趟排序后,排序结束,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,例 用简单选择法对10个数排序排序过程:Evaluatio,例,初始:49 38 65 97 76 13 27,k,j,i=1,13,49,一趟:,13,38 65 97 76 49 27,i=2,27,38,二趟:,13 27,65 97 76 49 38,三趟:,13 27 38,97 76 49 65,四趟:,13 27 38 49,76 97 65,五趟:,13 27 38 49 65,97 76,六趟:,13 27 38 49 65 76,97,k,k,k,k,j,j,j,j,j,j,j,j,j,j,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,例初始:49 38 65,Ch5_201.c,输入n 个数给a1 到 an,for i=1 to n-1,for j=i+1 to n,ajak,真,假,k=j,输出a1 到 an,k=i,ai,ak,i!=k,真,假,#include,main(),int a11,i,j,k,x;,printf(Input 10 numbers:n);,for(i=1;i11;i+),scanf(%d,printf(n);,for(i=1;i10;i+),k=i;,for(j=i+1;j=10;j+),if(ajak)k=j;,if(i!=k),x=ai;ai=ak;ak=x;,printf(The sorted numbers:n);,for(i=1;i11;i+),printf(%d,ai);,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,Ch5_201.c输入n 个数给a1 到 anfor,#define N 6,main(),int aN,bB-60,c=1,2,3,4,5,6,i;,for(i=0;iN;i+),scanf(“%d%d”,&,ai,for(i=0;iN;i+),printf(“%d ”,ai);,printf(“n”);,for(i=0;iN;i+),printf(“%d ”,bi);,printf(“n”);,for(i=0;iN;i+),ci=ai+bN-i-1;,for(i=0;iN;i+),printf(“%d ”,ci);,数组定义:必须用,常量,表达式,数组元素引用,Ch6_001.c,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,#define N 6数组定义:必须用常量表达式数组,5.2,二维数组及多维数组,二维数组的定义,定义方式:,数据类型数组名常量表达式常量表达式;,数组元素的存放顺序,原因:内存是一维的,二维数组:按行序优先,多维数组:最右下标变化最快,例 int a34;,float b25;,int c234;,int a3,4;,(,),行数,列数,元素个数=行数*列数,int a32,a,0,1,a,1,0,a,1,1,a,2,0,a,2,1,0,1,4,5,2,3,a,0,0,a00 a01,a10 a11,a20 a21,int c234,0,1,2,3,4,5,6,7,.,20,21,22,23,c000,c001,c002,c003,c010,c011,c012,c013,c020,c021,c022,c023,c100,c101,c102,c103,c110,c111,c112,c113,c120,c121,c122,c123,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,5.2 二维数组及多维数组数组元素的存放顺序例 int a,二维数组理解,例 int a34;,2016,17,2018,19,2020,21,2022,23,2008,9,2010,11,2012,13,2014,15,2000,1,2002,3,2004,5,20006,7,a00,a01,a02,a03,a10,a11,a12,a13,a20,a21,a22,a23,每个元素ai由包含4个元素,的一维数组组成,二维数组a是由3个元素组成,a0,a1,a2,行名,0,1,4,5,2,3,a01,a02,a03,a10,a11,a00,a13,a20,a21,a22,a23,a12,6,7,10,11,8,9,a0,a1,a2,Evaluation only.,Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.,Copyright 2004-2011 Aspose Pty Ltd.,二维数组理解例 int a34;2016201,二维数组元素的引用,形式:,数组名下标下标,二维数组元素的初始化,分行初始化:,例 int a23=,1,2,3,4,5,6,;,a00,a01,a02,a10,a11,a12,1,2,3,4,5,6,全部初始化,按元素排列顺
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!