C语言函数调用及定义ppt课件

上传人:资****亨 文档编号:135534291 上传时间:2020-06-16 格式:PPT 页数:37 大小:325.50KB
返回 下载 相关 举报
C语言函数调用及定义ppt课件_第1页
第1页 / 共37页
C语言函数调用及定义ppt课件_第2页
第2页 / 共37页
C语言函数调用及定义ppt课件_第3页
第3页 / 共37页
C语言函数调用及定义ppt课件_第4页
第4页 / 共37页
C语言函数调用及定义ppt课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《C语言函数调用及定义ppt课件》由会员分享,可在线阅读,更多相关《C语言函数调用及定义ppt课件(37页珍藏版)》请在金锄头文库上搜索。

1、 1 第5讲函数函数的定义及调用 2 主要内容 函数无参无返回值函数有参无返回值函数有参有返回值函数函数间数据传递整数类型整数变量的定义整数的运算整数的输入和输出整数在函数间传递 P84 P95第4章函数 用户自定义函数 3 4 2 1函数定义 函数是指完成一个特定工作的独立程序模块 库函数 由C语言系统提供定义 如scanf 等函数自定义函数 用户根据需要定义 如cylinder 函数main 是一个主函数 C程序由一个main 或多个函数构成程序中一旦调用了某个函数 该函数就会完成特定功能 然后返回到调用它的地方 除主函数外一般函数都不能单独运行 函数经过运算 得到一个明确结果 并需要回送

2、该结果 有返回值函数 例 函数cylinder 返回圆柱的体积 函数完成一系列操作步骤 不需要回送任何运算结果 无返回值函数 1 无参无返回值函数2 有参无返回值函数 P25 一般有参 4 用户自定义函数 函数定义 编制独立功能的程序函数声明 主调函数调用前声明函数调用 主调函数调用被调用函数函数执行 运行被调用函数注 不能独立运行 4 5 5 写自己的函数 用户自定义函数 voidtriangle void printf n printf n printf n 无返回值函数void函数的作用仅仅是执行一系列的指令 打印 6 1 无参无返回值函数定义p87一般形式 void函数名 void 函

3、数体 6 void函数名 函数体 voidtriangle void printf n printf n printf n voidtriangle printf n printf n printf n 或 P4 7 无参无返回值的函数的声明p87 一般形式 void函数名 void voidtriangle void 主调函数告诉编译系统用户自定义函数的存在编译系统在检查被调函数时要知道调用信息包括 函数名 参数 返回类型 仅仅声明了 函数名 7 P4 8 无参无返回值的函数的调用 一般形式 函数名 上例 triangle 写一个主函数 调用 triangle 函数 打印图形 include

4、voidmain void voidtriangle 函数声明 triangle voidtriangle printf n printf n printf n 8 P4 9 aprogramtooutputatriangle includevoidtriangle void main printf Abouttoprintatriangle n triangle printf Thatwasit n voidtriangle void printf n printf n printf n 9 例 sample01 04 c 函数声明 主函数前 p84 2 函数调用 函数定义 调用自定义函数

5、中可不包括任何内容 但 一定要写 可放在main函数之前 也可放在main函数的后面 但不能放在main函数的函数体中 函数和函数之间地位是平等的 没有嵌套关系 只有嵌套调用 告诉编译器 存在这样一个用户自定义的函数 及它的调用方法 名称 参数 返回值 主调函数 被调函数 预处理 10 10 执行流程 程序的执行顺序从main函数开始执行 执行完main函数即结束执行 遇到调用函数 转向执行被调函数 执行完被调函数后 返回调用函数的调用处 继续向下执行 程序的书写顺序与执行顺序有关 顺序执行 分支或循环会改变顺序函数的书写顺序与执行顺序无关函数定义若写在函数调用之前 函数声明可省略 但不主张

6、includevoidmain void voidtriangle triangle voidtriangle printf n printf n printf n includevoidtriangle printf n printf n printf n voidmain void triangle 11 11 完成画简图 女孩 的程序 打印图形女孩房子男孩 12 12 sample01 03 c 完成画基本组件的函数画一个圆画一个横线画一个平行线画一个交叉线完成画三角形的函数画一个交叉线画一个横线 在main函数中调用子函数完成画小女孩画一个圆画三角形画一个交叉线 13 13 完成画基本

7、组件的函数 Drawacircle voiddraw circle void printf n printf n printf n Draw绘画Circle圆 Drawintersectinglines voiddraw intersect void Use2 stoprint1 printf n printf n printf n intersectinglines相交线 14 14 完成画基本组件的函数 Drawsabaseline voiddraw base void printf n baseline基 横 线 Drawaparallel voiddraw parallel void

