第七章 数 组 - 四川理工学院.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 数 组 - 四川理工学院.ppt

第七章 数 组 7.1 一位数组的定义和引用 7.1.1一维数组的定义 定义方式: 类型说明符 数组名[ 常量表达式] 例:int a[10] 它表示数组名为a,此数组有10个元素。说明: 说明: (1)数组名定义规则和变量名相同; (2)数组名的常量表达式用方括弧而不是圆括弧括起来 (3)常量表达式表示元素的个数,即数组长度。例如: a[10]表示a数组共有10个元素,下标从0开始分别 为:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9] 注意:没有a[10]。 (4)常量表达式中可以包括常量和符号常量,不能包含 变量,即数组的大小不能依赖于程序过程中变量的值。 例如:int n; scanf(“%d”,n); int a[n]; 是不合法的。 7.1.2 一维数组元素的引用 C语言规定,只能逐个引用数组元素而不能一次引用整个数组。 数组元素的表示形式为: 数组名[下标] 其中下标可以是整型常量或整型表达式。例如: a[0]=a[5]+a[7]-a[2*3] 例7.1 数组元素的引用 main ( ) { int i,a[10]; for(i=0;i=9;i++) a[i]=i; for(i=9;i0;i- -) printf(“%d”,a[i]); } 本例使a[0]到a[9]的值为0~9,然后按逆序输出。 7.1.3 一维数组的初始化 (1)在定义数组时对数组元素赋以初值。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9} 其中:a[0]=0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=5, a[6]=6, a[7]=7, a[8]=8, a[9]=9 (2)可以只给一部分元素赋值。 例如:int a[10]={0,1,2,3,4}; 其中:a[0]=0, a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=0, a[6]=0, a[7]=0, a[8]=0, a[9]=0 (3)如果想使一个数组中全部元素值为0,可以写成: int a[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 不能写成: int a[10]={0*10} (4)在对全部数组元素赋初值时,可以不指定数组长度。 例如: int a[5]={0,1,2,3,4} 可以写成: int a[ ]={0,1,2,3,4} 但是如果被定义的数组长度与提供初值的个数不相同时,则数组长度不能省略。 例如: int a[10]={0,1,2,3,4}; 只初始化了前5个元素,后5个元素为0。 7.1.4 一维数组程序举例 例7.2 用数组来处理求Fibonacci数列问题。 main( ) { int i; int f[20]={1,1}; for (i=2;i20;i++) f[i]=f[i-2]+f[i-1]; for (i=0;i20;i++) { if(i%5==0) printf(“\n”); printf(“%12d”,f[i]); } } 例7.3 用冒泡法对10个数排序(由小到大)。 冒泡法:对将进行排序的数,相邻两个数进行比较,如果满足次序要求,保持两者位置不变,否则交换位置; 从上述我们可以得出: 如果有n个数参加冒泡排序,则要进行n-1趟比较。 在第j趟比较中有n-j+1个数参加排序,要进行n-j次两两比 较。本例中第2趟有5个数参加排序,进行了4次比较。 main ( ) { int a[10]; int i,j,t; printf(“input 10 numbers:\n”); for (i=0;i10;i++) scanf(“%d”,a[i]); printf(“\n”); for (j=0;j9;j++) for(i=0;i9-j;i++) if(a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t;} printf(“the sorted numbers:\n”); for(i=0;i10;i++) printf(“%d ”,a[i]); } 7.2 二维数组的定义和引用 7.2.1 二维数组的定义 二

文档评论(0)

dreamclb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档