桓楠百科网

编程知识、经典语录与百科知识分享平台

C语言编程入门:函数的形参与实参_c语言函数的形参只是形式上的存在不占用具体存储单元

我们先回顾一下函数的定义和调用语法格式,然后重点讲函数的形参与实参。

1 函数

C语言程序是由函数组成的,一个程序可以由多个函数组成。

C语言程序只能有一个主函数,即只能有一个main函数

函数分为系统函数用户自定义函数

scanf( )和printf( )都是系统函数,scanf( )是输入函数,printf( )是输出函数,我们可以直接调用。

用户自定义函数就是我们自己定义的函数,函数的功能由我们自己编程实现。

以下所说的函数都指用户自定义函数。

C语言程序可以由多个函数组成,但只能有一个主函数,即只能有一个main( )函数。

不管程序由多少个函数组成,程序都是从main( )函数开始执行。


2 函数的4种类型

函数的定义语法格式:

数据类型 函数名( 形式参数表 )

{

函数体;

}

上述形式参数表是可选项,不是每个函数都有形式参数。

函数有4种类型:

类型1:无返回值无参数函数

void 函数名( ) { }

以下语句定义一个无返回值无参数函数,无返回值的函数类型是void,函数名自己命名,如命名为f1:

类型2:无返回值有参数函数

void 函数名(形式参数表) { }

以下语句定义一个无返回值有参数函数,参数就是形式参数,无返回值的函数类型是void,函数名自己命名,如命名为f2,只有一个参数,为int型,参数名为m:

类型3:有返回值无参数函数

数据类型 函数名( ) { }

如果函数有返回值,则函数体中必须要有一句:

return 值;

这个值的类型和函数的数据类型是一致的。

比如函数头为: int f3( )

则函数体内必定有一句:

return 整数;

以下语句定义一个有返回值无参数函数,函数类型为int,说明函数要返回一个整数,函数名自己命名,如命名为f3,没有参数。

一般有返回值无参数的函数比较少见,因为意义不大。常见的是第4类。

类型4:有返回值有参数函数

数据类型 函数名(形式参数表) { }

以下语句定义一个有返回值有参数的函数,函数类型为int,说明函数要返回一个整数,函数名自己命名,如命名为f4,有两个整型参数x和y。


3 函数的调用

定义了函数,目的就是为了在其它函数里调用,比如在主函数里调用自定义函数。

函数的调用语法格式:

函数名( );

或者:

函数名( 实际参数表 );

如果是第1、3类函数,无返回值无参数或有返回值无参数,则调用时也没有对应的参数。

但如果是第2、4类函数,无返回值有参数或有返回值有参数,则调用时需要给出对应的参数。

程序1:

运行结果就是第1行输出三个*号,第2行输出三个#号,第3行输出三个*号:

程序2:

函数f3的类型是int,表示这个函数有一个返回值,而且返回值是int型(返回一个整数)。

也就是说,函数f3里面必须有一个语句形如:

return 整数;

函数f3的形参两个:a和b,都是int型。

主函数里可以调用函数f3,而且可以多次调用。

调用时实参要与形参一一对应

比如调用语句为f3(10,20)时,实参为10、20;

当调用语句为f3(100,200)时,实参为100、200。

函数f3的功能是什么?

就是将两个整数相加,返回它们的和。

程序2的运行结果为:

形参只能是变量,但实参可以是常数,也可以是变量。


4 形参与实参

函数定义时的参数叫形式参数(简称形参),调用时的参数叫实际参数(简称实参)。

形参相当于电影剧本里面的角色,实参相当于扮演这个角色的演员。

一个角色可以由多个演员扮演,比如角色叫杨过,这个剧本可以翻拍多次,就会有多个不同演员来扮演杨过,如刘德华、古天乐、黄晓明等。

程序3:

程序3中函数f3的形参为两个int变量:a和b, 实参为两个int变量n和m。

当运行时输入100 200,则n=100,m=200。

调用函数f3(n,m),则将100传给形参a,200传给形参b,f3的返回结果是a+b即100+200,也就是说函数f3以300的结果返回主函数,则x=f3(n,m)的结果就是x=300。

最后输出300。

程序3运行结果:

5 形参的改变不能影响实参

前面提过,当调用函数时,实参的值传给形参形参的改变不会影响对应的实参

就相当于剧本里的角色杨过断臂了,但扮演这个角色的演员并没有断臂。

角色不会影响演员,当演员把值传给角色后,不管角色怎么变,电影拍摄完毕,演员该干嘛就干嘛,没有任何影响。

程序4:

程序4中函数f4的形参为两个int变量:a和b, 实参为两个int变量x和y。

一开始x=1,y=2,输出1和2。

然后调用函数f4(x,y),将实参x的值1和实参y的值2传给形参a和b。

函数f4中将形参a的值变为100,形参b的值变为200,输出a和b的值100和200。

然后形参的改变不影响实参,回到主函数中再输出x和y,依然是1和2。

程序4运行结果:

6 总结

1. C语言程序可以由多个函数组成,但只能有一个主函数(main函数)。程序总是从main( )函数开始执行。

2. 函数的4种类型:

(1)无返回值无参数函数;

(2)无返回值有参数函数;

(3)有返回值无参数函数;

(4)有返回值有参数函数。

3. 函数定义时的参数叫形式参数(简称形参),调用时的参数叫实际参数(简称实参)。

4. 形参只能是变量,但实参可以是常数,也可以是变量。

5. 当调用函数时,实参的值传给形参。形参的改变不会影响对应的实参。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言