8、printf n printf n Parallel平行线 15 15 完成画三角形的函数 Drawsatriangle voiddraw triangle void draw intersect 画相交线 draw base 画横线 16 画小女孩 include functionprototypes voiddraw circle void 圆voiddraw intersect void 相交线voiddraw base void 横线voiddraw triangle void 三角形 intmain void Drawacircle draw circle Drawatriangle

9、 draw triangle Drawintersectinglines draw intersect return0 Function函数Prototype原型 17 17 执行示例 18 18 思考 main函数中三条语句功能还不明显 可增加一个函数draw girl画小女孩请修改程序 19 19 画小女孩函数 Drawsagirl voiddraw girl void Drawacircle draw circle Drawatriangle draw triangle Drawintersectinglines draw intersect 20 20 完成画小女孩程序 include

10、 functionprototypes voiddraw circle void voiddraw intersect void voiddraw base void voiddraw triangle void voiddraw girl void intmain void draw girl return0 21 21 改错题error1 6 c voidmain printstar sayHello void printstar voidprintStar void printf voidsayHello void printf helloworld P2 includevoidmain

11、 voidprintStar void voidsayHello void printStar sayHello printStar voidprintStar void printf voidsayHello void printf helloworld 22 2 有参无返回值函数定义P87 void函数名 形参表 函数首部 函数实现过程 函数体 return 可以省略return 注 这类函数通常用于屏幕输出等 表示不返回结果 不能省略否则 函数类型被默认定义为int 23 参数 参数的作用 实现值的传递主调函数向被调函数传递值 实际参数 实参 被调函数处理所需要的数据 函数调用被调函数向

12、主调函数传递值 形式参数 形参 被调函数向主调函数传递被调函数运行结果的数据 函数定义 24 3 有参有返回值函数定义程序解析 计算圆柱体积 例 输入圆柱体的高h和半径r 求圆柱体积 volume r2 h 要求定义并调用函数cylinder r h 计算圆柱体的体积 cylinder圆柱体 volume体积 25 计算圆柱体积 includeintmain void doubleheight radius volume doublecylinder doubler doubleh 函数声明 函数类型函数名类型名称类型名称 实参表 printf Enterradiusandheight sca

13、nf lf lf 例 源程序 26 Cylinder函数 函数定义 求圆柱体积 doublecylinder doubler doubleh 函数类型函数名类型名称类型名称 形参表 doubleresult result 3 1415926 r r h 计算体积 returnresult 返回结果 Enterradiusandheight 3 010Volume 282 743 注 主函数完成输入输出 27 1 返回运算结果的函数定义 函数类型函数名 形参表 函数首部 函数实现过程 函数体 return表达式 将函数运算的结果回送给主调函数 注 只能返回一个值 函数返回值的类型 注 没有分号

14、doublecylinder doubler doubleh doubleresult result 3 1415926 r r h returnresult 28 函数定义 形参 类型1参数1 类型2参数2 类型n参数n参数之间用逗号分隔 每个参数前面的类型都必须分别声明 函数类型函数名 形参表 函数实现过程return表达式 不能写成doubler h doublecylinder doubler doubleh doubleresult result 3 1415926 r r h returnresult P2 29 课堂练习 定义判断奇偶数的函数even n inteven intn

15、 函数首部 if n 2 0 判别奇偶数 return1 偶数返回1 elsereturn0 奇数返回0 分析 功能 判断奇偶数形式参数 整数n返回值 当n为偶数时返回1 否则返回0 30 函数类型函数名 参数表 voidtriangle void voidpyramid intn doublecylinder doubler doubleh 函数必须先定义后调用 如果自定义函数在主调函数的后面 就需要在函数调用前 加上函数原型声明 函数声明 说明函数的类型和参数的情况 以保证程序编译时能判断对该函数的调用是否正确 书写位置 写在 main 里 函数体开始位置 写在 main 前 在主调函数前

16、 函数 原型 声明 注 只写函数定义中的第1行 函数首部 并以分号结束 无参无返回值函数声明 有参无返回值函数声明 有参有返回值 31 函数调用P89 函数定义后 可以在其它函数中调用该函数 或自己调用自己 嵌套调用 调用C标准库函数时 在程序的最前面用 include命令包含相应的头文件 如 include调用自定义函数时 程序中必须有与调用函数相对应的函数声明 doublecylinder doubler doubleh volume cylinder radius height 函数调用 32 1 函数调用的形式和过程 使用 带 返回值 volume cylinder radius height printf f n cylinder radius height 完成操作 无返回值 pyramid 5 有参triangle 无参 常用于void类型函数的调用 常用于有返回结果的函数的调用 常量 变量 表达式 函数名 实参表 33 函数调用的过程 计算机在执行程序时 从主函数main开始执行 如果遇到某个函数调用 暂停执行主函数 转而执行相应的被调函数 该函数执行完后 将返回主函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号