完成相对独立功能的程序主控模块模块1_1模块1_n模块2_1模块2_n.PPT

完成相对独立功能的程序主控模块模块1_1模块1_n模块2_1模块2_n.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完成相对独立功能的程序主控模块模块1_1模块1_n模块2_1模块2_n

* MCU-51单片机 函数的定义与调用 函数的定义与调用 一 函数与C程序结构 二 函数的定义与调用 三 函数的嵌套调用与递归调用 四 内部变量与外部变量 函数的定义与调用 函数:完成相对独立功能的程序 主控模块 模块1_1 模块1_n 模块2_1 模块2_n 模块n_1 模块n_n 模块1 模块2 模块n 函数的定义与调用 函数的定义 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。根据函数是否需要参数,可将函数分为无参函数和有参函数两种。 (1)无参函数的一般形式 函数类型 函数名( void ) { 说明语句部分; 可执行语句部分; } 函数的定义与调用 (2)有参函数的一般形式 函数类型 函数名( 数据类型 参数[,数据类型 参数2…] ) { 说明语句部分; 可执行语句部分; } 有参函数比无参函数多了一个参数表。调用有参函数时,调用函数将赋予这些参数实际的值。 函数的定义与调用 说明 (1)函数定义不允许嵌套。 在C语言中,所有函数(包括主函数main())都是平行的。一个函数的定义,可以放在程序中的任意位置,主函数main()之前或之后。但在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。 (2)空函数──既无参数、函数体又为空的函数。其一般形式为: [函数类型] 函数名(void) { } 函数的定义与调用 函数的返回值 C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 1.函数返回值与return语句 有参函数的返回值,是通过函数中的return语句来获得的。 (1)return语句的一般格式: return ( 返回值表达式 ); (2)return语句的功能:返回调用函数,并将“返回值表达式”的值带给调用函数 注意:调用函数中无return语句,并不是不返回一个值,而是一个不确定的值。为了明确表示不返回值,可以用“void”定义成“无(空)类型”。 函数的定义与调用 函数类型 在定义函数时,对函数类型的说明,应与return语句中、返回值表达式的类型一致。 如果不一致,则以函数类型为准。如果缺省函数类型,则系统一律按整型处理。 函数的定义与调用 函数的调用 函数的参数分为形参和实参两种,作用是实现数据传送 形参和实参是按传值方式相结合也称传值调用 实参:调用函数中的变量; 形参:被调用函数中的变量; 传值调用过程: 1)、形参和实参各占一个独立的存储空间 2)、形参的存储空间是函数被调用时才分配的 形参出现在函数定义中,只能在该函数体内使用。发生函数调用时,调用函数把实参的值复制1份,传送给被调用函数的形参,从而实现调用函数向被调用函数的数据传送。 特点:函数中对形参变量的操作不会影响调用函数中的实参 函数的定义与调用 说明: (1)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。 因此,应预先用赋值、输入等办法,使实参获得确定的值。 (2)形参变量只有在被调用时,才分配内存单元;调用结束时,即刻释放所分配的内存单元。 因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。 (3)实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 (4)实参和形参占用不同的内存单元,即使同名也互不影响。 (5)实参和形参在个数、类型上要匹配 函数的定义与调用 函数的嵌套调用和递归调用 1 函数的嵌套调用 函数的嵌套调用是指,在执行被调用函数时,被调用函数又调用了其它函数。其关系可表示如图。 函数的定义与调用 函数的递归调用 函数的递归调用是指,一个函数在它的函数体内,直接或间接地调用它自身。 C语言允许函数的递归调用。在递归调用中,调用函数又是被调用函数,执行递归函数将反复调用其自身。每调用一次就进入新的一层。 为了防止递归调用无终止地进行,必须在函数内有终止递归调用的手段。常用的办法是加条件判断,满足某种条件后就不再作递归调用,然后逐层返回。 * * * * * * * * * * * * * * * * * * * * * * * * * * *

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档