网站大量收购独家精品文档,联系QQ:2885784924

[理学]c语言_课件第6章_函数.ppt

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

第六章 函 数 6.1 函数的定义和引用 6.1 函数的定义和引用 6.1.2 函数的引用 6.1.3 函数(原形)的说明(声明) (2)如果被调用函数的说明是在调用函数的内部,则该说明仅对该调用函数有效(说明一般在该函数的开始的位置)。 如果被调用函数的说明是在函数之外,则该说明对以后的所有调用都有效。 (3)下面几种情况可省略说明 例6-1 编制两数相加程序(用函数方法处理程序)。 6.1.4 函数(程序)的执行过程 C程序中的函数具有以下的特点: 例6-2 求两个整数中较大的一个数,并输出(用函数方法处理程序)。 例6-3 编一个程序,计算任一输入的整数的各位数字之和 (用函数的方法处理程序) 。 例6-4 用函数的方法计算球体体积和表面积。 例6-5 编制求 n! 的函数。 6.2 变量的存储形式及作用域 6.2.1 自动型变量(auto型) 6.2.2 寄存器型变量(register型) 6.2.3 静态型变量(static型) 例6-8 读程序,写出程序运行结果。 例6-9 读程序,写出程序运行结果。 例6-10 读程序,写出程序运行结果。 6.2.4 外部型变量(extern型) 例6-11-2 读程序,写结果。 例6-12 读程序,写结果。 例6-13 读程序,写结果。 变量的定义格式 6.3 函数的数据传递 6.3 函数的数据传递 6.3.1 传地址方式 例6-14 例6-15 该例中实参、形参均是数组名。 6.3.2 利用全局变量传递数据 例6-16 读程序,写结果。 6.4 数组与函数 6.4 数组与函数 例6-18 求10名学生的平均成绩。 6.5 字符串与函数 6.5 字符串和函数 例6-19 求字符串长度(实参为字符串数组,形参为指针变量)。 例6-20 在字符数组中,存有一组字符串,请按ASCII码的顺序将其输出。 6.6 指针型函数 6.6 指针型函数 例6-21 打印各月份的英文名字。 6.7 指向函数的指针 6.7 指向函数的指针 6.7.1 函数指针的概念 6.7.2 函数指针的定义和引用 6.7.3 函数指针的应用举例 例6-23 用函数指针直接调用函数。 函数的递归调用 函数间数组元素的传递 数组是相同数据类型的数据的有序集合。 数组是 C 语言中构造类型数据,使用频繁。 在实际应用中,函数间数据的传递一定有数组元素的传递问题,如何把数组元素传递给被调用函数,被调用函数又是怎样进行处理呢? float average(float *array) { …… } main( ) { float score[10],aver; …… aver=average(score); …… } 被调用函数的形参为指针变量 调用函数的实参为数组名 方法一:(数组-指针) 在实际应用中,函数间数组元素数据传递的方法有两种: 在调用函数中,将数组的首地址作调用函数为实参,而在被调用函数的形参为指针型参数。这样,实参只要把数组的首地址传递给形参的指针变量,被调用函数就可以利用该指针来引用数组了。 float average(float array[10]) { …… } main( ) { float score[10],aver; …… aver=average(score); …… } 被调用函数的形参为数组 调用函数的实参为数组 方法二:(数组-数组) 在调用函数中,将数组的首地址作为实参来调用函数,而在被调用函数的定义中,用数组名作形参,利用该数组名接收传来的数组首地址。被调用函数就可以利用数组名处理数组的诸元素了。 #include stdio.h float average(float *array) { int i; float aver,sum=0; for(i=0;i10;i++) sum=sum+*(array+i); aver=sum/10; return(aver); } main( ) { float score[10],aver; int i; printf(“input 10 scores:\n”); for(i=0;i10;i++) scanf(“%f”,score[i]); aver=average(score); printf(“average score is %6.2f”,aver); } 运行程序 input 10

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档