函数

函数分类

从用户的使用角度

1.系统函数及库函数

定义:库函数是C++编译系统已预定义的函数,用户根据需要可以 直接使用这类函数。库函数也称为标准函数。
•数学计算函数(如sqrt()、pow(),fabs(),exp()等, cmath)
•字符串处理函数(string)
•标准输入输出函数等(iostream),
•用户使用任一库函数时,直接使用,不用定义,但在程序 中必须包含相应的头文件。

2.用户自己定义的函数

定义:用以解决用户的专门需要。用户在设计程序时,可以将完成某一相对独立功能的程序定义为一 个函数。用户在程序中,根据应用的需要,由用户自己定义函数,这类函数称为用户自定义的函数。

从函数的形式

1.无参函数

定义:调用函数时不必给出参数。

2.有参函数

定义:在调用函数时,要给出参数。在主调函数 和被调用函数之间有数据传递。

定义函数

定义无参函数的一般形式

类型标识符 函数名()
{声明部分
语句
}
在这里插入图片描述

定义有参函数的一般形式

类型标识符 函数名(形式参数表列)
{声明部分
语句
}
C++要求在定义函数时必须指定函数的类型

函数参数和函数的值

  • 形参:在定义函数时函数名后面括号中的变量名称为形式参数。(形参是被调函数中的变量)
    说明:在函数调用前,形参并不占内存的存储单元,只有在函 数开始调用时,形参才被分配内存单元。调用结束后,形 参所占用的内存单元被释放。
  • 实参:在主调函数中调用一个函数时,函数名后面括 号中的参数。(实参是主调函数赋给被调函数的特定值,在调用时实参必须是一个确定的值。)
    说明:实参可以是常量、变量或表达式,但要求有确定的值。

函数的返回值

  • 函数的返回值通过return语句获得。函数只能有唯一的 返回值
  • 函数返回值的类型就是函数的类型
  • return语句可以是一个表达式,函数先计算表达式后再返 回值。
  • return语句还可以终止函数,并将控制返回到主调函数。
  • return 语句之后的代码是不能执行的代码。
  • 一个函数中可以有一个以上的return语句,执行到哪一 个return语句,哪一个语句起作用。
  • 若函数体内没有return语句,就 一直执行到函数体的末尾,然 后返回到主调函数的调用处。
    在这里插入图片描述

函数调用

函数调用的一般形式:

函数名 ([实参表列])

函数的三种调用方式

1.函数语句

把函数调用单独作为一个语句,并不要求函数带回一个值, 只是要求函数完成一定的操作。printstar();

2.函数表达式

函数出现在一个表达式中,这时要求函数带回一个确定的 值以参加表达式的运算。如c=2*max(a,b);

3.函数参数

函数调用作为一个函数的实参。如 m=max(a,max(b,c));
实例:
在这里插入图片描述

函数的嵌套调用

所有函数都是平行独立的,无主次、相互包含之分。 函数可以嵌套调用,不可嵌套定义。

在这里插入图片描述
函数的调用过程:
在这里插入图片描述

函数的递归调用

定义:

在调用一个函数的过程中又出现直接或间接地调 用该函数本身,称为函数的递归(recursive)调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值