Bootstrap

入门c语言DAY11——认识函数

今天来学习函数的相关内容~

先回顾一下之前的内容

之前有一篇博文讲了这么一个例子:

dbf7bfd6501b4f6583058e167f6510e8.jpg

我们的目的是求任意两个整数的和

而转化一下需要这三个步骤:输入,求和,打印。

而这个例子中的scanf就是函数,不过用的是它较为简单的一种用法

结合初中数学函数的定义来理解一下,由“定义域”“对应关系”和“值域”这三部分组成,定义域就是我们要输入的值,对应关系就是scanf读取了这个数字,值域就是scanf把这些值填入对应的变量,也就是变量此时的值。

C语言中的函数其实和数学中很相似,只不过表达形式是不一样的。

 

再那上面的例子讲一下

假如我们有这样一个函数Add,能把两数相加,写为Add(a,b)

那第七行的内容直接写为sum=Add(a+b)

但实际上Add这个函数不存在,所以我们要先设计出这个函数才能去使用。

由于输入的是整数,所以使用int

而这个Add函数内部的运算过程实际上就和第七行的原理一样,可以这么写:

05dd5f1a8ffc49e698893d0f66c02645.jpg

 前六行我们定义了一个新的函数Add,通过加法运算使Add接入两个数给x,y,再加法得到z再输出。

 

 没有理解不要紧。

可以想象一下,把函数当做一个工厂,工厂的原理就是先提供原材料,然后再在里面加工,最后把成品给出来。

函数的话,就是先输入数据,然后在中间进行运算,最后把数据输出。

 

像上面举的这个例子里面的Add叫函数名,而里面的变量x,y叫做函数的参数。

图中第3~5行这么多东西,在数学里面叫对应关系,在函数里面叫做函数体。

而整个函数最前面的int叫做返回类型。

 

当我们把这样一个函数定义好了以后,那我们就可以在后面随时去直接调用。

就比如例子里面的第13行,他最直观的作用,就是如果接下来你要重复使用这一过程的话,他可以帮你节省代码。

 

不过以上这个例子中,中间的函数体那一部分只是为了便于各位看官去理解的。

实际上是可以更简化一点的,中间的函数体我直接写成return(x+y)也可以。

不加括号都行。加括号只是为了更加清楚的显示是把这两者之和返回去了。

54f6f8b8823349ee943aea29e68eeaae.jpg

以上就是今天关于函数的一个初步认识的内容,更详细的内容的话,等我学到后面我会继续更新的~

 

 

 

 

 

;