函数
1.函数定义与调用,函数类型
代码示例
#include<iostream>
using namespace std;
//函数定义
// 返回值类型 函数名(参数列表)
// {
// 函数体语句
// return表达式
// }
int add2(int a, int b)//形参
{
cout << "请输入a值" << endl;
cin >> a;
cout << "请输入b值" << endl;
cin >> b;
cout << "输出的结果为"<< a+b << endl;
return a+b;
}
void swap(int c, int d)
{
int swap_temp=0;
swap_temp = c;
c = d;
d = swap_temp;
cout << "最终c为" << c << endl;
cout << "最终d为" << d << endl;
return;//也可不写
}
//函数类型
//1.无参无返
void test_1()
{
cout << "1.无参无返" << endl;
}
//2.有参无返
void test_2(int num1)
{
cout << "2.有参无返" << num1 << endl;
}
//3.无参有返
int test_3()
{
cout << "3.无参有返" << endl;
return 100;//若主函数里,cout<<test_3<<endl;主函数里则执行定义函数的语句,以及最后再输出一个返回值
}
//4.有参有返
int test_4(int numa)
{
cout << "4.有参有返" << numa << endl;
return 100;
}
int main()
{
注意要先定义函数里的参数,并带上初值
//int a =0;
//int b =0;
///*调用add2;*/
//add2(a, b);//实参,函数调用时,实参会传递给形参
//int c = 5;
//int d = 10;
//cout << "初始c为" << c << endl;
//cout << "初始d为" << d << endl;
//swap(c, d);
///*注意这里不要直接打印c,d,该处的c,d为实参,
//调用函数后由于值传递,内容被传至形参,打印输
//出值将在函数里变化,所以输出打印应该在函数里进行声明进行*/
函数形参发生改变,不影响实参
//cout << "实c=" << c << endl;
//cout << "实d=" << d << endl;
int a = 100;
test_1();
test_2(a);
test_3();
cout << endl;
int b= test_4(10);//将返回值赋予b,但这句话会将定义的函数先走一遍
cout <<"返回值为"<< b << endl;
system("pause");
return 0;
}
2.函数声明与分文件编写函数
代码示例
a.代码目录
b.头文件.h
#include<iostream>
using namespace std;
//函数的声明
void swap(int num3, int num4);
c.函数定义文件.cpp
#include"swap.h"//在函数的定义前加这句,“”说明这是自己编写的函数
//函数的定义
void swap(int num3, int num4)
{
int swap_temp = 0;
swap_temp = num3;
num3 = num4;
num4 = swap_temp;
cout << "num3=" << num3 << endl;
cout << "num4=" << num4 << endl;
}
d.源文件.cpp
#include<iostream>
#include"swap.h"
using namespace std;
/*
函数声明就是在将定义函数写在后方时,
需要在主函数前进行声明(或是其他函数调用前进行说明)
函数声明可以写多次,但函数定义只能一次
*/
//函数声明的格式: 函数返回类型 函数名(参数表)
//如: int max(int num1, int num2);
//以下为函数定义:
int max(int num1, int num2)//找出最大值并打印,返回最大值
{
int max_temp;
cin >> num1;
cin >> num2;
if (num1 > num2)
{
cout << "较大值为" << num1 << endl;
max_temp = num1;
}
else
{
cout << "较大值为" << num2 << endl;
max_temp = num2;
}
return max_temp;
//return num1 > num2 ? num1 : num2;
}
//函数的分文件编写
/*
1.创建.h头文件(注意加入#include<iostream>以及using namespace std;)
2.创建.cpp源文件(注意加入#include“xxx.h”的声明)
3.源文件加#include“xxx.h”的声明
4.源文件中进行函数调用
*/
函数的声明
//void swap(int num3, int num4);
函数的定义
//void swap(int num3, int num4)
//{
// int swap_temp=0;
// swap_temp = num3;
// num3 = num4;
// num4 = swap_temp;
// cout << "num3=" << num3 << endl;
// cout << "num4=" << num4 << endl;
//}
int main()
{
//int a = 0, b = 0,temp = 0;
//cout << "请输入两个数" << endl;
//temp = max(a, b);
//cout << temp << endl;
int a = 18;
int b = 22;
swap(a, b);
system("pause");
return 0;
}