- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 函数 函数 函数的定义,函数参数和函数的值 函数的调用(嵌套、递归) 全局变量、局部变量、动态存储变量和静态存储变量 §8.1 概述 C是模块化程序设计语言 C语言由函数构成,但C以源程序为单位进行编译 程序执行由main函数开始,调用其他函数后回到main函数,在main函数中结束整个程序的运行,main函数是系统定义的,任何一个程序都必须有且只有一个main函数,main函数的位置不受限制 函数定义的一般形式 无参函数的定义形式 类型标识符 函数名( ) { 声明部分 语句 } 有参函数的定义形式 类型标识符 函数名(形式参数表列 ) { 声明部分 语句 } 可以有”空函数”的定义 类型标识符 函数名( ) { } 对形参的声明方式 分为:现代的和传统的 函数分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数 从函数形式 无参函数 有参函数 §8.2 函数参数和函数的值 形参和实参 说明: 形参在调用时才分配内存单元,调用结束后释放(内存中实参和形参占不同的单元) 实参与形参的数据传递为“值传递”,即单向传递,由实参传递给形参,但不能由形参传递给实参 实参与形参的类型要求相同或赋值兼容 实参要求有确定的值 函数调用过程: 暂时中断主调函数的运行,转向被调函数 为被调函数的形参分配内存单元 计算主调函数实参的值,并传递给对应的形参 执行被调函数的函数体 释放被调函数形参的内存单元 返回主调函数,继续运行… 函数的返回值 形式: return(表达式);或 return 表达式; 功能:将被调用函数中的一个确定值带回主调函数中 说明: 函数的类型就是返回值的类型,如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准. 如果没有return,函数将带回一个无用的值(不确定的) void型(空类型) §8.3 函数的调用 调用形式:函数名(实参表列) ; 调用方式: 语句调用: 例:printstar( ); 表达式调用: 例:m=max(a,b)*2; 参数调用: 例:m=max(a,max(b,c)); ?说明:?实参与形参的个数应相等、类型应一致、按顺序对应,一一传递 ?实参表列可以没有,但括弧不可省略 ?实参表求值顺序,因系统而定(Turbo C 自右向左) 函数声明:告诉编译系统将要调用此函数,并将有关信息通知编译系统,以便进行函数类型、参数个数及参数类型等的检验 形式: 函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2 ….. ); 函数类型 函数名(参数类型1,参数类型2,.. ); 函数说明位置:在主调函数中,函数调用之前 或在文件开头(所有函数的外部) 说明: 如在函数调用之前,没有对函数作以声明,则把第一次遇到的该函数形式作为函数声明,并默认类型为int 被调用函数定义出现在主调函数之前,可以不加声明 §8.4 函数的嵌套调用 定义:指在调用一个函数的过程中,又调用了另一个函数 说明:函数不可嵌套定义,但可以嵌套调用 §8.5 函数的递归调用 定义:在调用一个函数的过程中又直接或间接的调用了该函数本身 例8.7:有5个人坐在一起,问第5个人岁数?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁,问第2个人,又说比第1个人大2岁,最后问第1个人,他说是10岁。请问第5个人多大? 这是一个递归问题。 求第5个人年龄的过程 age(5) age(5) =age(4)+2 =18 age(4) age(4) =age(3)+2 =16 age(3) age(3) =age(2)+2 =14
您可能关注的文档
最近下载
- 软件服务共享交付中心小组负责人考试.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 架子工技能大赛多选题20220627.docx VIP
- 2024外研版英语三年级上册Unit 3 It's a colourful world 第2课时Speed up 课件.pptx
- 政务数据共享交换平台解决方案(60页PPT).pptx VIP
- 综合序列--单选题6.docx VIP
- 小码王CPA图形化编程二级试题打卡-第3天.docx VIP
- 中国临床肿瘤学会(csco)胃癌诊疗指南2025.docx VIP
- 小码王CPA图形化编程二级试题打卡-第1天.docx VIP
- 人工智能四级模拟测试1.docx VIP
文档评论(0)