c语言第七章函数.ppt
《c语言第七章函数.ppt》由会员分享,可在线阅读,更多相关《c语言第七章函数.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.我的程序有上百行,如何调试最方便?我的程序有上百行,如何调试最方便?2.我想设计一个程序完成下面的计算:我想设计一个程序完成下面的计算:3.其中,其中,m、n为正整数且为正整数且mn4.该如何设计程序最有效?该如何设计程序最有效?m!n!(m-n)!内容提要:内容提要:概述概述 函数的定义函数的定义 函数参数函数参数(变量、数组变量、数组)和函数值和函数值 函数的调用函数的调用函数的嵌套调用函数的嵌套调用 局部变量和全局变量及变量的存储类别局部变量和全局变量及变量的存储类别8.1 概述概述C程序的结构如图所示程序的结构如图所示1.一个一个C程序可以分为若干个函数程序可以分为若干个函数2.每
2、个程序有且只能有一个主函数每个程序有且只能有一个主函数(main),其它函数都是,其它函数都是“子函数子函数”3.子函数可以互相调用,但主函数子函数可以互相调用,但主函数不能被调用不能被调用4.一个一个C程序由一个或多个文件构程序由一个或多个文件构成,一个源程序文件是一个编译成,一个源程序文件是一个编译单位单位说明:说明:1.C程序的执行从程序的执行从main函数开始函数开始,调用其它函数后仍回到调用其它函数后仍回到main函函数,程序在数,程序在main函数结束时结函数结束时结束。束。2.所有子函数都是平行的,任何所有子函数都是平行的,任何子函数都不属于其它函数。子函数都不属于其它函数。3.
3、从用户角度看,函数可分为:从用户角度看,函数可分为:u标准函数,即库函数标准函数,即库函数u自定义函数自定义函数4.从函数形式看,可分为:从函数形式看,可分为:u无参数函数无参数函数:如如printstar()u有参数函数有参数函数:如如printf()例例8-1#include“stdio.h”void printstar()printf(“*n”);void printmessage()printf(“Hello,world.n”);printstar();void main()printstar();printmessage();*Hello,world.*函数定义的一般形式:函数定义的
4、一般形式:类型说明类型说明 函数名函数名(形式参数说明形式参数说明)函数体函数体形式参数说明方法:形式参数说明方法:类型说明类型说明 变量名变量名,类型说明类型说明 变量名变量名1、无参数的定义形式、无参数的定义形式 类型说明类型说明 函数名函数名()函数体函数体2、有参数的定义形式、有参数的定义形式 类型说明类型说明 函数名函数名(形式参数说明形式参数说明)函数体函数体3、空函数的定义形式、空函数的定义形式 类型说明类型说明 函数名函数名 (形式参数说明形式参数说明)#include“stdio”int max(int x,int y)int z;z=(xy)?x:y;return(z);v
5、oid main()int a,b,c;scanf(“%d%d”,&a,&b);c=max(a,b)printf(“Max is%dn”,c0);8.2 函数定义的一般形式函数定义的一般形式例如:例如:int sum(int x,int y)int z;z=x+y;return(z);又如又如void printhello(char name)printf(“Hello,%sn”,name);函数定义的一般形式:函数定义的一般形式:类型说明类型说明 函数名函数名(形式参数说明形式参数说明)函数体函数体n一般情况下,函数体由两部分组成:一般情况下,函数体由两部分组成:局部变量说明局部变量说明 语
6、句语句 n局部变量:局部变量:函数体内定义的变量。其有效范围仅函数体内定义的变量。其有效范围仅限于所在函数的内部,离开函数体则无限于所在函数的内部,离开函数体则无意义。意义。例如:例如:int sum(int x,int y)int z;z=x+y;return(z);又如又如void printhello(char name)printf(“Hello,%sn”,name);8.3 函数参数和函数的值函数参数和函数的值 一个一个C程序由若干个函数组成,程序由若干个函数组成,各函数调用时经常需要传递一些各函数调用时经常需要传递一些数据。即调用函数把数据传递给数据。即调用函数把数据传递给被调用函
7、数,经被调用函数处理被调用函数,经被调用函数处理后,得到一个确定的结果,在返后,得到一个确定的结果,在返回调用函数时,把这结果带回调回调用函数时,把这结果带回调用函数。用函数。各函数间的信息往来是由各函数间的信息往来是由参数传递参数传递和和返回语句返回语句实现的实现的a,bz主调函数主调函数被调函数被调函数一、形式参数和实际参数一、形式参数和实际参数 函数参数函数参数:用于函数间数据的传递用于函数间数据的传递形式参数形式参数:定义定义函数时使用的参数函数时使用的参数实际参数实际参数:调用调用函数时使用的参数函数时使用的参数 函数函数max有两个形式参数有两个形式参数x和和y形参形参x和和y只是
8、在函数只是在函数max中使用中使用 a和和b是主函数中定义的变量是主函数中定义的变量 main调用函数调用函数max a和和b为函数为函数max的实参的实参#include“stdio”int max(int x,int y)int z;z=(xy)?x:y;return(z);void main()int a,b,c;scanf(“%d%d”,&a,&b);c=max(a,b)printf(“Max is%dn”,c0);59 95Max is 95一、形式参数和实际参数一、形式参数和实际参数 说明:说明:1、定义函数时,必须说明形参的类型。、定义函数时,必须说明形参的类型。形参只能是形参只
9、能是变量变量或或数组数组2、函数被调用前,形参不占用内存;、函数被调用前,形参不占用内存;函数调用结束后,形参所占用的内存函数调用结束后,形参所占用的内存也将被收回。也将被收回。3、实参可以是、实参可以是常量常量、变量变量或或表达式表达式。4、实参也形参的类型必须一致实参也形参的类型必须一致。字符。字符型和整型可以互相匹配。型和整型可以互相匹配。5、C语言中实参对形参的数据传递是语言中实参对形参的数据传递是“值传递值传递”,即单向传递。它仅由参,即单向传递。它仅由参数数的对应位置确定,与名字无关。的对应位置确定,与名字无关。#include“stdio”int max(int x,int y)
10、int z;z=(xy)?x:y;return(z);void main()int a,b,c;scanf(“%d%d”,&a,&b);c=max(a,b)printf(“Max is%dn”,c0);int max(int b,int a)int c;z=(ab)?a:b;return(c);一、形式参数和实际参数一、形式参数和实际参数例例8-3 读程序,写出运行结果读程序,写出运行结果Sum of 1,3 is 4Sum of 1,3 is 4一、形式参数和实际参数一、形式参数和实际参数二、函数的返回值二、函数的返回值 1、返回函数值的方法、返回函数值的方法 函数的返回值也就是函数值,是函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第七 函数
限制150内