C++第二次作业

C++第二次作业

函数

为什么使用函数

- 封装代码,使程序功能结构化,简介代码,方便后期修改和维护。

#include<iostream>

using namespace std;

int add(int x, int y)
{
    int r = x + y;
    return r;
}

int main()
{
    int one = 1, two = 2;
    cout << add(one, two) << endl;
    return 0;
}

为什么使用函数重载

- 使拥有同一个函数名的函数,以不同参数来得以区分,降低拥有近似功能的函数命名难度

#include<iostream>

using namespace std;

int add(int x, int y)
{
    return x + y;
}
int add(double x, double y)

int add(double x, double y, double z)
{
    return x + y + z;
}

int main()
{
    cout << add(1, 2) << endl;
    cout << add(1.2, 2.2) << endl;
    cout << add(1.3, 2.3, 3.3) << endl;
    return 0;
}

什么是值传递

- 指函数调用传递数值。调用函数时,仅将实参的值赋给形参,对实参不产生影响。
#include<iostream>

using namespace std;

void exchange(int x, int y)    //交换x和y
{
    int temp = x;
    x = y;
    y = temp;
}

int main()
{
    int x = 3, y = 5;
    exchange(x, y);
    cout << x << endl;
    cout << y << endl;    //x和y在调用函数后值未发生交换
    return 0;
}

什么是地址传递

- 指函数调用时传递实参地址。调用函数时,形参发生变化,实参会跟着变化。

#include<iostream>

using namespace std;

void exchange(int &x, int &y)    //用传递x和y的地址来交换x和y
{
	int temp = x;
	x = y;
	y = temp;
}

int main()
{
	int x = 3, y = 5;
	exchange(x, y);
	cout << x << endl;
	cout << y << endl;    //x和y的值发生了交换
	return 0;
}

递归函数

- 递归函数指在函数内部调用自己,降低函数复杂度。
- 设计实验,编写斐波那契函数:
#include <iostream>

using namespace std;

int feibo(int n)
{
    if (n == 0)
    	return 0;
    else if (n == 1)
	    	return 1;
	    else
		return feibo(n - 1) + feibo(n - 2);
}

int main()
{
    int n;
    cout << "输入一个值:";
    cin >> n;
    cout << feibo(n) << endl;
    return 0;
}
posted @ 2019-09-16 18:52  PrinzViolet  阅读(171)  评论(0编辑  收藏  举报