收藏 分销(赏)

第四章-函数.ppt

上传人:精*** 文档编号:2558319 上传时间:2024-05-31 格式:PPT 页数:20 大小:326.50KB
下载 相关 举报
第四章-函数.ppt_第1页
第1页 / 共20页
第四章-函数.ppt_第2页
第2页 / 共20页
第四章-函数.ppt_第3页
第3页 / 共20页
第四章-函数.ppt_第4页
第4页 / 共20页
第四章-函数.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、【知识点】【知识点】q 什么是函数什么是函数?如何定义?如何定义?q什么是函数原型声明什么是函数原型声明?什么情况下什么情况下必须要进行函数原型声明必须要进行函数原型声明?引用标准引用标准库函数如何进行声明库函数如何进行声明?q函数如何调用函数如何调用?上节内容复习上节内容复习.判断素数判断素数.例:例:1!+2!+3!1!+2!+3!+n!+n!循环体内循环体内多次调用多次调用.【主要内容】【主要内容】q 掌握函数的嵌套调用及递归调用掌握函数的嵌套调用及递归调用q 掌握内联函数掌握内联函数q 掌握重载函数,理解同名函数的实现掌握重载函数,理解同名函数的实现q掌握默认参数值的函数掌握默认参数值

2、的函数本节内容本节内容.函数不允许函数不允许嵌套定义嵌套定义可以嵌套调用可以嵌套调用三、函数的嵌套三、函数的嵌套.课堂练习课堂练习编写定义函数编写定义函数bool F(int m)bool F(int m),功能是判别素数,功能是判别素数,要求:要求:在主函数中输入在主函数中输入一个整数,通过一个整数,通过调用函数调用函数F F来判断,来判断,若为素数则输出若为素数则输出该数该数.课堂练习课堂练习编写定义函数编写定义函数int F1(int m,int n)int F1(int m,int n),功能是求两,功能是求两整数的最大公约数,整数的最大公约数,函数函数int F2(int m,int

3、 n)int F2(int m,int n),功能是求两整数的最小公倍数,要求:功能是求两整数的最小公倍数,要求:在主函数中输入整数,通过调用函数在主函数中输入整数,通过调用函数F1F1和和F2.F2.在函数调用中在函数调用中出现直接出现直接/间接间接调用函数本身调用函数本身函数的递归调用函数的递归调用.递推递推-已知条件已知条件从已知条件回归从已知条件回归-逐一求值逐一求值用递归方法求用递归方法求4!4!递归调用的特点:递归调用的特点:原有的问题能够分解成一个新的问题;原有的问题能够分解成一个新的问题;而新的问题又用到原有问题的解法,这就出现了递归。而新的问题又用到原有问题的解法,这就出现了

4、递归。按照这一原则分解下去,每次出现的新问题是原问题按照这一原则分解下去,每次出现的新问题是原问题简化后的子问题,而最终分解出来的新问题是一个已简化后的子问题,而最终分解出来的新问题是一个已知解的问题。只有有限调用才有意义。知解的问题。只有有限调用才有意义。.l有一个使递归能结束的条件和值有一个使递归能结束的条件和值 如如:if(n=0|n=1)return 1;(n=0|n=1)return 1;能用递归形式表示,并且能用递归形式表示,并且递归向递归向 终止条件终止条件发展发展如如:return fac(n-1)*n;return fac(n-1)*n;算法简单算法简单但消耗机时但消耗机时占

5、用空间大占用空间大.若采用递归定义,可表示为如下形式:若采用递归定义,可表示为如下形式:sum(n)=1(n=1)sum(n)=sum(n-1)+n(n1)填空:填空:求求1到到n的累加和的累加和.intsum(intn)intsum(intn)if(n=0)if(n=0)cout”dataerror”cout”dataerror”;if(n=1)if(n=1)elseelse return1returnn+sum(n-1).填空:填空:求求1到到10的阶乘的阶乘#include#include/函数原型说明函数原型说明函数原型说明函数原型说明voidmain()voidmain()for(i

6、ntk=0;k=10;k+)for(intk=0;k=10;k+)coutcoutendl;endl;/函数调用函数调用函数调用函数调用 doublefun(intn)/doublefun(intn)/函数定义函数定义函数定义函数定义If(n=1)return1;If(n=1)return1;elseelsereturnreturn;/返回返回返回返回 doublefun(int)fun(k)n*fun(n-1).课堂练习课堂练习用递归的方法用递归的方法编写函数编写函数求求FibonacciFibonacci数列。数列。Fibonacci数列F(n)递归地定义为:F(n)=1n21,1,2,3

7、,5,8,13,21,1,1,2,3,5,8,13,21,.【例】【例】#includeinlineintmax(intx,inty)if(xy)returnx;elsereturny;voidmain()inta,b,c,d,e,m;a=34;b=56;c=22;d=100;e=88;m=max(a,b);m=max(m,c);m=max(m,d);m=max(m,e);cout“max=”m;引入原因引入原因解决程序中函数调用解决程序中函数调用的效率问题的效率问题.4.4 函数的内联函数的内联n做法:做法:将一些反复被执行的简单语句序列做成将一些反复被执行的简单语句序列做成小函数。小函数。

8、n用法:用法:在函数声明前加在函数声明前加inlineinline关键字关键字作用:作用:不损害可读性又能提高性能不损害可读性又能提高性能inline返回值类型返回值类型函数名(形参表)函数名(形参表)函数体函数体定义方法定义方法.使用原则使用原则.引入原因引入原因解决同一个函数名解决同一个函数名赋予多个含义,只是赋予多个含义,只是处理对象(参数)不同处理对象(参数)不同.#include#include int max(int x,int y)int max(int x,int y)return(xy)?x:y);return(xy)?x:y);double max(double x,dou

9、ble y)double max(double x,double y)return(xy)?x:y);return(xy)?x:y);void main()void main()cout coutmax(10,20)max(10,20)endlendl;coutcoutmax(1.23,2.34)max(1.23,2.34)endl;endl;编译器会根据参数的编译器会根据参数的个数或类型进行匹配个数或类型进行匹配自动调用相应函数自动调用相应函数重载方式重载方式4.5 函数的重载函数的重载.4.6设置函数参数的默认值设置函数参数的默认值122035.从右向左设置原则从右向左设置原则intfun(inta,intb=2,intc=5);intfun(inta,intb=2,intc);当某个参数有默认当某个参数有默认值,其后的参数必值,其后的参数必须有默认值须有默认值(1)有实参不用默认值有实参不用默认值(2)设置形参数值从)设置形参数值从后后向前顺序向前顺序设置匹配设置匹配.

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服