函数和编译预处理

函数和编译预处理

ID:39149218

大小:676.31 KB

页数:47页

时间:2019-06-25

函数和编译预处理_第1页
函数和编译预处理_第2页
函数和编译预处理_第3页
函数和编译预处理_第4页
函数和编译预处理_第5页
资源描述:

《函数和编译预处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章函数和编译预处理本章主要内容5.1函数的基本概念5.2函数定义5.3函数调用5.4函数的参数传递和函数的返回值5.5函数声明5.6带默认形参值的函数5.7内联函数5.8函数的嵌套和递归调用5.9作用域和存储类型5.10函数的重载5.11编译预处理5.12程序的多文件组织5.1函数的基本概念在C++语言中,从不同的角度对函数分类如下。1.库函数和用户定义函数从函数定义的角度看,函数可分为库函数和用户自定义函数两种。(1)库函数:C++编译系统、操作系统或其他系统为方便用户程序设计而预定义的函数,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。(2)用户自

2、定义函数:由用户根据自己的需要,将完成某一相对独立功能的程序定义为一个函数,称为用户自定义函数。5.1函数的基本概念2.有返回值函数和无返回值函数C++语言的函数兼有其他语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。(1)有返回值函数:此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。(2)无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。5.1函数的基本概念3.无参函数和有参函数从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。(1)无参函数:函数定义、函

3、数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送。(2)有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。5.2函数定义5.2.1无参函数的定义5.2.2有参函数的定义5.2.3函数定义的注意点5.2.1无参函数的定义定义无参函数的一般格式为:<函数名>(void)//函数头{<函数体>}其中,type为函数返回值的类型,可以是标准数据类型或导出的数据类型。函数名必须符合标识符构成的规则。通常,函数名应能反映函数的功能。<函数体>为一个复合语句,用于实现相应函数的功能。当函数仅完成某种固定操作时,可将函

4、数定义为无参函数。在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。5.2.2有参函数的定义定义有参函数的一般格式为:<函数名>(<形参列表>){<函数体>}有参函数比无参函数多了形式参数列表。<形参列表>由一个或多个形参说明构成,每个形参说明的格式为:<类型><形参名>其中的<形参名>是形式参数的名,用标识符表示,其格式和定义与变量相同。作为函数体的复合语句中可以包含return语句,当函数体执行到return语句时,函数立即返回到调用者,return语句的格式为:return<表达式>或return;5.2.3函数定义的注意点在定义

5、一个函数时要注意以下几个方面:(1)确定该函数所要实现的功能,使用自然语言(汉语等)或数学的方法描述出实现该功能的算法和步骤。(2)一个函数可有多个形参。(3)确定函数功能的算法是否有结果需要返回给调用者。(4)函数名最好能够让调用者看到函数名就能够明白函数的功能。(5)空函数:函数体为空的函数,花括号{}不可省。(6)函数定义时,函数体内不能包含其他函数的定义。5.3函数调用5.3.1函数调用的一般形式5.3.2函数调用的方式5.3.3函数调用的注意点5.3.1函数调用的一般形式调用函数的一般格式为:<函数名>(<实参列表>)其中,<函数名>是已定义的函数的名字;<

6、实参列表>由零个、一个或多个实际参数(用逗号分割)构成。每个实际参数(简称实参)都是一个表达式,它们的个数以及对应位置的类型应该和定义该函数时指定的形参类型相同,如果类型不同,则系统将利用类型转换,将实参的值转换成形参类型,然后赋给形参。形参和实参的个数应该相等。5.3.2函数调用的方式在C++中,有3种函数调用方式。1.函数语句函数调用的一般形式加上分号即构成函数语句。2.函数表达式函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。3.函数实参函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行

7、传送。例5-1求任意两个实数和的函数5.3.3函数调用的注意点(1)函数调用时,系统为形参分配相应的存储单元,用于接收实参传递的数据。(2)若函数的形参为普通变量(不是指针变量和引用变量),则调用该函数时,实参给形参赋值,这种参数传递方式称为值传递或传值。(3)传值调用时,实参的求值顺序因编译系统而异,有的从右向左,有的从左向右。(4)传值调用的优点是,函数调用对其外界的变量无影响,最多只能用return返回一个值,函数的独立性强。例5-2函数值传递调用5.4函数的参数传递和函数的返回值5.4.1函数的形式参数和实际参数5.4.2函数的返回值5.4.

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

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

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