一、函数
1、函数的构成
返回值类型:返回值的类型
函数名:函数的名称
参数列表:传入的数据
函数体语句:函数中需要执行的语句
return表达式:返回的数据,类型和返回值类型相同
/*
返回值类型 函数名(参数列表)
{
函数体语句;
return表达式;
}
*/
int add(int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
2、函数的调用
函数的调用是在main函数中进行的
#include<iostream>
using namespace std;
int add(int num1, int num2)//num1,num2被称为形参
{
int sum = num1 + num2;
return sum;
}
int main()
{
//1.利用参数传递 a,b被称为实参
int a = 20;
int b = 30;
cout << add(a, b) << endl;
//2.直接传数字
cout << add(1,2);
return 0;
}
3、值传递
定义:调用函数时将实参传入形参
#include<iostream>
using namespace std;
void swap(int num1, int num2)
{
cout << "交换前num1:" << num1 << endl;
cout << "交换前num2:" << num2 << endl;
int temp = num1;
num1 = num2;
num2 = temp;
cout << "交换后num1:" << num1 << endl;
cout << "交换后num2:" << num2 << endl;
// return;
//不需要返回值时可以定义函数返回值的类型为void,同时return表达式可以写或者"return;"
}
int main()
{
int a = 20;
int b = 30;
cout << a << " " << b <<endl;
swap(a, b);
cout << a << " " << b <<endl;
// 形参改变的时候实参不会改变,形参和实参都是创建一块新的存储空间,对形参进行操作不影响实参
return 0;
}
4、函数的常见样式
四种类型:
#include<iostream>
using namespace std;
//1.无参无返
void test01(){
cout << "test01" <<endl;
}
//2.无参有返
int test02(){
cout << "test02" << endl;
return 10;
}
//3.有参无返
void test03(int num1){
cout << "test03:" << num1 << endl;
}
//4.有参有返
int test04(int num1){
cout << "test04:" << num1 << endl;
return 1000;
}
int main()
{
//无参无返调用
test01();
//无参有返调用
int a = test02();
cout << a << endl;
//有参无返调用
test03(100);
//有参有返调用
int b = test04(10000);
cout << b << endl;
return 0;
}
5.函数声明
利用函数声明提前告知编译器函数的存在,然后函数的定义可以放在后面。
函数的声明可以多次,但是函数的定义只能一次。
#include<iostream>
using namespace std;
int max(int a, int b);//提前声明出max函数,然后在后面进行函数的定义
int main()
{
int a = 10;
int b = 20;
cout << max(a, b) << endl;
return 0;
}
int max(int a, int b){
return a > b ? a : b;
}
6、函数的分文件编写
1.作用
让代码的结构更加清晰。
2.步骤
1.创建.h的头文件
2.创建.cpp的源文件
3.在头文件写函数的声明
#include<iostream>
using namespace std;
void swap(int a, int b);
4.在源文件中写函数的定义
#include"swap.h"
void swap(int a, int b){
int temp = a;
a = b;
b = temp;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
}
5.在主文件中进行调用
#include <iostream>
#include "swap.h"
using namespace std;
int main() {
int a = 20;
int b = 10;
swap(a, b);
return 0;
}