- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学,本科,专科,硕士,笔记,课件,期中试卷答案,期末试卷答案,教材答案,知识点,经济法,材料科学基础,材料力学,电路,电子技术基础,高频电子线路,宏观经济学,模拟电路基础,模拟电子技术,数字电路,数字电子技术,数字信号处理,通信原理,信号与系统,化工原理,机械设计基础,机械原理,机械制图,微机原理与接口技术,C++程序设计,JAVA技术与应用,MATLAB基础与应用,计算机网络,计算机组成原理,软件工程数据结构,工程力学,工程热力学,结构力学,力学,流体力学,水力学,工程测量,工程经济学,工
PAGE 1
PAGE 1
TOC \o 1-2 \h \z 第3章 函 数 1
3.1 函数的定义与调用 2
3.2 函数参数的传递 3
3.3 函数调用机制 6
3.4 函数指针 9
3.5 内联函数和重载函数 10
3.6 变量存储特性与标识符作用域 10
3.7 多文件程序结构 12
3.8 终止程序执行 14
第3章 函 数
内容提要
函数是程序设计的重要工具。这一章主要介绍函数的定义和调用、函数参数的传递,以及介绍C++程序的结构、变量和函数的作用域、条件编译等有关内容。
函数的作用是程序的功能划分和代码重用。
C++提供了大量的预定义函数,称为库函数或标准函数。用户自定义可以解决特殊的用途。
函数的参数用于是函数与外部通信的接口。函数定义的参数称为形式参数;调用函数的参数称为实际参数。C++函数有三种参数:传值参数、指针参数和引用参数。它们以不同的方式传递数据。return语句可以通过匿名对象使函数的返回一个表达式的值。
内联函数是为减少调用开销的小程序。
重载函数是名字相同,实现版本不同的函数。是一种简单的多态。
函数可以用语句或表达式调用。已经定义的函数可以互相调用,可以递归调用。main函数是程序的启动函数,其他函数不能调用之。
调用一个函数需要的信息包括:函数地址和对应的实际参数。函数名是函数的地址。可以用名方式调用函数,也可以用函数指针间接调用函数。
C++程序可以由多个程序文件构成。一个大的应用程序,通常由不同功能的文件组成,这有利于程序的分工和扩充。
标识符存储特性确定了标识符在内存中的生存时间和连接特性。标识符作用域是在程序正文中能够引用这个标识符的那部分区域。一个结构性好的程序,应该遵循最低权限访问的原则,尽量不要使用全局变量。
函数是功能的抽象。函数有两个重要作用:一是任务划分。把一个复杂任务划分;二是软件重用。
3.1 函数的定义与调用
函数定义由两部分组成:函数首部和函数操作描述。
使用函数称为调用函数。函数调用的形式必须与函数定义的接口对应。
3.1.1 函数定义
自定义函数的形式一般为:
类型 函数名 ( [ 形式参数表 ] )
{
语句序列
}
函数定义的第一行是函数首部(或称函数头);以花括号相括的语句序列为函数体。
“形式参数表”的一般形式为:
类型 参数1 ,类型 参数2 ,… ,类型 参数n
【 例3-1】定义一个无参函数,输出问候句子。
【 例3-2】定义一个函数,求两个浮点数之中的大值。
如果一个函数没有返回表达式值,函数返回类型为void,即函数体内的return语句后没有表达式,或可以省略return语句。
3.1.2 函数调用
函数调用的一般形式为:
函数名 ( [ 实际参数表 ] )
可以用两种形式调用:
(1)函数语句
(2)函数表达式
3.1.3 函数原型
函数原型是一个声明语句,包括函数的名字、函数返回值的数据类型、函数要接受的参数个数、参数类型和参数的顺序。
例如,以下是相同的函数原型:
double max( double, double ) ;
double max( double x, double y ) ;
double max( double a, double b ) ;
【 例3-3】定义和调用max函数。
标准库函数的函数原型存放在指定的头文件中,用include预处理指令获取(具体请参阅本教材配套的《C++程序设计基础实验指导与习题解》)。表3-1列出了math.h头文件中一些常用的函数原型。
表3-1 math.h中几个常用的数学函数
函数原型
说明
int abs( int n );
n的绝对值
double cos( double x );
x(弧度)的余弦
double exp( double x );
指数函数ex
double fabs( double x );
x的绝对值
double fmod( double x, double y );
x/y的浮点余数
double log( double x );
x的自然对数(以e为底)
double log10( double x );
x的对数(以10为底)
double pow( double x, double y );
x的y次方(xy)
double sin( double x );
x(弧度)的正弦
double sqrt( double x );
x的平方根
double tan( double x );
x(弧度)的正切
【 例3-4】求正弦和余弦值。
3.2 函数参数的传递
C++有三种参数传递机制:值传递(值调用);指针传递(地址调用
文档评论(0)