函数定义和函数调用

函数定义和函数调用

ID:39846361

大小:207.26 KB

页数:46页

时间:2019-07-13

函数定义和函数调用_第1页
函数定义和函数调用_第2页
函数定义和函数调用_第3页
函数定义和函数调用_第4页
函数定义和函数调用_第5页
资源描述:

《函数定义和函数调用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、§4.2函数的声明和函数调用1.函数定义和函数调用的区分1)函数定义:要给出函数名、函数类型、形式参数、函数的实现过程(函数的定义性说明),它是一个完整的、独立的函数单位。2)函数声明只给出函数名、函数类型、形参类型(有时给出形参名)。没有给出函数实现的过程描述。有时称为函数原型说明,一般放在程序开头,描述本程序将要用到哪些函数(函数的引用性说明)。3)设立函数的作用提高程序的可读性(本程序使用到了哪些函数)并且改善程序的结构;减少程序编写、调试的工作量,提高程序设计效率并较好地保障程序的正确性和可靠性;提供语法检查(在程序中对照函数原型,

2、检查所属实际使用的函数的参数是否和函数原型规定的参数类型想匹配,若不匹配就自动转换为函数原型所规定的类型。C语言无此功能,C++才有)。例子:求用户输入的三个数中的最大者,演示函数的引用性声明。#includefloatmax(float,float);            //函数的引用性声明voidmain(){  floati,j,k;                  //用户输入的三个数floattemp;                     //临时最大者cout<<"Inputthreenumbe

3、rsplease:";           //用户输入三个数cin>>i>>j>>k;                   //找出最大数存放在temp中temp=max(i,j);temp=max(temp,k);cout<<"Themaximumnumberis"<=y)z=x;elsez=y;returnz;}2.函数的定义性说明(函数定义)1)含义:给出函数名、函数类型、形式参数、函数

4、的实现过程(函数的定义性说明)。2)形式如下:类型 函数名(形式参数表){语句序列}3)相关术语函数名   函数类型函数参数  函数参数传递函数体  函数值的返回控制的转移①函数名为函数所起的名字,必须是一个有效的C++标识符(以字母或下划线开头、后接字母或数字或下划线的字符序列),但不允许使用C++的保留字作为函数名。我们应该根据函数所完成的功能为函数起一个有意义的名字。在书写函数名字时应在后面加上一对圆括号以区别于其它变量或类型的名字。②函数类型函数类型是指函数返回值的类型,可以是基本数据类型,也可以是后面要讨论的复合数据类型,但不允许

5、是数组类型或函数类型。函数定义时需注明函数类型。C语言缺省类型为int。C++继承C,但有些版本会不同,因此最好具体指定,如确实不需要指明类型,就采用void类型(空类型)。③函数参数包括形式参数和实际参数。形式参数是用逗号分隔的变量说明列表,这些变量称为函数的形式参数,有时也简称为形参。形式参数用于接收从函数调用程序传给这个函数的数据。实际参数是用逗号分隔的表达式列表,其中每一个表达式称为实际参数,有时也简称为实参。在函数调用时,需要将实参的值传送给对应位置的形式参数,因而要求实参个数必须和形参个数相同(缺省参数或可变数目参数情况例外),

6、并且实参的类型必须与对应的形参类型相匹配。④函数参数传递(两种情况)主调函数调用被调函数时,函数执行所需的参数如何从主调函数传入到被调函数中去;函数执行完后,所得到的执行结果如何传送回主调函数中。参数传递1实参-->形参(包括值的传递(传值);地址的传递(传地址))参数传递2执行结果->主调函数形式:return表达式;或return(表达式);功能:计算出表达式的值并返回给主调函数,退出函数执行,把执行回归到主调函数。注意:采用return只能返回一个值如returnx;不能用returnx,y;也不能用returnx;returny;。

7、参数传递3(可用于两者)采用全局变量形式,但要注意有没有副作用(尽可能少用此形式)。函数定义时的参数说明:在圆括号内说明,如果没有参数,也不能省去圆括号。函数举例intmax(intx,inty) //函数定义intmax(int,int);//函数原型voidmain()       //没有具体参数⑤函数体函数体是用花括号“{”和“}”括住的语句序列,分为说明部分和语句部分,用于描述这个函数所要执行的操作(即实现其功能的具体执行过程)。函数体可以为空,但花括号不能省去。如:intmax(intx,inty){  }⑥函数值的返回及控制的

8、转移:return语句函数值的返回:return表达式;这种形式只能返回一个值,若有多个值返回,只能考虑用数组指针等形式。控制返回:return表达式;//两者兼者(函数值返回及

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

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

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