- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C程序设计
单元八函数函数定义
函数的概念函数的分类0102CONTENT03自定义函数
01函数的概念?函数(function)是一个具有特定的功能的、相对独立的模块,能够被多次使用。?函数设计的要素函数的声明(Declaration)函数的定义(Definition)函数的调用(Call)
02函数的分类?标准库函数:所有符合标准的头文件(headfile)的集合,以及常用的函数库实现程序,例如输入输出函数和字符串函数。?用户自定义函数:用户根据问题求解需要,自己设计的函数。函数名头文件printf()scanf()putchar()getchar()stdio.habs()sqrt()pow()math.hgets()puts()string.h….…..
03自定义函数–函数声明?函数声明也叫函数原型?C中所有标识符遵循先定义后使用的原则?函数声明的目的是向系统提供函数名、参数(数量和类型)、返回类型等相关信息?若有多个函数声明,应放在一起
03自定义函数–函数声明?函数声明的形式:函数类型函数名(类型名形式参数1,类型名形式参数2,…);函数类型函数名(形参类型1,形参类型2,……);
03自定义函数–函数定义?函数定义定义函数具体如何实现相关功能?函数定义必须与函数声明一致(函数名、参数、返回值)?函数定义中返回值必须与返回类型一致?函数定义中的参数称为形式参数,简称形参?自定义函数若定义在调用者之前,可省略函数声明(不建议)
03自定义函数–函数调用?两个角色:调用者与被调用者 例:张三叫李四帮他取快递,张三即为调用者,李四即为被调用者?函数调用即由调用者使用被调用函数?函数调用时传递的参数称为实际参数,简称实参?函数调用时,实参必须与形参一致(类型、数量)
03自定义函数–函数调用?实参的作用是为形参传值若实参为普通类型数据,则称为值传递,传递的是值的拷贝若实参为指针类型数据,则称为地址传递,传递的是地址,非拷贝
谢谢THANKYOU
主讲人:张俊晖C程序设计精品在线开放课程
单元八函数函数调用
函数调用案例递归函数0102CONTENT03变量的作用域
01函数调用案例?问题描述:求两个数之间的最大值。?函数声明:Tips:在函数声明处注释函数功能、参数、返回值
01函数调用案例?函数定义:Tips1:定义处的返回类型与声明处保持一致Tips2:返回值的数据类型与返回类型一致
01函数调用案例?函数调用:Tips1:调用处实参与定义处形参一致Tips2:调用处接受结果变量的数据类型与返回值类型一致Tips3:建议实参与形参名称相同,方便数据关联
02递归函数?递归:函数自己调用自己的过程叫做递归?递归函数:一个函数既是调用者角色,又是被调用者角色,这种函数即为递归函数。
02递归函数?解题思想:1.找规律—找出递归调用过程中的数据规律2.找出口—找出递归调用在哪里结束,即特殊值3.写函数—根据出口与规律写函数
02递归函数?案例:求N!1.找规律:N!=N*(N-1)!2.找出口:将以上规律一直往下延续,在哪里会推导结束?1!=13.根据规律与出口写出函数
02递归函数?案例:求N!Tips1:先写递归出口Tips2:若递归层数过多,额外空间开销会很大,不建议使用递归
03变量的作用域?作用域是程序的一个区域,一般来说有三个地方可以定义变量在函数或一个代码块内部声明的变量,称为局部变量。在函数参数的定义中声明的变量,称为形式参数。在所有函数外部声明的变量,称为全局变量。
03变量的作用域?生命周期局部变量与形式参数只能被函数内部或者代码块内部的语句使用。
03变量的作用域?生命周期全局变量的值在程序的整个生命周期内都是有效的
03变量的作用域?生命周期C语言中全局变量需定义在调用者之前。
谢谢THANKYOU
您可能关注的文档
- C语言实例教程(第3版)课件 单元二 C语言概述.pptx
- C语言实例教程(第3版)课件 单元九 数组和指针.pptx
- C语言实例教程(第3版)课件 单元六 C控制语句:分支跳转.pptx
- C语言实例教程(第3版)课件 单元七 C控制语句:循环.pptx
- C语言实例教程(第3版)课件 单元十 字符串和字符串函数.pptx
- C语言实例教程(第3版)课件 单元十一 文件输入输出.pptx
- C语言实例教程(第3版)课件 单元四 格式化输入输出.pptx
- C语言实例教程(第3版)课件 单元五 运算符与表达式.pptx
- C语言实例教程(第3版)课件全套 谢宇 单元1--11 初识C语言---文件输入输出.pptx
- 智能网联汽车技术 习题及答案 任务1.1 智能网联汽车基础的认知.docx
最近下载
- 甘肃省金昌市永昌县永昌县汇泽水电开发有限公司西大河北总干渠一、二级水电站工程-两级电站装机7600kw-径流引水式电站报告书全本.docx
- 体能及其训练.ppt
- 2023年全国体育单招数学真题.pdf VIP
- 污泥综合处理项目环境影响报告表.pdf
- 病源微生物实验室生物安全委及其职责.doc
- HIKVISION海康威视异步发送卡DS-D43T01.pdf
- 北京市道路工程试验检测费用定额JLZJ-J_Y-JC-001-2022.pdf VIP
- 2024年内蒙古建筑职业技术学院单招职业技能测试题库(名校卷).docx VIP
- 门卫值班室5S管理.pptx
- [中央]2024年故宫博物院应届毕业生招聘笔试历年典型考题及解题思路分析附带答案详解.docx VIP
文档评论(0)