第7章-函数ppt课件(全).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章-函数ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第7章-函数ppt课件(全).ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 函函 数数第7章_函数ppt课件(全)第第7章章 函函 数数7.1 函数定义和函数调用函数定义和函数调用 7.2 函数的嵌套调用和递归调用函数的嵌套调用和递归调用 7.3 局部变量和全局变量局部变量和全局变量 7.4 变量的存储类别变量的存储类别 7.5 内部函数和外部函数内部函数和外部函数 第7章_函数ppt课件(全)7.1 函数定义和函数调用函数定义和函数调用7.1.1 函数定义函数定义【例【例 7.1】已知五边形各边及对角线的长度,求面积。】已知五边形各边及对角线的长度,求面积。abcdefgs1s2s3#include#include float area(float x,
2、float y,float z)float s,a;s=(x+y+z)/2;a=sqrt(s*(s-x)*(s-y)*(s-z);return a;分析:分析:s1=area(a,b,f);s2=area(c,g,f);s3=area(d,e,g);第7章_函数ppt课件(全)void main()float a,b,c,d,e,f,g;float s1,s2,s3,s;scanf(%f%f%f%f%f,&a,&b,&c,&d,&e);scanf(%f%f,&f,&g);s1=area(a,b,f);s2=area(c,g,f);s3=area(d,e,g);s=s1+s2+s3;printf
3、(s=%fn,s);abcdefgs1s2s3第7章_函数ppt课件(全)一般形式:一般形式:类型类型 函数名函数名(类型类型 形参,类型形参,类型 形参,形参,)定义部分定义部分 语句序列语句序列float area(float x,float y,float z)float s,a;s=(x+y+z)/2;a=sqrt(s*(s-x)*(s-y)*(s-z);return a;第7章_函数ppt课件(全)【例【例7.2】编写函数,在一行上输出编写函数,在一行上输出10个个*字符。字符。#include void print()int i;for(i=0;iy?x:y;return(maxv
4、ale);void main()float a,b,c,m;scanf(%f%f%f,&a,&b,&c);m=max(max(a,b),c);printf(m=%fn,m);第7章_函数ppt课件(全)一般形式:一般形式:类型标识符类型标识符 函数名函数名(类型类型 形参形参,类型,类型 形参形参,);或或类型标识符类型标识符 函数名函数名(类型类型,类型,类型,);7.1.4 函数声明函数声明例如:例如:float max(float x,float y);或或float max(float,float);第7章_函数ppt课件(全)【例【例7.4】对被调函数声明的例子】对被调函数声明的例子
5、#includevoid main()float add(float x,float y);float a,b,c;scanf(%f,%f,&a,&b);c=add(a,b);printf(sun is%f,c);float add(float x,float y)float z;z=x+y;return(z);第7章_函数ppt课件(全)函数间的参数传递函数间的参数传递c=max(a,b);/*在在main函数中调用函数中调用*/int max(int x,int y)/*函数定义函数定义*/int z;z=xy?x:y;return(z);第7章_函数ppt课件(全)【例【例7.5】求末尾
6、数非求末尾数非0的正整数的逆序数,如的正整数的逆序数,如 reverse(321)的值是:的值是:123#include void main()long a,reverse(long);scanf(%ld,&a);printf(%ldn,reverse(a);printf(a=%ldn,a);第7章_函数ppt课件(全)long reverse(long n)long k=0;while(n)k=k*10+n%10;n/=10;return k;reverse(321);k=0;当当n=321时时k=0*10+321%10=1;n=321/10=32;当当n=32时时k=1*10+32%10=
7、12;n=32/10=3;当当n=3时时k=12*10+3%10=123;n=3/10=0;当当n=0时结束循环时结束循环分析:分析:n=321,k=0k=1;k=k*10+2;k=k*10+3;第7章_函数ppt课件(全)7.2 函数的嵌套调用和递归调用函数的嵌套调用和递归调用7.2.1 函数的嵌套调用函数的嵌套调用第7章_函数ppt课件(全)【例【例7.7】编写程序,输入】编写程序,输入n,m,求,求组合数组合数#include void main()int n,m;long cmn(int,int);scanf(%d%d,&n,&m);printf(cmn=%ldn,cmn(n,m);l
8、ong jc(int n)int i;long t=1;for(i=1;i 3!=3*2!-2!=2*1!-1!=1*0!-0!=14!=4*6 -3!=3*2 -2!=2*1 -1!=1*1 -0!=1 第7章_函数ppt课件(全)【例【例7.8】用递归计算】用递归计算n!。#include long jc(int n)long f;if(n=1|n=0)f=1;else f=n*jc(n-1);return f;void main()long y;int n;scanf(“%d”,&n);y=jc(n);printf(%d!=%ld,n,y);main函数函数y=Jc(3)jc函数函数f=
9、3*Jc(2)jc函数函数f=2*Jc(1)jc函数函数f=1return 1jc函数函数f=2*Jc(1)return 2jc函数函数f=3*Jc(2)return 6第7章_函数ppt课件(全)【例【例7.9】把十进制整数按相反的顺序将各位数字打】把十进制整数按相反的顺序将各位数字打 印出来。如:印出来。如:print(123456);输出:输出:654321#include void print(long n)if(n=0)return;else printf(%d,n%10);print(n/10);return;void main()long n;scanf(%ld,&n);prin
10、t(n);运行结果如下:运行结果如下:123456 654321第7章_函数ppt课件(全)7.3 局部变量和全局变量局部变量和全局变量main()int a;a=10;printf(“%d”,a);内存内存.1020002001第7章_函数ppt课件(全)7.3.1 局部变量(内部变量)局部变量(内部变量)定义:定义:在函数内定义的变量。在函数内定义的变量。作用域:作用域:在本函数内有效。在本函数内有效。说明:说明:(1)main函数中定义的变量只在函数中定义的变量只在main函数函数中有效。中有效。(2)形参属于形参属于局部局部变量。变量。(3)不同函数中不同函数中同名同名变量,占不同内存
11、单变量,占不同内存单 元。元。(4)在在复合语句复合语句中定义的变量,只在本复中定义的变量,只在本复合语句中有效。合语句中有效。float fun(float x)float a;a=x0?x:-x;return a;void main()float m,n;scanf(“%f”,&m);n=fun(m);printf(“%fn”,n);float fun(float x)float a;a=x0?x:-x;return a;void main()float a,n;scanf(“%f”,&a);n=fun(a);printf(“%fn”,n);void main()int a,b,c;a=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内