摘要:本章节主要学习函数定义、应用、值传递、声明等,详情参考目录
6.1 函数的定义
函数的定义一般主要5个步骤:
- 返回值类型:一个函数可以返回一个字。
- 函数名:函数名称
- 参数表列:使用该函数时候传入的参数(需定义参数类型);
- 函数体语句:大括号{}中的语句,函数需要执行的语句;
- return表达式:函数执行完返回的数值
#include<iostream>
using namespace std;
//定义一个加法函数
int add(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
int main() {
int sum = add(55, 12);
cout << sum << endl;
system("pause");
return 0;
}
6.2 值传递
定义:函数调用时实参将数值传入给形参;
注意: 值传递时候,如果形参发生变化,并不影响实参。
#include<iostream>
using namespace std;
// 值传递,第一函数,实现两个数字进行交换;
// 函数不需要返回值,声明可使用void;
// 形参交换,但是实参a和b没有发生改变;
void swap(int num1, int num2) {
cout << "交换前num1 = " << num1 << endl;
cout << "交换前num2 = " << num2 << endl;
int temp = 0;
temp = num1;
num1 = num2;
num2 = temp;
cout << "交换后num1 = " << num1 << endl;
cout << "交换后num2 = " << num2 << endl;
}
int main() {
int a = 15;
int b = 25;
swap(a, b);
system("pause");
return 0;
}
6.3 常见函数样式
#include<iostream>
using namespace std;
// 值传递,第一函数,实现两个数字进行交换;
// 函数不需要返回值,声明可使用void;
// 无参无反
void test01() {
cout << "无参无反" << endl;}
// 有参无反
void test02(int num1, int num2) {
cout << "有参无反" << num1 + num2 << endl;}
// 无参有反
int test03() {
cout << "无参有反" << endl;
return 1000;}
// 有参有反
int test04(int num) {
cout << "有参有反" << endl;
return num;}
int main() {
test01();
test02(15, 12);
int num1 = test03();
cout << "有参有反" << num1 << endl;
int num2 = test04(123);
cout << "有参有反" << num2 << endl;
system("pause");
return 0;
}
6.4 函数的声明
作用:告诉编译器函数名称以及如何调用函数;
函数的声明可以无数次,但是函数的定义只能有一次;
#include<iostream>
using namespace std;
// 函数的声明提前告诉函数的存在,否则主函数在函数之前他就找不到该函数的定义
// 函数的声明
int max(int num1, int num2);
//主函数
int main() {
int a = 154;
int b = 123;
cout << max(a, b) << endl;
system("pause");
return 0;
}
// 函数的定义
int max(int num1, int num2) {
return num1 > num2 ? num1 : num2;
}
6.5 函数的分文件编写
作用:让代码结构更加清晰
函数分文件编写一般分为4个步骤:
- 创建后缀名为.h的头文件;
- 创建后缀名为.cpp的源文件;
- 在头文件中写函数的声明;
- 在源文件中写函数的定义;
// 头文件;函数的声明
#include<iostream>
void swap(int num1, int num2);
//源文件
#include "函数声明.h"
using namespace std;
int main() {
int a = 154;
int b = 123;
swap(a, b);
system("pause");
return 0;
}
void swap(int num1, int num2) {
int num = num1 + num2;
cout << "num1 + num2 = " << num << endl;
}
上一篇:5、C++零基础学习之数组
下一篇:7、C++零基础学习之指针