C++函数实战:从定义到调用全解析
·
1.1函数的定义
作用:将经常使用的代码封装起来,减少重复代码。
函数的定义的定义通常由5个步骤:
- 返回值类型
- 函数名
- 参数列表
- 函数体语句
- return表达式
语法:返回值类型 函数名(参数){
函数体语句
return表达式
}
1.2函数的调用
- 语法:函数名(参数)
- 声明函数可以有多个,但是定义函数只能有一个
- 如果定义函数在main()函数后,那么声明函数一定要在main()函数前面
#include<iostream>
using namespace std;
int add(int num1, int num2) {//num1,num2是形参
int sum = num1 + num2;
return sum;
}
int file(int num3, int num4) {//形参
int ass = num3 % num4;
return ass;
}
int main() {
int a ,b;
cin >> a >> b;
add(a, b);//函数的调用
cout << add(a, b) << endl;
int c = 4, d = 9;//c,d为实参
file(d, c);//调用函数的时候实参的值会传递给形参
cout << file(d, c) << endl;
return 0;
}
1.3函数-值传递
#include <iostream>
using namespace std;
//定义函数,实现俩个数字进行交换
//如果函数不需要返回值,声明时可以用void
void swap(int num1, int num2) {
cout << "交换前的值为:" << " ";
cout << "num1=" << num1 << endl;
cout << "num2=" << num2 << endl;
int temp = num1; num1 = num2; num2 = temp;
cout << "交换后的值为:" << " ";
cout << "num1=" << num1 << endl;
cout << "num2=" << num2 << endl;
//当函数声明时,不需要返回值可以不用写return
}
int main(){
int a = 10, b = 20;//实参
cout << "交换前的值为:" << " ";
cout << "a=" << a << endl;
cout << "b=" <<b<< endl;
swap(a, b);//将实参a,b的值传递给形参num1,num2
cout << "交换后的值为:" << " ";//值传递时,形参发生改变并不影响实参
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
}

- 当实参的值传递给形参时,swap函数改变的的形参的值,实参是值依旧不变。如上图所示。
1.4常见的函数样式
- 无参无返
- 有参无返
- 无参有返
- 有参有返
#include<iostream>
using namespace std;
//无参无返
void test_01() {
cout << "this is test_01" << endl;
}
//有参无反
void test_02(int a) {
cout << "this is test_02:a=" << a << endl;
}
//无参有返
int test_03() {
cout << "this is tese_03:" ;
return 100000;
}
//有参有返
int test_04(int a, int b) {
int sum = a + b;
cout << "this is test_04:";
return sum;
}
int main() {
//无参无返函数调用
test_01();
//有参无返函数调用
test_02(4);
//无参有返函数调用
int num=test_03();
cout << "num=" << num << endl;
//有参有返函数调用
int sum = test_04(23, 46);
cout << sum << endl;
return 0;
}
更多推荐


所有评论(0)