C语言:第八课

一、在C语言程序设计时,通常将一个大的程序按功能分成若干个较小的模块,每个模块编写成结构清晰、接口简单、容易理解的程序段——函数。这种方法叫模块化程序设计方法。系统提供的标准函数,又称为库函数。

二、函数的定义就是写出函数的全部内容,即完成函数功能的程序块。一般格式为:
  [color=red]函数类型 函数名称(形式参数表){
  说明语句序列
  可执行语句序列
  }[/color]

说明:

1、函数的类型可以是险滩函数和数组以外的任何类型,但对一个具体的函数而言,它的类型是惟一的,并且通常与函数的返回值的类型一致。如果缺少类型说明,那么编译程序将认为该函数的类型是int型。

2、形参可以是空的,也可以是由多个形参组成的,每个形参之间用逗号隔开。不管形参表中是否有参数,都要用圆括号括起来。

3、C语言中的函数没有从属关系,不能嵌套定义,各函数之间是独立的。

4、函数定义:指出函数通过return返回值的类型,除了取常用的各种数据类型外,还有种void型,即无返回值,默认的数据类型为int。

5、函数声明:被调用的函数需要先声明后调用,但若定义位于调用前面,可省略声明。

三、从形式上,函数分为无参函数和有函数。即在调用函数时,看主调函数和被调函数之间有没有数据传输。

  从函数的值来看,函数分为无返回值的函数和有返回值的函数。任何一个函数,只要执行到return语句,函数就结束运行,返回到调用处。如果return语句后的表达式为逗号表达式,那么它的返回值为逗号表达式的最后一个表达式的值,即一个函数只有一个返回值。

四、非数组作为函数的参数,遵守“值传递”方式。数组名作为函数参数时,采用“地址传递”的方式。

  数组名作为函数参数时,实参数组的长度必须是确定的,而形参数组的长度可以是不确定的(但是[]不能省略)。惹形参数组有长度,则一定要大于实参数组的长度。

五、函数的嵌套调用,是指一个函数可以被其他函数调用,同时,它可以调用其他别的函数。

  函数的递归调用有两种形式。一种是直接递归调用,即一个函数可直接调用该函数本身;另一种是间接递归调用,即一个可间接地调用该函数本身。能够递归调用的函数是一种递归函数。

六、当被调用函数是有参函数时,主调函数和被调函数间有数据传递关系。定义函数时的参数称为形式参数,简称形参。形参在函数未被使用时没有确定值,只是形式上的参数;调用函数时的参数称为实参,[color=blue]实参可以是变量、常量或表达式,有确定的值,[/color]是实实在在的参数。函数定义时的形参不占内存,只有发生调用时,参数才被分配内存单元,接受实参传来的值。

定义函数时必须定义形参的类型。函数的形参和实参[color=blue]个数要求相等,对应类型一致,且顺序相同。[/color]形参和实参可以同名,形参是局部于该函数的变量,即使形参和实参同名,也是两个不同的变量,占用不同的内存单元。

七、局部变量和全局变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值