01函数的定义和值传递

#include<iostream>;
using namespace std;
//函数定义的之后不调用不会给变量分配内存
//函数的定义(自定义函数),包括(以下六步):返回值类型,函数名,参数类表,函数体,返回语句
int add(int num1,int num2){
	int sum = num1 + num2;
	return sum;
}
//当定义为void的时候不需要返回值,此时就不用return
void swap(int num1, int num2){
	int num;
	cout << "交换前的数值" << endl;
	cout << "num1" << num1 << endl;
	cout << "num2=" << num2 << endl;
	num = num1;
	num1 = num2;
	num2 = num;
	cout << "交换后的数值" << endl;
	cout << "num1" << num1 << endl;
	cout << "num2=" << num2 << endl;
}
 int main(){

	//main函数调用其他函数
	int a = 10;
	int b = 20;
	int sum1=add(a,b);
	cout << "sum=" << sum1 << endl;

	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	//当我们做值传递的时候,函数的形参发生改变,不会影响实参
	swap(a,b);
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	//使控制台暂停
	system("pause");
}


02函数声明的样式

#include<iostream>;
using namespace std;
//函数的常见样式:无参无返,有参无返,无参有返,有参有返
//1.无参无返
void test01(){
	cout << "无参无返" << endl;
}
//2.有参无返
void test02(int num1){
	cout << "有参无返" << num1 << endl;
}
//3.无参有返
int test03(){
	cout << "无参有返" << endl;
	return 1000;
}
//4.有参有返
int test04(int num1, int num2){
	int sum = num1 + num2;
	return sum;
}
int main(){
	test01();
	test02(100);
	int num1=test03();
	cout << "num1=" << num1 << endl;
	int num2 = test04(3,4);
	cout << "num2=" << num2 << endl;
	system("pause");
}

03函数的声明

#include<iostream>;
using namespace std;
//函数的声明:定义只能又一次,声明可以多次
int main(){
	//函数声明
	int max(int a, int b);
	int a = 100;
	int b = 50;
	int c = max(a,b);
	cout << "c=" << c << endl;
	system("pause");
	return 0;
}

int max(int a, int b){
	int max;
	if (a > b){
		max = a;
	}
	else{
		max = b;
	}
	return max;
}

04函数的分文件编写

主函数源文件

#include<iostream>;
using namespace std;
//引入头文件
#include"swap.h";
//函数的分文件编写
//1.创建后缀名为.h的文件:swap.h
//2.创建后缀名为.cpp的源文件:swap.cpp
//3.在头文件中写函数的声明
//4.在源文件中写函数的定义

//函数的分文件编写
//实现两个数字进行交换的函数

int main(){
	int a = 100;
	int b = 50;
	swap(a,b);
	system("pause");
	return 0;
}

函数实现源文件swap.cpp

//此句将这个源文件与对应的头文件进行关联
#include "swap.h";
//此句为了引入标准命名空间
#include<iostream>;
using namespace std;
//函数的定义
void swap(int num1, int num2){
	int temp;
	cout << "交换前" << endl;
	cout << "num1=" << num1 << endl;
	cout << "num2=" << num2 << endl;
	temp = num1;
	num1 = num2;
	num2 = temp;
	cout << "交换后" << endl;
	cout << "num1=" << num1 << endl;
	cout << "num2=" << num2 << endl;
}

头文件swap.h

/*
分析:
一个源文件执行的顺序:
首先在预处理的时候将.h文件中的声明替换成声明对应的源文件添加到引用此头文件的源文件中,
这个是编译器自己完成的
*/
#include<iostream>;
using namespace std;
//在.h文件中写函数的声明
void swap(int num1, int num2);

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