函数的定义及调用.ppt

上传人:xt****7 文档编号:5330366 上传时间:2020-01-26 格式:PPT 页数:32 大小:316.81KB
返回 下载 相关 举报
函数的定义及调用.ppt_第1页
第1页 / 共32页
函数的定义及调用.ppt_第2页
第2页 / 共32页
函数的定义及调用.ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
第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 2 a d b d n a b huanshu1 a b printf 3 a d b d n a b voidhuanshu1 intx inty 利用变量换数 intt printf 1 x d y d n x y t x x y y t printf 4 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 5d 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 5d i shuzu i 说明 ab shuzu 2000H intab 2 5 10 huanshu2 ab 2 for i 0 i n 1 i t shuzu i shuzu i shuzu i 1 shuzu i 1 t 参数传递小结 格式 函数名 实参列表 说明 实参与形参的个数相等 类型相同 顺序一致 呈一一对应的关系 实参的求值顺序不确定 与所用系统有关 实参应有确定的值 三 函数的调用 1 函数调用的一般形式 方式1 函数语句 例printf 2 函数表达式 例c 2 pow 3 5 6 3 函数参数 例c 2 pow pow 3 5 6 6 例printf f n pow 3 5 6 例 说出下列程序的功能 fun2 inta intb intc c a b 3 returnc fun1 inta intb intc a a b b c fun2 a b returnc c main intx 11 y 19 printf d n fun1 x y
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!