- 调用其他函数的函数被称为
主调
函数。被其他函数调用的称为被调
函数。 - 函数在被调用之前需要先
声明
。函数的定义属于函数声明
。 - 如果在所有函数之前做了函数声明,在
程序文件中的任何地方
都可以调用该函数。 - 发生参数传递时,可以作为双向传递方式的是
传引用
。 - 函数的参数传递就是形参与实参结合(简称形实结合)的过程。方式有两种:
值
传递和引用
传递。 值传递
是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。引用传递
时,引用作为形参,通过形实结合,引用类型的形参就成为了实参的一个别名。对形参的任何操作也就会直接作用于实参。- 要求通过函数实现一种不太复杂的功能,并且要加快执行速度,可选用
内联函数
。 - 下面的函数定义是错误的
float volume(float x,float y=2.0,float z){
return x*y*z;
}
带有默认值的参数,一定要放在参数表的最右边,而不能出现在中间的位置。改正如下
float volume(float x,float z,float y=2.0){
return x*y*z;
}
- 函数 int add(int a,int b); 和 int add(int c,int d); 定义在同一个文件中,
不能
通过编译。
两个函数声明本质上相同的。因为函数的返回值类型、函数名、参数个数及类型都是相同的。编译器仅检查以上几个方面,而不是检查形参名。
- 函数重载要求函数具有相同的
函数名
,但是形参的类型
或者个数
不同。 - 完成下列程序,输入一个浮点数,输出其绝对值。
#include <_______>//请将这行补充完整
#include <iostream>
using namespace std;
int main(void){
float n;
cin>>n;
cout<<fasbs(n)<<endl;
return 0;
}
答案cmath
因为在程序调用了fabs()这个数学函数,因此在程序的开头导入包含有fabs()函数声明的头文件cmath。导入的方式是使用#include命令。