C++第二次作业--函数

1.为什么要用函数

创建 C++ 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。通过函数我们可以实现代码复用,即可以重复使用和在各种适用情况下使用,函数的存在增强了程序的可读性。并且函数能够提高团队开发的效率,它就像把各个常用而不相关联的功能做成一块块“积木”。完成了函数的编写,编程就像搭积木一样方便了。
例如: 

 

 

 

在下一次使用max()函数的时候我们就可以直接调用,不用再写一次了,而且这样更加方便我们对功能的修改。


2.为什么要用函数重载

我们在平时写代码中会用到几个函数但是他们的实现功能相同,但是有些细节却不同。例如:交换两个数的值其中包括(int, float,char,double)这些个类型。在C语言中我们是利用不同的函数名来加以区分,但这样会使程序代码显得很繁琐,而C++中则通过函数重载改善了这一缺点。
函数重载指的是一个作用域内的几个函数名字相同但是形参列表不同。这些函数执行操作类似,但是接受的形参类型不一样,编译器会根据传递的实参类型选择对应的函数调用。其主要作用为,对外提供类似功能的统一接口。
如:打开文件,打开电源,打开窗户等都是打开动作,在C中我们必须提供 Openfile()、OpenPower()、OpenWindow() 等一系列不同名称的函数,这对外部调用带来很多困难,因为我们必须记住所有的打开函数名称。但C++中我们只提供Open(TFile& file),Open(TPower& power), Open(TWindow& window)即可,调用者只需要记住有Open()函数即可。 这回大大可以程序可读性和开发效率。

例如:

 

 


3.什么是值传递

向函数传递参数的传值调用方法,把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。默认情况下,C++ 使用传值调用方法来传递参数。一般来说,这意味着函数内的代码不会改变用于调用函数的实际参数。

例如:

 

 

 

 


4.什么是地址传递

实际上c++中是没有地址传递的,所谓的地址传递实质是地址不变,而改变了地址里存储的内容,只有在数组或指针作为参数传递的时候才算作是地址传递,也就是我们看到地址里的元素最后返回时被修改了。按值传递就是传递参数给函数,但返回到调用函数以后,实参对应的值并没发生变化。
向函数传递参数的指针调用方法,把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

例如:

 

 

 

 


 

5.如何编写递归函数

递归函数通俗来讲就是自己调用自己本身。这样有很大的好处,代码很方便简洁,把复杂的有规律的运算交给计算机去做。
写递归函数有两个条件:
1)递归的边界条件(递归结束条件)
2)递归公式

代码示例如下,利用递归函数求1到100的和:

 

 

posted @ 2019-09-15 11:19  香菜味的  阅读(177)  评论(0编辑  收藏  举报