- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 函数1
函数(本书第7章 ) 教学目的与任务 掌握函数的定义 掌握函数的声明 掌握函数的调用及参数传递方式。 了解函数的嵌套与递归调用。 了解变量的作用域与存储类别。 教学重点:函数的定义、声明、调用、参数传递方式 教学难点:领会函数在C程序中的地位 函数 教学内容 概述 函数定义的一般形式 函数的参数和函数的值 函数的调用 函数的嵌套调用 (了解) 函数的递归调用 (了解) 数组作为函数参数 局部变量和全局变量(了解) 变量的存储类别(了解) 问题的提出 编写如下求组合数的程序: 模块化程序设计方法 例如:要设计一个如下图所示的管理程序: 模块化程序设计方法 人们在求解一个复杂问题的时候,往往采用“逐步分解,分而治之”的策略。也就是把一个大的复杂的问题,分解为几个小的比较容易求解的问题。 程序员在设计一个复杂的程序时,往往也是把整个程序划分为若干个功能单一的程序模块,然后分别予以实现,最后将各个程序模块象搭积木一样组装起来。这种在程序设计中分而治之的策略,叫做“模块化程序设计方法” 模块化程序设计方法 C语言中,函数是程序的基本组成单位,因此,可以方便的使用函数来实现C程序的模块化。 优越性 提高程序的易读性和可维护性 可集体开发,缩短开发周期。 使程序代码得以“复用”,大大减轻程序员的工作量。 测试、更新以模块为单位进行而不会影响其他模块 如: 我们可以将求阶乘的功能定义成一个函数,然后调用三次,分别求出m! n! 和(m-n)!,就可以极大地减少程序中重复的代码。提高程序的可读性,以及提高代码的利用率。 函数分类 库函数 由编译系统提供的已经设计好的函数,用户无须自己实现它,只需要直接加以调用。 一般只能提供一些底层服务功能 用户自定义函数。 程序员自己定义和设计的函数 针对具体应用实现一些特殊功能。 库函数 使用库函数注意的问题 函数的功能 函数参数的数目和顺序,以及每个参数的意义和类型 函数返回值的类型,已经返回值的意义和类型 需要使用的包含文件 int max(int n1, int n2) (例hanshu_001) {return (n1n2?n1:n2); } main() {int max(int n1, int n2); int num1,num2,C; printf(input two numbers:\n); scanf(%d%d, num1, num2); printf(max=%d\n, max(num1,num2)); } 用户自定义函数 使用自定义函数需要考虑以下几个方面的问题: 函数定义:即编写实现函数功能的代码 函数调用:在一个函数中使用自定义函数,该自定义函数称为“被调函数”,调用它的函数称为“主调函数” 函数声明:在调用函数前,在主调函数中加以说明 函数参数的传递:由于主调函数一般会向被调函数传递数据,所以必须弄清楚参数传递的方式。 格式: [数据类型] 函数名(带类型的形参名表) { 内部变量说明; 语句; } 注意:若函数名后面的括号里面可以为空,即为无参数函数 1 函数定义 说明: 数据类型:指函数返回值的类型。 如果函数不带回一个确切的值,则函数类型应该定义为void,即无值类型。 若缺省函数类型,一律按整形处理。 函数是平等的兄弟般的关系,它不能嵌套定义即不能在一个函数体内再定义另一个函数。 1 函数定义 例2(hanshu_002) 计算表达式的值 x 2-x+1 (x0) x3+x+3 (x=0) float y (float x ) { if (x0) return (x*x-x+1); else return (x*x*x+x+3); } 2 函数的声明 一个函数一般要经过声明才能使用(就好象变量一样必须先声明才能使用) 被调函数的定义部分在主调函数之前,可以不用声明 格式:[数据类型] 函数名(类型标记符 [形参] ,… ); 2 函数的声明 3 函数的调用 格式:函数名 ([实参表]); 函数调用的方式 函数调用出现在表达式中:如:c=2*max(a,b); 函数调用单独作为一个语句,一般用于函数无返回值的情况。 (例hanshu_003打印若干三角形) 函数调用又作为另一次函数调用的参数。 执行过程 main() { …… func1(); …… } 练习 编写程序求上述组合数,用函数实现。 (zuhe.c) #include
您可能关注的文档
最近下载
- 内蒙古乌尼特矿业有限责任公司乌尼特煤矿接续生产环境影响报告书.doc
- 特种设备-维护保养记录(叉车-电动托盘堆垛车).docx
- 《多边形的内角和》 示范教学PPT课件【初中数学人教版八年级上册】.pptx
- 紧密型县域医疗卫生共同体消毒供应中心运营指南(2020年版 医联体建设).docx
- 泵站运行考试(高级)习题库(第1部分).pdf
- 挡土墙计算理正岩土(“挡土墙”文档)共21张.pptx
- XXXX生态风景区智慧景区项目施工组织方案及对策.pdf
- 陈培勋平湖秋月五线谱钢琴谱.pdf
- 可爱的中国教案第10课可爱的中国第十课同心共筑中国梦.docx
- 2024《S市乡镇幼儿教师职业幸福感问卷调研分析报告》9700字.docx VIP
文档评论(0)