函数为什么是程序的基本组成单位呢?
函数通常具有一定的功能,并且它的功能是通过把用户的输入变成输出体现的。程序只不过是个main函数,程序也有自己的功能,它的功能也是通过把用户的输入变成输出体现的。函数与程序的区别在于两者的用户不同。函数的用户常为其它函数,而程序的用户常为人。
在规模上,程序的功能强大,而函数的功能较单一。功能强大的程序需要由团队来开发,如何分配开发任务,充分发挥团队协同作战的力量?常见的作法是将复杂的功能分解为相对简单的功能,并用函数来实现简单的功能。这样一来,程序通常就是由一个个函数组成了,main函数的作用更多的是负责获得用户的输入和输出处理结果,而数据处理的过程则通过调用其它函数来完成。函数的封闭性使得编程人员在实现函数时可不受外界的影响,这也就意味着团队的并行开发成为可能。
当代码组织成函数后,变量可能会因在某个函数中定义而属于该函数,那么这个变量能在其他函数中使用吗?作用域将解决这个问题。变量的作用域与变量的生命期关系密切。
递归函数超越了“代码组织”的范畴而变成了一种解决问题的有效手段。递归是一种解决问题的思路,是独特的重复。递归和循环是编程的“全部”。不过,递归也是“模拟”。
函数还能提高代码的可重用性。通过scanf函数和printf函数的使用,程序中可以无需编写相关代码而方便地输入和输出数据。库函数的使用可以极大地提高编程效率和程序的健壮性。