[其它]第6章__C语言数组.ppt

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

北京科技大学 计算机系 第6章 数 组 第6章 数组 6.1 数组的引入 几个概念 数组:具有相同数据类型的数据的有序集合。 数组名:给数组起的名称。 数组元素:数组中的每一个数据,又称为下标变量。 下标:一个整数,用来标识数组元素在数组中的位置。 数组的维数:数组元素下标的个数。 6.2 一维数组及应用 例如: int a[10]; float score[5]; “数据类型”: 是数组元素的数据类型。 “数组名”: 遵循C语言标识符规则。 “数组元素总数”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。 6.2.1 一维数组的定义(续) 以下数组定义是正确的: #define N 10 …… float score1[N], score2[N]; int num[10+N]; char c[26]; 数组在内存的存放 数组下标从0开始。 一维数组的数组元素在内存里按顺序存放。 数组名代表数组的首地址,即score的值与score[0] 的地址值相同。 6.2.2 一维数组元素的引用 格式: 6.2.3 一维数组的初始化 初始化:在定义数组时给数组元素赋初值。 格式:类型说明符 数组名[n]={值1,值2,…,值n}; 数组初始化常见的几种形式为: 6.2.3 一维数组的初始化 注意: 如果不进行初始化,如定义int a[5];那么数组元素的值是随机的,编译系统不会将其设置为默认值0。 6.2.4 一维数组的应用举例 在程序的运行过程中也可以给数组赋值,这种赋值称为动态赋值,下面通过例题说明一些常用的动态赋值方法。 例6.1 【例6.1】对数组元素a[i]用循环语句进行赋值。 main( ) { int i,a[10]; for (i=0; i10; i++) a[i]=i*i+1; for (i=0; i10; i++) printf(%d\n,a[i]); } 例6.2 【例6.2】将初始化数组a的值赋给数组b。 main( ) { int i,a[5]={1,2,3,4,5},b[5]; for (i=0; i5; i++) { b[i]=a[i]*a[i]+1; printf(%d\n,b[i]); } } 例6.3 【例6.3】利用数组已有元素的值给其他元素赋值。 main( ) { int i,a[5]; a[0]=1; for (i=0; i4; i++) { a[i+1]=a[i]*a[i]+1; printf(%d\n,a[i]); } } 例6.4 【例6.4】利用数组求平均值。 main( ) { int i,num[10]; float average,sum=0.0; for (i=0; i10; i++) { printf(“Enter a number:”); scanf(“%d”,num[i]); sum+=num[i]; } average=sum/10; printf(“the average is:%.1f\n,average); } 数组元素排序 冒泡排序法 选择排序法 1、冒泡排序法(由小到大) 基本思路:通过对原序列中相邻两个数的比较和位置交换,使其值较小的数如气泡一般逐渐往上“漂浮”至“水面”。 【例6.5】对六个数由小到大排序 第二趟排序情况如下: 3 5 6 7 0 8 第一次 3和5比较,不交换 3 5 6 7 0 8 第二次 5和6比较,不交换 3 5 6 7 0 8 第三次 6和7比较,不交换 3 5 6 7 0 8 第四次 7和0比较,交换 3 5 6 0 7 8 在第二趟排序中,最大数8不用参加比较,其余的5个数比较了4次,把其中的最大数7排在最后,排出7 8。 以此类推: 第三趟比较3次,排出 6 7 8 第四趟比较2次,排出 5 6 7 8 第五趟比较1次,排出 3 5 6 7 8 最后还剩下1个数0,不需再比较,得到排序结果: 0 3 5 6 7 8 从上述过程可以看到:n个数要比较n-1趟,而在第i趟比较中,要进行n-

文档评论(0)

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

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

1亿VIP精品文档

相关文档