今天来学习函数的相关内容~
先回顾一下之前的内容
之前有一篇博文讲了这么一个例子:
我们的目的是求任意两个整数的和
而转化一下需要这三个步骤:输入,求和,打印。
而这个例子中的scanf就是函数,不过用的是它较为简单的一种用法
结合初中数学函数的定义来理解一下,由“定义域”“对应关系”和“值域”这三部分组成,定义域就是我们要输入的值,对应关系就是scanf读取了这个数字,值域就是scanf把这些值填入对应的变量,也就是变量此时的值。
C语言中的函数其实和数学中很相似,只不过表达形式是不一样的。
再那上面的例子讲一下
假如我们有这样一个函数Add,能把两数相加,写为Add(a,b)
那第七行的内容直接写为sum=Add(a+b)
但实际上Add这个函数不存在,所以我们要先设计出这个函数才能去使用。
由于输入的是整数,所以使用int
而这个Add函数内部的运算过程实际上就和第七行的原理一样,可以这么写:
前六行我们定义了一个新的函数Add,通过加法运算使Add接入两个数给x,y,再加法得到z再输出。
没有理解不要紧。
可以想象一下,把函数当做一个工厂,工厂的原理就是先提供原材料,然后再在里面加工,最后把成品给出来。
函数的话,就是先输入数据,然后在中间进行运算,最后把数据输出。
像上面举的这个例子里面的Add叫函数名,而里面的变量x,y叫做函数的参数。
图中第3~5行这么多东西,在数学里面叫对应关系,在函数里面叫做函数体。
而整个函数最前面的int叫做返回类型。
当我们把这样一个函数定义好了以后,那我们就可以在后面随时去直接调用。
就比如例子里面的第13行,他最直观的作用,就是如果接下来你要重复使用这一过程的话,他可以帮你节省代码。
不过以上这个例子中,中间的函数体那一部分只是为了便于各位看官去理解的。
实际上是可以更简化一点的,中间的函数体我直接写成return(x+y)也可以。
不加括号都行。加括号只是为了更加清楚的显示是把这两者之和返回去了。
以上就是今天关于函数的一个初步认识的内容,更详细的内容的话,等我学到后面我会继续更新的~