2018-09-04函数

2018-09-04  本文已影响0人  Ending_cy

函数


函数的分类

定义函数的步骤
函数名:函数叫什么名字
函数体:函数是干啥的,里面包含了什么代码
返回值类型: 函数执行完毕返回什么和调用者

形式参数
在定义函数时,函数名后面小括号()中定义的变量称为形式参数,简称形参
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。
因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量

实际参数
在调用函数时, 传入的值称为实际参数,简称实参
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参
因此应预先用赋值,输入等办法使实参获得确定值


函数声明

函数声明就是告诉系统我们这个程序里面有这个函数纯在.
一般如果自定义的函数写在了主函数main的前面就不需要进行声明
如果写在了主函数main的后面那么就需要在函数的开始部分进行声明
声明可以写在main里面也可以写在main函数的外面,但最好是写在里面
所以函数声明,就是在函数调用之前告诉系统, 该函数叫什么名称, 该函数接收几个参数, 该函数的返回值类型是什么

函数的声明格式:
将自定义函数时{}之前的内容拷贝到开始部分即可
例如: int max( int a, int b );
或者: int max( int, int );
这两种声明方法都可以


接下来开始练习

1.若定义的函数没有参数,则函数名后的圆括号可以省略(错,不可以省略)
2.C语言程序中的main( )函数必须放在程序的开始部分(错,任意位置)
3.C语言中函数返回值的类型由return语句中的表达式的类型决定(错,函数是什么类型,返回值就是什么类型)
4.return语句作为函数的出口,在一个函数体内只能有一个(错,可以有很多个)
5.C语言的源程序中必须包含库函数(错,不必要)
6.在C函数中,形参可以是变量、常量或表达式(错,不能传常量)
7.在C语言中,一个函数一般由两个部分组成,它们是函数声明和函数实现(错,函数定义和调用)
8.关于函数参数,说法正确的是:实参与其对应的形参各自占用独立的内存单元
形参名称可以和实参同名
9.下列关于自定义函数说法正确的是:函数可以没有返回值
函数可以没有形参列表(切记函数不能没有大括号{})
10.下列关于函数说法正确的是:函数声明时可以不写形参名称
函数返回值和返回值类型不同时,会自动将返回值转换为返回值类型
11.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
函数调用可以作为一个函数的形参
12.基本类型作为函数参数传递时, 可以在函数内部修改函数外部变量, 这种说法是否正确的(错误的)


递归函数

递归函数构成条件
自己调用自己
存在一个条件能够让递归结束
问题的规模能够缩小

递归和循环区别
能用循环实现的功能,用递归都可以实现
递归常用于"回溯", "树的遍历","图的搜索"等问题
但代码理解难度大,内存消耗大(易导致栈溢出), 所以考虑到代码理解难度和内存消耗问题, 在企业开发中一般能用循环都不会使用递归

上一篇下一篇

猜你喜欢

热点阅读