(用0基础的思维让你理解函数)
(上篇文章讲到了函数,接下来我们继续学习与认识C语言)
1.函数
说起函数,我们第一感觉肯定是我们在高等数学或高中数学再或者初中学过的函数,如y=x+1,y=2x,像这样的我们叫它函数。在C语言中也存在函数。接下来先看一下下面的这个代码。
int main () { int num1 = 0 ; int num2 = 0 ; int sum = 0 ; printf ( " 输入两个操作数 :>" ); scanf ( "%d %d" , & num1 , & num2 ); sum = num1 + num2 ; printf ( "sum = %d\n" , sum ); return 0 ; }
这个代码不难看出来它是输入两个数,然后输出两个数的和。那我们把它写成一个函数改如何来写呢? 如何写一个函数来实现两个数的和?
上述代码,写成函数如下:
( 代码后的序号表示代码运行时的顺序,方便同学们理解函数调用的内涵.)
#include <stdio.h> int Add(int x, int y) 8 { int z = x + y ; 9 return z ; 10 } int main () 1 { int num1 = 0 ; 2 int num2 = 0 ; 3 int sum = 0 ; 4 printf ( " 输入两个操作数 :>" ); 5 scanf ( "%d %d" , & num1 , & num2 ); 6 sum = Add ( num1 , num2 ); 7 printf ( "sum = %d\n" , sum ); 11
下面来给大家解释一下这个代码:
1.
有的同学看到这个函数在主函数上面,就以为是不是程序执行的时候先从这个函数开始执行呢?并不是。代码肯定是从主函数进入,(前面强调过,主函数是程序的入口,不管你的前面有多少代码,一个程序肯定是从主函数进入,然后出主函数结束程序。)
2.
这个代码进入主函数之后。先定义了一个sum,用来接收这个 函数的返回值
( 函数的返回值是什么呢?就是这个函数的处理结果,目前可以理解为函数的返回值为函数的计算结果,比如1+1=2,2就是这个计算函数的返回结果。但有的函数是没有返回值的,这个留在以后来讲,这里只是对函数有一个整体理解就可以。)
3.
第7行Add括号中的num1和num2就是函数的参数,这个函数如果使用的话肯定要往里面传参数,这个叫实参,也就是实际参数,就是实际参与函数计算的参数。我们在看到第8行那个Add后面也有个int x 和int y, 这个int x和int y就是用来接收实际参数的,int x和int y叫形参,也就是形式参数,这里可以这样理解,你传过来实参,那我得接收呀,(你扔过来一个东西,我得接着)我不接受怎么运行代码呢?为什么是int x和int y呢?因为num1和num2的类型都是整形呀(你传过来整形的数据,我肯定要用整形的接受咯。)
( 这里给大家拓展一下,方便理解,形参并不是一定叫做x, y,形参叫啥无所谓,我写int a,int b来接受都是一样的,毕竟形式参数吗,只是个形式。但是int一定写对,数据类型不能错。你仍过来苹果,我就得用装苹果的筐子接住,不能乱了套。)
4.
最后函数处理完后,return z;这个z就是函数的处理结果,放在这里也就是两个数的和。然后把z赋值给sum(也就是前面说的sum用来接收函数的返回值。)
5.
最后再总结一下代码的运行顺序,就是从主函数进入,然后依次往下遇到函数时就要调用函数,调用的话,你肯定要进入函数内部看看函数里的内容是什么,当函数结束后肯定就回到主函数继续往下执行了。
不知道同学们通过我的解释听明白了没有?希望同学们都能明白上述内容,并不需要过多深入的了解,我目前在本阶段的课程,只需要简单的认识一下函数,不要看到函数就一头雾水就可以了。