编程语言基础-C语言 第6章 函数课件.ppt

编程语言基础-C语言 第6章 函数课件.ppt

ID:57173410

大小:921.00 KB

页数:32页

时间:2020-08-02

编程语言基础-C语言  第6章 函数课件.ppt_第1页
编程语言基础-C语言  第6章 函数课件.ppt_第2页
编程语言基础-C语言  第6章 函数课件.ppt_第3页
编程语言基础-C语言  第6章 函数课件.ppt_第4页
编程语言基础-C语言  第6章 函数课件.ppt_第5页
资源描述:

《编程语言基础-C语言 第6章 函数课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章函数从用户角度看,C语句中的函数可以分为两种:(1)标准函数,即库函数。(2)用户自定义函数。6.1函数的定义6.1.1函数的定义函数定义的形式为:类型说明符函数名(形式参数表列){声明部分;语句部分;}例如:intsum(inta,intb){intc;/*声明部分*/c=a+b;/*语句部分*/returnc;}这是一个求两个整数和的函数。6.1.2函数的参数如果函数调用时需要传递数据,则在定义函数时在函数名后的括号内指明所需要的参数,包括参数类型和参数名。在函数定义时指定的参数称为形式参数(简称“形

2、参”),在函数调用中传递的数据称为实际参数(简称“实参”)。例6-1输出两个整数的最大值。intmax(intx,inty){intz;z=x>y?x:y;returnz;}main(){inta,b,c;scanf(“%a%b”,&a,&b);c=max(a,b);printf(“maxis:%d”,c);}运行结果为:56↙maxis:6说明:1.函数的形参可以有多个,可以是相同类型也可以不同类型。intmax(intx,inty)2.形参必须是变量,但实参可以是常量、变量和表达式。3.实参类型必须与形参类

3、型兼容。4.在C语言中,函数进行的是“值传递”,将实参的值传递给形参。这种传递是单向的.6.1.3函数的返回值使用return语句将结果返回给调用程序。格式为:return(表达式);或者return表达式;一个函数可以有多个return语句.当遇到第一个return语句时,C立即终止函数的执行.如果函数不需要返回计算结果,即不需要返回值时,最好定义为void类型.6.2函数的调用6.2.1函数的调用函数调用的一般形式为:函数名(实参表列);如果函数没有参数,括号内为空,但不能省略括弧。如果有多个参数,参数之间

4、使用逗号分隔。调用时,应保证实参的个数与形参相同,类型一致。例6-2计算1到n的整数和。intcalcu(intx){inti,total=0;for(i=1;i<=x;i++)total=total+i;returntotal;}main(){intn;scanf(“%d”,&n);printf(“sum=%d”,calcu(n));}按照函数调用时出现的位置,可以分为以下三种调用方式:1.函数语句2.函数表达式3.作为函数参数6.2.2函数原型函数声明的格式和函数定义的首部相同,并在其后添加分号表示语句结束

5、。例如:intmax(intx,inty);intcalcu(intx);这种函数声明称为“函数原型”。一般地,为了提供程序的可读性,把函数原型写在main函数之前,函数的定义写在main函数之后。但如果函数的定义出现在main函数之前,则可省略相应的函数原型。6.2.3函数的嵌套调用和递归函数定义内部不能定义其他函数,即不能出现函数定义的嵌套。但函数的调用是可以嵌套的。函数可以嵌套调用。若函数调用自身,称为函数的递归调用。递归必须有条件地进行。例6-3求n!分析:根据阶乘的性质可以有如下递归公式:例如5!,等

6、于5*4!,而4!=4*3!,……,1!=1。floatfac(intn)/*求n的阶乘函数*/{floatf;if(n<=1)f=1;/*条件满足,终止递归*/elsef=n*fac(n–1);/*否则继续递归*/returnf;/*返回阶乘值*/}例6-4求Fibonacci序列的第n项的值分析:Fibonacci序列的规律是:每个数等于前面两个数之和。由此可得如下公式:intfib(intn){if(n<=2)return1;/*递归终止*/elsereturnfib(n–1)+fib(n–2);}6.3

7、数组作为函数参数6.3.1数组元素作为函数参数例6-5找出数组的最大值。6.3.2数组名作为函数参数例6-6编写一个函数显示数组的值。6.3.3多维数组作为函数参数例6-7将一个4*4的矩阵转置。6.4变量的作用域变量的作用域又称作用范围,指的是一个变量在何处可以使用。根据变量的作用域可将变量分为局部变量和全局变量。6.4.1局部变量局部变量是在函数内部声明的变量,这包括函数的形参。它们仅在包含该变量声明的函数中才起作用,在该函数外不能使用这些变量。例6-8局部变量示例voidlocal_value(){int

8、a=1,b=2;printf(“%d%d”,a,b);}main(){inta=5;floatb=2.5;printf(“%d%f”,a,b);}由于局部变量只在本函数内有效,因此可以在程序的各个部分使用同名变量,同样,在参数传递时,实参也允许和形参同名。使用局部变量时要注意:(1)main函数中的变量也是局部变量。(2)可以在复合语句中定义变量,这样的变量只在复合语句内有效,这种复合

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。