- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吉林大学 康辉 高级程序设计语言(一) 第七章 - 数组与指针课件
第七章 数组和指针;7.1 数组及数组元素7.1.1 一维数组;[例7.1]用气泡法完成对10个数从小到大排序。 第一趟扫描找到了最小的数存入a[0],其过程如下: a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] ;;main() { int a[11],i,j,t; printf(“input ten numbers:\n”); for(i=1;i11;i++) scanf(“%d”,a[i]); printf(“\n”); for(i=1;i10;i++) for(j=10;ji;j--) if(a[j-1]a[j]) { t=a[j];a[j]=a[j-1];a[j-1]=t;} printf(“the sorted numbers:\n”); for(i=0;i11;i++) printf(“%d”,a[i]); };上述程序有许多值得改进的地方。 (1)在9趟由底向上的扫描中,可能最后几趟已无任何交换发生,程序应能做到,一旦发现某趟扫描中无任何交换时就会终止; (2)在每趟扫描中,上趟扫描中最后一次交换的位置k是至关重要的,因为当jk时,将再也没有任何交换发生,从而应该在此结束此趟扫描; (3)为使算法具有对称性,扫描的方向有两种可能的选择,一是使轻气泡上浮,一是使重气泡下沉。;例:用选择法排序。即先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换;每比较一轮,找出一个未经排序的数中最小的一个。共应比较9轮。;7.1.2 二维数组;[例7.2]将4×4的矩阵转置并输出。;7.1.3 多维数组;1.同一个数组中的所有元素占用一组连续的存储空间; 2.数组的存储分配按行进行; 3.数组名字表示该数组的首元素地址。 对于一维数组而言,各元素按下标次序依次存放, 如a[0],a[1],a[2],…等等。且有: a[0]: a[1]: a[2]: ;数组中任一元素a[i]的地址可表示为: a[i]=a+i*sizeof(元素类型) 其中sizeof(元素类型):求每个元素占用存储空间的字节数。例如:char ch[10];int a[10]; 设 ch=FFE0,a=FFEA 则 ch[0]=FFE0+0*1=FFE0 a[0]=FFEA+0*2=FFEA ch[1]=FFE0+1*1=FFE1 a[1]=FFEA+1*2=FFEC ┇ ┇ ch[9]=FFE0+9*1=FFE9 a[9]=FFEA+9*2=FFFC C语言不对下标是否越界进行检查,C语言编译程序将实际指向分配给数组x的存储空间以外的存储区域。;二维数组:按行存放 例如:int x[2][3]/*它有2×3个数组元素*/ x[0][0] x[0][1] x[0][2] x[1][0] x[1][1] x[1][2] 其存储分配顺序为: x[0][0]?x[0][1] ? x[0][2] ? x[1][0] ? x[1][1] ? x[1][2] x[0][0] x[0][1] x[0][2] x[1][0] x[1][1] x[1][2];C中的二维数组可以看作是一种特殊的一维数组。 例如float a[3][4]; a[0] a[0][0] a[0][1] a[0][2] a[0][3] a- a[1] a[1][0] a[1][1] a[1][2] a[1][3] a[2] a[2][0] a[2][1] a[2][2] a[2][3] 二维数组元素a[i][j]的地址可以这样得到: a[i][j]=a[i]+j*sizeof(a[0][0]) =a+i*sizeof(a[0])+j*sizeof(a[0][0]) =a+i*16+j*4 例:a[1][2]=a+1*16+2*4=a+24;;7.3 数组的初始化;在对全部数组元素初始化时,可以不指定数组的长度。例如: static int a[5]={1,2,3,4,5}; 可以写成:static i
您可能关注的文档
最近下载
- DELIXI德力西DT(S)SF606 三相电子式多费率电能表(8费率)20240621.pdf
- 化验员应知应会手册正文.docx
- 引擎培训-运维4.0.docx VIP
- 2025至2030中国航空配餐行业市场发展分析及竞争格局与发展趋势报告.docx VIP
- 锅炉原理课件:第七章 锅炉设备的通风计算.ppt VIP
- 引擎培训-运维2.0.docx VIP
- 古代诗人名人高适人物介绍PPT.pptx VIP
- (正式版)C-J-T 298-2008 城镇供水营业收费管理信息系统.docx VIP
- 贵州片区设备运维线路 转正考试题.docx VIP
- 私募股权投资基金基础知识-7月《私募股权投资基金基础知识》押题密卷6.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)