目录
1.1概述
作用:减少代码的重复。
1.2函数的定义
返回类型 函数名(参数列表)
{
语句
return 表达式
}
如下:实现一个加法函数,传入两个整型数据,计算加法并返回结果。
int add(int num1,int num2)
{
int sum = num1 + num2;
return sum;
}
1.3函数的调用
语法:函数名(参数名)
比如上个add函数该怎么调用?
#include<iostream>
using namespace std;
int add(int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
int main()
{
int a = 10;
int b = 20;
cout << "两数相加的结果为:"<<add(a,b)<< endl;
//调用函数add,其中a、b称为实参(即实际参数)
system("pause");
return 0;
}
其中add函数中定义的num1和num2并没有真实的数据,因此称为形参(即形式上的参数)。调用函数add,其中a、b称为实参(即实际参数)。
1.4值传递
当调用函数时,实参的值会传给形参
形参发生改变不会影响实参!!!
比如定义函数,实现两个数字的交换(返回值不需要的时候,可以不写return)
#include<iostream>
using namespace std;
void swap(int num1, int num2)
{
cout << "交换前:" << endl;
cout << num1 << " " << num2 << endl;
int temp=0;
temp = num1;
num1 = num2;
num2 = temp;
cout << "交换后:" << endl;
cout << num1 << " " << num2 << endl;
}
int main()
{
int a = 10;
int b = 20;
cout << a << " " << b << endl;
swap(a, b);
cout << a << " " << b << endl;
system("pause");
return 0;
}
运行代码得:
可知num1和num2的交换,并不会影响ab的变化。
1.5函数的常见样式
函数常见样式:1.无参无返 2.有参无返 3.无参有返 4.有参有返
1.6函数的声明
声明可以多次,但定义只能一次
作用:告诉编译器函数名称以及如何调用函数
案例:比较两个数,返回较大的。
#include<iostream>
using namespace std;
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int a = 10;
int b = 20;
cout << max(a, b)<<endl;
system("pause");
return 0;
}
那我们可不可以把main函数写在前面呢?
vs就会报错,这时就会用到函数的声明来告诉编译器这个max函数存在。
修改如下:
#include<iostream>
using namespace std;
int max(int a, int b);
int main()
{
int a = 10;
int b = 20;
cout << max(a, b) << endl;
system("pause");
return 0;
}
int max(int a, int b)
{
return a > b ? a : b;
}
1.7函数的分文件编写
1.创建后缀名为.h的头文件
2.创建后缀名为.cpp的源文件
3.在头文件中写函数的声明
4.在源文件中写函数的定义
注意:源文件要将创建的头文件包含进来才能运用。eg:创建了个swap.h,就要在源文件中进入#include"swap.h"