




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12讲函数的嵌套调用 一 概述1 C程序的模块化结构2 函数定义的一般形式二 函数间的数据传送1 形参与实参2 函数的返回值3 Void函数 4 函数原型5 数组作为函数的参数三 函数的调用1 函数调用的一般形式2 函数嵌套调用 1 C程序的模块化结构 结构化程序设计方法 自顶向下 逐步细化 模块化设计 结构化编码 特点 程序结构清晰 易于维护 增加了函数的可重用性和可扩充性 一 概述 格式一 类型符 函数名称 形参表 形参说明 数据说明语句可执行语句 格式二 类型符 函数名称 类型形参1 数据说明语句可执行语句 2 函数定义的一般形式 函数定义的一般形式举例 1 floatsum x y floatx y intz z x y returnz 2 floatsum floatx floaty intz z x y returnz 函数定义的一般形式说明 1 floatsum x y floatx y intz z x y returnz 类型说明符 指明函数的类型 函数的类型是指函数的返回值的类型 函数返回值所具有的数据类型的种类与变量相同 省略时则默认为int型 若明确表示函数 不带回值 可以用 void 作类型符 称 无类型 或称 空类型 floatsum x y floatx y intz z x y returnz 函数名 通常是一个标识符 在一个程序中除了主函数外其余函数的名字可以任意取 但应有意义 函数标志 floatsum floatx floaty floatsum x y floatx y intz z x y returnz 参数表 形参表 函数定义时的参数称为形式参数 形式参数彼此间用逗号分隔 形式参数省略时称无参函数 但此时函数名后的圆括号不能省 形参说明是用来指明各个形式参数的类型 它随形参的存在而存在 floatsum x y floatx y intz z x y returnz 函数体 函数中最外层一对花括弧 括起来的内容 它由若干个数据说明语句和可执行语句组成 决定函数要实现的功能 完成的任务 函数体内若无任何语句时 为空函数 例编写自定义函数计算 分析 确定形参 求c必须知道f的大小 设形参为temp 确定函数 函数的返回值即为c的值 设为实型 程序 floatftoc temp floattemp floatc c 5 9 temp 32 returnc 例编写一个自定义函数求n 分析 确定形参 求n 必须知道n的大小 设形参为n 确定函数 函数的返回值即为n 的值 设为实型 程序 floatjiechen intn floatx y for x y 1 0 x n x y x returny 实参 实际参数 是函数调用时调用函数传送给被调用函数参数的实际值 实参可以是常量 变量和表达式 实参必须有确定的值 例如 fabs 2 putchar c sqrt x x 2 y z 二 函数间的数据传送 1 形参与实参 形参 形式参数 是函数定义时 参数表中的参数 形式参数只能是变量 在函数定义时 参数表中的形参并没有具体的值 系统也不为其分配存储单元 例如 max floatx floaty floatftoc floattemp 例形参和实参的运用 try intx inty intz printf 2 x d y d z d n x y z z x y x x x y y y printf 3 x d y d z d n x y z main inta 2 b 3 c 4 printf 1 a d b d c d n a b c try a b c printf 4 a d b d c d n a b c 说明 函数的返回值 当被调用函数在完成一定的功能后 可以将处理的结果返回到调用函数 方式 return语句作用 将表达式的值传给调用函数 并把控制权转向调用函数实现函数的返回 即结束被调用函数的执行 并将控制返回到调用它的函数 格式 return 表达式 2 函数的返回值 对于不需要提供返回值的函数可以直接用void作为函数类型定义 以表明此函数返回值为 无类型 或 空类型 例 voidpsch printf WuhanUniversity n main psch 3 void函数 函数原型 在定义或调用函数前 对该函数进行声明 作用 将函数名 函数类型及形参个数 类型 顺序等通知编译系统 当函数被调用时 可对实参 形参的类型 个数匹配情况进行检查 格式 类型符函数名 参数类型1 或 类型符函数名 类型符形参1 4 函数原型 例利用变量换数 voidhuanshu1 intx inty 函数原型声明 main 主函数 inta 5 b 10 printf 1 a d b d n a b huanshu1 a b printf 4 a d b d n a b voidhuanshu1 intx inty 利用变量换数 intt printf 2 x d y d n x y t x x y y t printf 3 x d y d n x y 例判定素数 include math h intisprime int 函数原型声明 main intx 35 if isprime x printf d是素数 n x elseprintf d不是素数 n x isprime inta inti for i 2 i sqrt double a i if a i 0 return0 return1 数组元素做函数实参 遵循 值传送 特性 此时形参为变量 数组名可做实参和形参 传送的是整个数组 在用数组名做函数参数时 实参和形参都应该用数组 或指针变量 5 数组作为函数的参数 数组元素作为函数参数举例 1 2 数组名作函数参数时应注意 1 数组名作函数参数时 应在主调函数和被调函数中分别定义数组 2 实参数组与形参数组的类型必须相同 但大小可以不同 3 形参数组的一维下标可以省略 4 数组名表示的是数组元素的首地址 数组名作函数参数时 传递的是整个数组 实参与形参之间的数据传递是地址传递 数组名作函数的参数举例 例利用数组换数 voidhuanshu2 intshuzu intn main 主函数 intab 2 5 10 i for i 0 i 2 i printf 1 ab d 2d i ab i huanshu2 ab 2 printf n for i 0 i 2 i printf 4 ab d 2d i ab i voidhuanshu2 intshuzu intn intt i printf n for i 0 i n i printf 2 shuzu d 2d i shuzu i for i 0 i n 1 i t shuzu i shuzu i shuzu i 1 shuzu i 1 t printf n for i 0 i n i printf 3 shuzu d 2d i shuzu i 说明 ab shuzu 2000H intab 2 5 10 huanshu2 ab 2 for i 0 i n 1 i k shuzu i shuzu i shuzu i 1 shuzu i 1 k 参数传递小结 格式 函数名 实参列表 说明 实参与形参的个数相等 类型相同 顺序一致 呈一一对应的关系 实参的求值顺序不确定 与所用系统有关 实参应有确定的值 三 函数的调用 1 函数调用的一般形式 方式1 函数语句 例printf 2 函数表达式 例c 2 pow 3 5 6 3 函数参数 例c 2 pow p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力农村创业
- 2025年消化内科疾病诊疗知识考核答案及解析
- 平面汇交力系平衡方程
- 民族学通论课件
- 民族大融合课件
- 2025年介入血管医学技术应用操作考核答案及解析
- 2025年眼科青光眼手术后复诊操作步骤答案及解析
- 新质生产力:夯实基础的发展策略
- 新质生产力涉及的新产业图谱
- 新质生产力的关键举措
- 医院感染预防与控制标准规范知识考试题库(含答案)
- 垃圾电厂宣传课件
- 认识有理数(第1课时)课件 2025-2026学年北师大版(2024)七年级数学上册
- 二级豆粕创新创业项目商业计划书
- (统编2025版)道德与法治一年级上册教学计划(新教材)
- 2025北京事业单位考试试题及答案
- 2025-2026学年统编版小学语文四年级上册教学计划及进度表
- 《液压与气动》课件(共十三章)
- 2025年山东高等学校教师资格考试(综合)历年参考题库含答案详解(5套)
- 工勤人员技师等级考核(公共课程)题库及答案
- it与流程管理办法
评论
0/150
提交评论