1.1函数的定义

作用:将经常使用的代码封装起来,减少重复代码。

函数的定义的定义通常由5个步骤:

  1. 返回值类型
  2. 函数名
  3. 参数列表
  4. 函数体语句
  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常见的函数样式

    1. 无参无返
    2. 有参无返
    3. 无参有返
    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;
    }

    Logo

    Agent 垂直技术社区,欢迎活跃、内容共建。

    更多推荐