C语言程序设计教程张永 第6章

C语言程序设计教程张永 第6章

ID:40238608

大小:1.41 MB

页数:39页

时间:2019-07-28

C语言程序设计教程张永 第6章_第1页
C语言程序设计教程张永 第6章_第2页
C语言程序设计教程张永 第6章_第3页
C语言程序设计教程张永 第6章_第4页
C语言程序设计教程张永 第6章_第5页
资源描述:

《C语言程序设计教程张永 第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计教程主编张永胡敏中国水利水电出版社第6章函数主要内容6.1函数的定义与返回值6.2函数的调用6.3变量的作用域与生存期6.4函数间的数据传递6.5嵌套调用与递归调用3学习目标掌握函数的定义和类型。掌握函数的调用。了解变量的存储域和生存期。了解变量的存储类别。掌握函数间的数据传递。掌握函数的嵌套调用和递归调用。46.1函数的定义和返回值6.1.1函数的定义函数定义的传统形式是:类型标识符函数名(形式参数表)形式参数说明{内部数据说明语句}intsum(x,y)intx,inty;{intz;z=x+y;returnz;}5现代格式是:类型标识符函

2、数名(形参说明形参1,形参说明形参2,……){内部数据说明语句}intsum(intx,inty){intz;z=x+y;returnz;}66.1.2函数的返回值函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值,例如调用正弦函数取得正弦值。函数的值只能通过return语句返回主调函数。return语句的一般形式为:return表达式;或者为:return(表达式);该语句的功能是计算表达式的值,并返回给主调函数。在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。7函数定义及返

3、回值举例。#includefloatsum(floatx,floaty){floatz;z=x+y;return(z);}voidshow(){printf("finish");}main(){floata,b,c;printf("pleaseinputxandy:");scanf("%f,%f",&a,&b);c=sum(a,b);printf("sumis%f",c);show();}运行时输入1.0,2.0并回车,可得到结果:sumis3.000000finish86.1.3函数的分类(1)从函数定义的角度看,函数可分为库函数和用

4、户定义函数两种。1)库函数。2)用户定义函数。(2)从函数有无返回值看,又可把函数分为有返回值函数和无返回值函数两种。1)有返回值函数。2)无返回值函数。(3)从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。1)无参函数。2)有参函数。96.2函数的调用6.2.1函数的调用1.函数的调用形式在C语言中,有参函数调用的一般形式如下:函数名(实际参数表)对无参函数调用时形式为:函数名()实际参数表中的参数可以是常数、变量或其他构造类型数据及表达式。各实参之间用逗号分隔。10(1)函数表达式。函数作为表达式中的一项出现在表达式中,以函数返回

5、值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=sum(x,y)是一个赋值表达式,把sum的返回值赋予变量z。(2)函数语句。函数调用的一般形式加上分号即构成函数语句。例如:printf("%D",a);scanf("%d",&b);都是以函数语句的方式调用函数。(3)函数实参。函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如:printf("%d",sum(x,y));即是把max调用的返回值又作为printf函数的实参使用。11【例6-2】函数求值的顺序。#include<

6、stdio.h>main(){inti=8;printf("%d%d%d%d",++i,--i,i++,i--);}如按照从右至左的顺序求值。运行结果应为:8778如对printf语句中的++i,--i,i++,i--从左至右求值,结果应为:9889122.形式参数和实际参数函数的参数分为形参和实参两种。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数

7、据传送。实际参数和形式参数的关系可以由下图形象地说明。main函数fun函数x1ab12y2(实参)(形参)13函数的形参和实参具有以下特点:(1)形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。(2)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值、输入等办法使实参获得确定值。(3)实参和形参在数量上、类型上、顺序上应严格一致,否则会发生类型不匹配的错误

8、。(4)函数调用中发生的数据传送是单向的。即只能把实

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

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

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