C语言程序设计第四版PPT-谭浩强7章.ppt
《C语言程序设计第四版PPT-谭浩强7章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第四版PPT-谭浩强7章.ppt(54页珍藏版)》请在三一办公上搜索。
1、第7章 函数,引例,求阶乘n!,int i,n;float fac=1;printf(n=);scanf(%d,引例,求任意3个正整数的阶乘的和 a!+b!+c!,fa=1;for(i=1;i=a;i+)fa=fa*i;fb=1;for(i=1;i=b;i+)fb=fb*i;fc=1;for(i=1;i=c;i+)fc=fc*i;printf(%d!+%d!+%d!=%.0f,a,b,c,fa+fb+fc);,引例,求任意3个正整数的阶乘的和 a!+b!+c!,#include stdio.hint main()float factorial(int n);int a,b,c;float su
2、m;printf(a=);scanf(%d,float factorial(int n)int i;float fac;fac=1;for(i=1;i=n;i+)fac=fac*i;return fac;,引例,求任意3个正整数的阶乘的和 a!+b!+c!,使用函数可减少程序的重复段落使用函数可使程序功能相对独立,便于维护模块化的程序设计,应用程序,源程序文件1,函数1,函数2,函数3,源程序文件2,函数1,函数2,C应用程序的构成,函数的概念,#include int main()int max(int x,int y);int a,b,c;scanf(%d,%d,int max(int x
3、,int y)int z;if(xy)z=x;else z=y;return z;,程序必备的 main函数,有返回值的函数,函数的概念,上述问题也可只用一个main函数实现int main()int a,b,c;scanf(%d,%d,函数的概念,int main()void stars();stars();printf(Hello!n);stars();printf(Bye!n);stars();return 0;,void stars()int i;for(i=1;i=8;i+)printf(*);printf(n);,无返回值的函数,函数的概念,int main()void stars
4、(int n);int n=20;stars(10);printf(Hello!n);stars(5);printf(Bye!n);stars(n);return 0;,void stars(int n)int i;for(i=1;i=n;i+)printf(*);printf(n);有参数,无返回值,函数的概念,int main()void stars(int,char);int n=20;stars(10,%);printf(Hello!n);stars(5,-);printf(Bye!n);stars(n,$);return 0;,void stars(int n,char c)int
5、i;for(i=1;i=n;i+)printf(%c,c);printf(n);两个参数,无返回值,函数的概念,function n.官能,功能,作用,职责,典礼,仪式,数函数 vi.(器官等)活动,运行,行使职责模块化程序设计的基本方法:分解程序的功能,使每个模块的功能相对简单而独立,通过调用函数、模块来实现整个功能,使程序的编写、调试思路清晰,实现工业化的生产方式。,函数的分类,有返回值(有类型),函数的定义,指定函数名指定函数的类型指定参数名称和类型函数的功能,int max(int x,int y)int z;if(xy)z=x;else z=y;return z;,函数的返回值,类型
6、与首部定义一致,函数首部,不是语句,行尾无分号,函数的定义,关于函数类型的说明,无返回值的函数类型为void;有返回值的函数,其类型根据返回值类型决定;省略类型时默认为int(建议不要省略),函数的调用,调用函数的准备工作包含或声明,调用库函数应在C文件开头部分使用#include要调用其他自定义函数,应在本函数体开始的声明部分加上被调用函数的声明(与函数首部内容相同的一个语句),供编译时使用如果被调用函数出现在本函数之前可省略此部分 详见7.4节,函数的调用,函数(实参列表),调用无返回值的函数可以把上述函数直接作为语句使用,以完成其功能。例如:stars(10);,函数的调用,函数(实参列
7、表),调用有返回值的函数,应注意返回值的处理,如赋值或输出等。例如:c=max(a,b);或 printf(%d,max(a,b);,函数的参数,形式参数(形参,Formal parameter):定义函数时首部括号中定义的变量实际参数(实参,Actual parameter):调用函数时,在函数名后括号中使用的表达式调用函数时,实参将值传递给形参,函数的参数,形式参数和实际参数,void main()int max(int x,int y);int a,b,c;scanf(%d,%d,int max(int x,int y)int z;if(xy)z=x;else z=y;return z;
8、,函数的参数,形式参数和实际参数,形参在函数调用时分配内存单元,调用结束后释放;实参可以是常量、变量、表达式实参与形参的数目、类型应一致C语言中,实参向形参传递其值“值传递”,不传递地址,形参值变化不影响实参,函数的返回值,通过函数体return语句中的表达式值获得,例如:int max(int x,int y)return xy?x:y;无返回值的函数可省略return语句函数执行到return语句结束,关于例题和习题,通过本章例题、习题,不仅要掌握函数定义和调用的语法,也要掌握更多算法和编程技巧。正如学习语文、英语要大量阅读一样,学习计算机语言也要阅读例题,掌握一些基本的编程思路、技巧和表
9、达,才可能对新的问题较快地找到解决方法;同时要多了解语法规则相当于认字。另外,还应对计算机的工作原理和方式多一些了解。,例:最大公约数函数和最小公倍数函数,求最大公约数的算法:从1开始,逐个找公约数,直至两数中较小的一个;辗转求余(循环结构实验指导有流程图);.求最小公倍数的算法:从两数中较大的一个开始,由小到大找公倍数,直至找到;两数的乘积/两数的最大公约数。,函数的嵌套调用,调用最小公倍数函数(两数乘积/两数的最大公约数),当中需要调用最大公倍数函数函数的嵌套调用:在一个被调用的函数中调用另一个函数例:P183 例7.5,函数的递归调用,概念:在一个被调用的函数中直接或间接地调用函数本身,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第四 PPT 谭浩强

链接地址:https://www.31ppt.com/p-5426451.html