C语言数组教程课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言数组教程课件.ppt事业单位模拟考试试题

总结 数组是由同一种数据类型的元素系列构成 数组元素按顺序在内存中连续存储,并通过使用数组下标(或索引)来访问,首元素的索引值为0 数组必须先声明然后才能使用。声明一个数组只是为该数组留出连续内存空间,并不会为其赋任何值 一维数组定义:数据类型 数组名[数组大小] 二维数组可以看作是一维数组的数组 一维数组可用一个循环动态赋值,而二维数组可用二重嵌套循环动态赋值 C把数组名解释为该数组第1个元素(a[0])的首地址,并且C编译器不检查所引用的数组元素下标是否越界 本章主要内容 函数参数的传递方式 根据实参类型的不同,有两种传递方式 值传递 地址传递 1、值传递方式 类型 简单变量(数组之前所学的变量类型) 方式 调用函数时:将实参值复制一份传给函数的形参 调用结束后:原值不变(变的只是副本) 特点 实参与形参占用不同的内存单元 【例】输入两个数,编写函数将它们交换 #include stdio.h void swap ( int x, int y ) { int temp; temp = x; x = y; y = temp; } int main ( ) { int a, b; scanf(%d%d,a,b); swap(a, b); printf(\n%d,%d\n,a,b); } …... …... 2000 2010 2014 2004 2008 200C 5 变量a 变量b (main) 9 变量temp 变量y 变量x (swap) 5 5 9 5 9 COPY 输入:5 9 输出:5,9 形参 实参 值传递 函数参数的传递方式 2、地址传递方式 类型 数组、指针、结构体 方式 调用函数时:将实参地址复制一份传给函数的形参 调用结束后:原值改变 特点 形参与实参占用相同的内存单元 对比 值传递 地址传递 类型 简单类型 数组、指针、结构体 方式 调用函数时: 将实参值复制一份传给函数的形参 调用结束后: 原值不变(变的只是副本) 调用函数时: 将实参地址复制一份传给函数的形参 调用结束后: 原值改变 特点 实参与形参占用不同的内存单元 形参与实参占用相同的内存单元 简记为:传递简单类型是值传递;传递其他类型是地址传递 简单变量和数组作函数参数的区别 数组作函数参数 1、一维数组元素作函数参数 【例】求5个整数中的最小数 #include stdio.h #define N 5 int main( ) { int a[N],i,m; for(i=0;iN;i++) scanf(%d,a[i]); m=a[0]; for(i=1;iN;i++) m=min(m,a[i]); printf(min=%d\n,m); return 0; } int min(int x,int y) { return (xy?x:y); } 传递的是数组元素的值,所以是值传递方式 数组作函数参数 2、一维数组名作函数参数——重点 定义阶段: 形参应定义为数组形式,形参数组的长度可以省略,但是[]不能省略,否则就不是数组形式 如 void fun(int myArray[], int length){ } 调用阶段: 实参为数组名 如: fun(myArray); 数组名表示数组在内存中的起始地址,传递的是数组名,所以是地址传递方式 例:求学生的平均成绩 #include stdio.h float average(int stu[10], int n); int main() { int score[10], i; float av; printf(Input 10 scores:\n); for( i=0; i10; i++ ) scanf(%d, score[i]); av=average(score,10); printf(Average is:%.2f, av); return 0; } float average(int stu[10], int n) { int i; float total=0; for( i=0; in; i++ ) total += stu[i]; return total/n; } 实参用数组名 形参用数组定义 等价于int stu[] . . 2 1 0 9 score 56 23 12 …. …. 88 stu return n0 ? total/n : -1; //更安全 【例8.7】计算最高分 #include stdio.

文档评论(0)

158****9949 + 关注
官方认证
文档贡献者

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

认证主体成都林辰禄信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MA64LRAJ9H

1亿VIP精品文档

相关文档