- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言第五章指针和一维数组
5.1 指针的概念与运算 5.2 指针做函数的参数 5.2 指针做函数的参数 5.2 指针做函数的参数 5.3 一维数组 5.4 数组与指针的关系 5.5 在函数间传递一维数组 5.5 在函数间传递一维数组 5.5 在函数间传递一维数组 5.5 在函数间传递一维数组 5.5 在函数间传递一维数组 算法描述 5.5 在函数间传递一维数组 示例 #include<stdio.h> int fun(int x[ ],int n) { int i,rt=l; for(i=0;i<=n;i++) rt*=*(x+i ) return rt; } void main() { int a[]={2,3,4,5,6,7,8,9}; printf(“\n%d”,fun(a,3)); } 形参的三种写法 数组下标法 5.5 在函数间传递一维数组 3 一维数组做函数参数的思考 要点 可以传递多个参数,上面的例子 可以得到多个返回值 利用return最多能得到一个返回值 传递一个指针能实现返回一个基类型数据 示例:利用数组返回一个数二次方、三次方、…10次方 … … C语言程序设计 * * * 第5章 指针与一维数组 Your company slogan in here 第5章 指针与一维数组 软件学院计算机科学与技术教研室 冯海文 fh C语言继承了高级语言的内存管理机制,但也还给了编程者一定程度的自主权。 汇编语言程序里使用的数据存放在内存的什么位置等需要编程者自己决定。 权限大,复杂和危险 高级语言不允许编程者直接操作内存,由系统决定内存单元的大小以及在内存区中的位置. 安全,权限小 钥匙:指针 第4章的函数参数可以是整数、浮点数和字符,可以是指针么? 答案是可以。 要点 ? 参数对应,形参和实参都是指针,基类型一致 [例 5.3] 函数的指针参数。 void f(int*p) {Printf(“%P”,p);} void main( ) {int x; float y; f(x);f(int *)&y); } 指针做函数的参数的作用? 传递地址。 要点 ? 利用指针做函数的参数能实现形参影响实参的作用。 用TurboC举例:利用函数传递指针实现交换两个变量的值。 要点 ? 利用指针做函数的参数能实现返回多个返回值的功能。 用TurboC举例:编写一个函数返回一个数的平方和立方。 通过return最多能返回一个值 定义变量解决了个别数据的存储问题,当有大量的数据需要存储时应如何处理呢? 答案是定义数组。 ? 数组是存储同一种类型数据的有序集合。定义一个数组可以替代定义大量的变量,从而降低程序设计的复杂性。 ? 在后续的C++、Java等语言中,还有其它的解决大量数据的存储工具,如vector(向量)、list(列表)和queue(队列)等。 1 一维数组的定义 5.3 一维数组 类型符 数组名[元素个数]; char a[10]; 要点 ?数组名 一个合法的标识符 ?类型符 说明元素的类型 ?元素个数 常量表达式 ?存储属性 可以用auto、static、 extern修饰 一维数组的定义 语法 5.3 一维数组 一维数组的引用 2 一维数组的引用 double a[8]; 元素为a[0]~a[7] 数组名[下标]; a[8] 1. 元素表示 2. 数组元素是普通变量 ?便于循环操作。 ?数组元素总是占用连续的内存区。 a[3]、a[5]都是double变量; a[2]为变量的地址。 语法 5.3 一维数组 一维数组的引用 #includestdio.h void main( ) { int a[10],k; for(k=0; k10; k++) scanf(“%d”, a[k]); for(k=0; k10; k++) printf(“%4d”,a[9-k]*a[9-k]); } 先从键盘接收n个整数,再按与输入相反的次序输出这些数据的平方数。 例5.7 5.3 一维数组 一维数组的引用 C语言不做数组边界检查,是常见的严重错误之一。 int b[10]; b[10] = 3; 超界的数组 x b[9] b[8] b[7] ... b[10] b[10]=x X很生气,后果很严重! X:我的家被b[10]占了! 3. 数组边界 3 定义时的初始化 5.3 一维数组 定义时的初始化 类型
您可能关注的文档
- chapter9静电场中的导体及电介质2011formath.ppt
- class02变量、常量及数据类型.ppt
- CO2气体保护焊的原理和特点.ppt
- CMOS逻辑电路和时序电路分析.ppt
- COITKDJRSI走势技巧.pptx
- Cisco互联网络操作.ppt
- beyond(beyond介绍).ppt
- chp1.5n阶行列式性质.ppt
- COM.TEC血细胞分离机的使用及保养.ppt
- CMTS_casa技术资料_1.ppt
- 2025年天津医科大学朱宪彝纪念医院人事代理制招聘方案(5人)模拟试卷及完整答案详解一套.docx
- 2025年宜宾三江新区事业单位招聘考试(26名)模拟试卷含答案详解(新).docx
- 2025年天津市北辰医院招聘高级专业技术人员(1人)考前自测高频考点模拟试题及一套完整答案详解.docx
- 2025年度中国井冈山干部学院面向全国引进优秀人才(5人)考前自测高频考点模拟试题含答案详解(典型题.docx
- 2025年广东省佛山市南海区事业单位招聘急需紧缺专业博士(10考前自测高频考点模拟试题及一套完整答案.docx
- 2025年广西百色那坡县妇幼保健院招聘编外工作人员招聘(1人)笔试备考试题完整参考答案详解.docx
- 2025年广西百色西林县八达镇人民政府招聘村级财务会计委托代理服考前自测高频考点模拟试题附答案详解(.docx
- 2025年天津市公安局和平分局关于面向社会招聘警务辅助人员(考前自测高频考点模拟试题附答案详解(考试.docx
- 2025年太仆寺旗事业单位引进急需紧缺人才的(4人)模拟试卷含答案详解(最新).docx
- 2025年广西河池罗城特聘农机技术指导员的(1人)模拟试卷及一套答案详解.docx
文档评论(0)