C语言函数调用及定义ppt课件.ppt
《C语言函数调用及定义ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言函数调用及定义ppt课件.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。1第5讲 函数 函数的定义及调用n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。2主要内容n函数函数n无参无返回值函数无参无返回值函数n有参无返回值函数有参无返回值函数n有参有返回值函数有参有返回值函数n函数间数据传递函数间数据传递整数类型整数类型整数变量的定义整数变量的定义整数的运算整数的运算整数的输入和输出
2、整数的输入和输出整数在函数间传递整数在函数间传递nP84P95n第4章函数用户自定义函数n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.2.1 函数定义函数定义 n函数是指完成一个特定工作的独立程序模块。函数是指完成一个特定工作的独立程序模块。库函数:由库函数:由C语言系统提供定义。如语言系统提供定义。如scanf()等函数等函数自定义函数:用户根据需要定义。如自定义函数:用户根据需要定义。如cylinder()函数函数main()是一个主函数,是一个主函数,C程序由一个
3、程序由一个main()或多个函数构成或多个函数构成n程序中一旦调用了某个函数,该函数就会完成特定功程序中一旦调用了某个函数,该函数就会完成特定功能,然后返回到调用它的地方。除主函数外一般函数能,然后返回到调用它的地方。除主函数外一般函数都不能单独运行。都不能单独运行。函数经过运算,得到一个明确结果,并需要回送该结果函数经过运算,得到一个明确结果,并需要回送该结果有返回值函数有返回值函数。例,函数。例,函数cylinder()返回圆柱的体积。返回圆柱的体积。函数完成一系列操作步骤,不需要回送任何运算结果函数完成一系列操作步骤,不需要回送任何运算结果无无返回值函数返回值函数:1.无参无参无返回值函
4、数无返回值函数2.有有参参无返回值函数无返回值函数P25一般有参一般有参n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。用户自定义函数用户自定义函数n函数定义:编制独立功能的程序函数定义:编制独立功能的程序n函数声明:主调函数调用前声明函数声明:主调函数调用前声明n函数调用:主调函数调用被调用函数函数调用:主调函数调用被调用函数n函数执行:运行被调用函数函数执行:运行被调用函数注:注:不能独立运行不能独立运行4n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平
5、台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。5写自己的函数用户自定义函数写自己的函数用户自定义函数 void triangle (void) printf( *n); printf( *n); printf(*n); n无返回值函数无返回值函数void函数的作用仅仅是执行函数的作用仅仅是执行一系列的指令一系列的指令n打印 n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。1.无参无参无返回值无返回值函数定义函数定义 p8
6、7一般形式一般形式void 函数名函数名(void) 函数体函数体6void 函数名函数名() 函数体函数体void triangle (void) printf( *n); printf( *n); printf(*n); void triangle () printf( *n); printf( *n); printf(*n); 或或P4n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。无参无返回值的函数的声明无参无返回值的函数的声明 p87一般形式:一般形式:void 函
7、数名函数名(void );void triangle (void) ;n主调函数主调函数n告诉编译系统用户自定义函数的存在告诉编译系统用户自定义函数的存在n编译系统在检查被调函数时要知道调用信息包括:编译系统在检查被调函数时要知道调用信息包括:函数名,参数,返回类型。函数名,参数,返回类型。n仅仅声明了仅仅声明了“函数名函数名”7P4n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。无参无返回值的函数的调用无参无返回值的函数的调用n一般形式:函数名一般形式:函数名();n上例:
8、上例:triangle();n写一个主函数,调用写一个主函数,调用“triangle ”函数,打印函数,打印图形。图形。#include void main(void) void triangle();/*函数声明函数声明*/ triangle();void triangle () printf( *n); printf( *n); printf(*n); 8P4n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。/* a program to output a triangle
9、*/ #include void triangle(void); main() printf(About to print a trianglen); triangle(); printf(That was it!n); void triangle(void) printf( *n); printf( *n); printf(*n); 9例:例:sample01_04.c函数声明(主函数前)函数声明(主函数前)p84(2)函数调用函数调用函数定义函数定义调用自定义函数,调用自定义函数,()中可不包括任何内中可不包括任何内容,但容,但()一定要写。一定要写。可放在可放在main函数之前,也可放在
10、函数之前,也可放在main函数的后面。但不能放在函数的后面。但不能放在main函数的函函数的函数体中,函数和函数之间地位是平等的,数体中,函数和函数之间地位是平等的,没有嵌套关系。只有嵌套调用。没有嵌套关系。只有嵌套调用。告诉编译器,存在这样一个用告诉编译器,存在这样一个用户自定义的函数,及它的调用户自定义的函数,及它的调用方法:名称、参数、返回值。方法:名称、参数、返回值。主调函数主调函数被调函数被调函数预处理预处理n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。10执行流
11、程执行流程n程序的执行顺序程序的执行顺序从从main函数开始执行,函数开始执行,执行完执行完main函数即结函数即结束执行。束执行。遇到调用函数,转向执遇到调用函数,转向执行被调函数,执行完被行被调函数,执行完被调函数后,返回调用函调函数后,返回调用函数的调用处,继续向下数的调用处,继续向下执行。执行。n程序的书写顺序程序的书写顺序与执行顺序有关顺与执行顺序有关顺序执行。序执行。分支或循环会改变顺序分支或循环会改变顺序n函数的书写顺序函数的书写顺序与执行顺序无关与执行顺序无关函数定义若写在函数调函数定义若写在函数调用之前,用之前,函数声明函数声明可省可省略,但不主张。略,但不主张。#inclu
12、de void main(void) void triangle(); triangle();void triangle () printf( *n); printf( *n); printf(*n); #include void triangle () printf( *n); printf( *n); printf(*n); void main(void) triangle();n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。11完成画简图(完成画简图(女孩女孩)的程序)
13、的程序n打印图形打印图形女孩女孩房子房子男孩男孩n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。12sample01_完成画完成画基本组件基本组件的函数的函数画一个圆画一个圆画一个横线画一个横线画一个平行线画一个平行线画一个交叉线画一个交叉线n完成画完成画三角形三角形的函数的函数画一个交叉线画一个交叉线画一个横线画一个横线n在在main函数中调用子函数中调用子函数完成画小函数完成画小女孩女孩画一个圆画一个圆画三角形画三角形画一个交叉画一个交叉线n“雪亮工程是以区(县)、乡(镇
14、)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。13完成画基本组件的函数完成画基本组件的函数/*Draw a circle*/void draw_circle(void) printf( * n); printf( * *n); printf( * * n);nDraw 绘画绘画 nCircle 圆圆 /*Draw intersecting lines*/void draw_intersect(void) /* Use 2 s to print 1 */ printf( / n); printf( / n)
15、; printf( / n);nintersecting lines相交线相交线 n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。14完成画基本组件的函数完成画基本组件的函数/*Draws a base line*/void draw_base(void) printf( -n);nbase line基(横)线基(横)线/*Draw a parallel*/void draw_parallel(void) printf(| |n); printf(| |n); nParall
16、el 平行线平行线 n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。15完成画三角形的函数完成画三角形的函数/*Draws a triangle*/void draw_triangle(void) draw_intersect(); /*画相交线 */ draw_base(); /*画横线 */n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。画小女孩画小女孩
17、#include /* function prototypes */void draw_circle(void);/圆void draw_intersect(void);/相交线 void draw_base(void);/横线 void draw_triangle(void);/三角形int main(void) /* Draw a circle */ draw_circle(); /* Draw a triangle */ draw_triangle(); /* Draw intersecting lines */ draw_intersect(); return 0;Function 函
18、数函数 Prototype 原型原型 n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。17执行示例执行示例main(画女孩)画圆画三角形画交叉线画交叉线画横线n“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。18思考思考n main函数中三条语句函数中三条语句功能还不明显,可增功能还不明显,可增加一个函数加一个函数draw_girl 画小女孩画小女孩n请修改程
19、序请修改程序画女孩画圆画三角形画交叉线画交叉线画横线mainn“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。19画小女孩函数画小女孩函数/* Draws a girl */void draw_girl(void) /* Draw a circle. */ draw_circle(); /* Draw a triangle. */ draw_triangle(); /* Draw intersecting lines. */ draw_intersect();n“雪亮工程是以区
20、(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。20完成画小女孩程序完成画小女孩程序#include /* function prototypes */void draw_circle(void);void draw_intersect(void); void draw_base(void); void draw_triangle(void); void draw_girl(void );int main(void) draw_girl(); return 0;n“雪亮工程是以区(县)、乡(镇
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 调用 定义 ppt 课件
限制150内