前言
这是在B站自学c++整理的笔记,欢迎大家一些学习讨论,前面已经记到了数组0基础学C++ | 第05天 | 基础知识 |一维数组| 二维数组 | 小猪称重 | 冒泡排序 | 数组元素逆置 | 考试成绩统计-CSDN博客,现在是C++中函数的定义以及调用等,视屏链接:50 函数-函数的定义_哔哩哔哩_bilibili
函数的定义
函数的作用:
1、将一段经常使用的代码封装起来,减少重复代码
2、一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能
函数的定义:
函数的定义一般分为5步骤:
1、返回值类型 (一个函数可以返回一个值,在函数定义中)
2、函数名 (给函数起一个名)
3、参数列表 (使用该函数时,传入的数据)
4、函数体语句 (花括号内的代码,函数需要执行的语句)
5、return 表达 (和返回值类型挂钩,函数执行完后,返回相应的数据)
语法:
返回值类型 函数名(参数列表)
{
函数体语句;
return 表达式;
}
#include <iostream>
using namespace std;
//函数的定义语法:返回值类型 函数名(参数列表){函数体语句 return 表达式}
int add(int num1,int num2)
{
int sum = 0;
sum = num1 + num2;
return sum;
}
int main()
{
system("pause");
return 0;
}
函数的调用
功能:使用定义好的函数
语法:函数名(参数)
#include <iostream>
using namespace std;
//函数的定义语法:返回值类型 函数名(参数列表){函数体语句 return 表达式}
int add(int num1,int num2)
{
int sum = 0;
sum = num1 + num2;
return sum;
}
int main()
{
//main函数中调用add函数
int a = 10; //a b 是实际参数,简称实参,当函数调用的时候,实参的值会传递给形参num1 num2
int b = 20;
//函数调用 :函数名(参数)
int c = add(a, b);
cout << "c = " << c << endl;
system("pause");
return 0;
}
值传递
值传递就是函数调用时实参将数值传入给形参
值传递时,如果形参发生变化,并不会影响实参
#include <iostream>
using namespace std;
//值传递
//如果函数不需要返回值,声明的时候可以用void
void swap(int num1,int num2) //定义一个交换函数
{
int temp = num1;
num1 = num2;
num2 = temp;
}
int main()
{
//main函数中调用add函数
int a = 10; //a b 是实际参数,简称实参,当函数调用的时候,实参的值会传递给形参num1 num2
int b = 20;
//函数调用 :函数名(参数)
swap(a, b);
system("pause");
return 0;
}
常见样式
四种样式:
1、无参无返
2、有参无返
3、无参有返
4、有参又返
#include <iostream>
using namespace std;
//无参无返
void add1()
{
cout <<" 无参无返"<< endl;
}
//有参无返
void add2(int num1)
{
cout <<" 无参无返"<< endl;
}
//无参有返
int add3()
{
cout <<" 无参有返"<< endl;
return 100;
}
//有参有返
int add4(int num1,int num2)
{
int sum = 0;
sum = num1 + num2;
return sum;
}
int main()
{
//无参无返调用
add1();
//有参无返调用
add2(100);
//无参有返调用
int num = add3()
//有参有返调用
int a = 10;
int b = 20;
int c = add4(a, b);
cout << "c = " << c << endl;
system("pause");
return 0;
}
函数的声明
作用:告诉编译器函数名称及如何调用函数,函数的实际主体可以单独定义
注意:函数的声明可以多次,但函数的定义只能一次
#include <iostream>
using namespace std;
//函数声明
//当函数定义在主函数后面时,要提前告诉编译器函数的存在,就是利用函数声明
//当函数定义在主函数前面时,可声明可不声明
int max (int a, int b)
int main()
{
int a = 10;
int b = 20;
int c = max(a, b);
cout << "c = " << c << endl;
system("pause");
return 0;
}
//定义
int max (int a, int b)
{
return a > b ? a : b; //a大于b 时 返回a ,否则返回b
}
函数的分文件
作用:让代码结构更加清晰
函数分文件编写一般有4个步骤:
1、创建后缀名为.h的头文件
2、创建后缀名为.cpp的源文件
3、在头文件中写函数的声明
4、在源文件中写函数的定义
#include <iostream>
using namespace std;
//函数的份文件编写
//实现两个数字进行交换的函数
//函数的声明
int max (int a, int b)
//函数的定义
//定义
int max (int a, int b)
{
int temp = a;
a = b;
b = temp;
return 0;
}
//1、创建后缀名为.h的头文件
max.h
//2、创建后缀名为.cpp的源文件
max.cpp
//3、在头文件中写函数的声明(max.h的文件中写声明)
int max (int a, int b)
//4、在源文件中写函数的定义(.cpp的文件中)
include "max.h"
int max (int a, int b)
{
int temp = a;
a = b;
b = temp;
return 0;
}
int main()
{
int a = 10;
int b = 20;
int c = max(a, b);
cout << "c = " << c << endl;
system("pause");
return 0;
}
1、创建后缀名为.h的头文件 命名为max.h
#include<iostream>
using namespace std;
int max (int a, int b)
2、创建后缀名为.cpp的源文件, 命名为max.cpp
#include<iostream>
using namespace std;
include "max.h"
int max (int a, int b)
{
int temp = a;
a = b;
b = temp;
return 0;
}
#include <iostream>
using namespace std;
#include "max.h"
int main()
{
int a = 10;
int b = 20;
int c = max(a, b);
cout << "c = " << c << endl;
system("pause");
return 0;
}
明天更新指针部分