C语言函数调用及定义课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言函数调用及定义课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 调用 定义 课件
- 资源描述:
-
1、第5讲 函数 函数的定义及调用1PPT课件主要内容n函数函数n无参无返回值函数无参无返回值函数n有参无返回值函数有参无返回值函数n有参有返回值函数有参有返回值函数n函数间数据传递函数间数据传递整数类型整数类型整数变量的定义整数变量的定义整数的运算整数的运算整数的输入和输出整数的输入和输出整数在函数间传递整数在函数间传递nP84P95n第4章函数用户自定义函数2PPT课件4.2.1 函数定义函数定义 n函数是指完成一个特定工作的独立程序模块。函数是指完成一个特定工作的独立程序模块。库函数:由库函数:由C语言系统提供定义。如语言系统提供定义。如scanf()等函数等函数自定义函数:用户根据需要定义
2、。如自定义函数:用户根据需要定义。如cylinder()函数函数main()是一个主函数,是一个主函数,C程序由一个程序由一个main()或多个函数构成或多个函数构成n程序中一旦调用了某个函数,该函数就会完成特定功程序中一旦调用了某个函数,该函数就会完成特定功能,然后返回到调用它的地方。除主函数外一般函数能,然后返回到调用它的地方。除主函数外一般函数都不能单独运行。都不能单独运行。函数经过运算,得到一个明确结果,并需要回送该结果函数经过运算,得到一个明确结果,并需要回送该结果有返回值函数有返回值函数。例,函数。例,函数cylinder()返回圆柱的体积。返回圆柱的体积。函数完成一系列操作步骤,
3、不需要回送任何运算结果函数完成一系列操作步骤,不需要回送任何运算结果无无返回值函数返回值函数:1.无参无参无返回值函数无返回值函数2.有有参参无返回值函数无返回值函数P25一般有参一般有参3PPT课件用户自定义函数用户自定义函数n函数定义:编制独立功能的程序函数定义:编制独立功能的程序n函数声明函数声明:主调函数调用前声明:主调函数调用前声明n函数调用函数调用:主调函数调用被调用函数:主调函数调用被调用函数n函数执行函数执行:运行被调用函数:运行被调用函数注:注:不能独立运行不能独立运行4 4PPT课件5写自己的函数用户自定义函数写自己的函数用户自定义函数 void triangle(void
4、)printf(*n);printf(*n);printf(*n);n无返回值函数无返回值函数void函数的作用仅仅是执行函数的作用仅仅是执行一系列的指令一系列的指令n打印 5PPT课件1.无参无参无返回值无返回值函数定义函数定义 p87一般形式一般形式void 函数名函数名(void)函数体函数体6void 函数名函数名()函数体函数体void triangle(void)printf(*n);printf(*n);printf(*n);void triangle()printf(*n);printf(*n);printf(*n);或或P46PPT课件无参无返回值的函数的声明无参无返回值的函
5、数的声明 p87一般形式:一般形式:void 函数名函数名(void);void triangle(void);n主调函数主调函数n告诉编译系统用户自定义函数的存在告诉编译系统用户自定义函数的存在n编译系统在检查被调函数时要知道调用信息包括:编译系统在检查被调函数时要知道调用信息包括:函数名,参数,返回类型。函数名,参数,返回类型。n仅仅声明了仅仅声明了“函数名函数名”7P47PPT课件无参无返回值的函数的调用无参无返回值的函数的调用n一般形式:函数名一般形式:函数名();n上例:上例:triangle();n写一个主函数,调用写一个主函数,调用“triangle”函数,打印函数,打印图形。图
6、形。#include void main(void)void triangle();/*函数声明函数声明*/triangle();void triangle()printf(*n);printf(*n);printf(*n);8P48PPT课件/*a program to output a triangle*/#include void triangle(void);main()printf(About to print a trianglen);triangle();printf(That was it!n);void triangle(void)printf(*n);printf(*n);
7、printf(*n);9例:例:sample01_04.c函数声明(主函数前)函数声明(主函数前)p84(2)函数调用函数调用函数定义函数定义调用自定义函数,调用自定义函数,()中可不包括任何内中可不包括任何内容,但容,但()一定要写。一定要写。可放在可放在main函数之前,也可放在函数之前,也可放在main函数的后面。但不能放在函数的后面。但不能放在main函数的函函数的函数体中,函数和函数之间地位是平等的,数体中,函数和函数之间地位是平等的,没有嵌套关系。只有嵌套调用。没有嵌套关系。只有嵌套调用。告诉编译器,存在这样一个用告诉编译器,存在这样一个用户自定义的函数,及它的调用户自定义的函数,
8、及它的调用方法:名称、参数、返回值。方法:名称、参数、返回值。主调函数主调函数被调函数被调函数预处理预处理9PPT课件10执行流程执行流程n程序的执行顺序程序的执行顺序从从main函数开始执行,函数开始执行,执行完执行完main函数即结函数即结束执行。束执行。遇到调用函数,转向执遇到调用函数,转向执行被调函数,执行完被行被调函数,执行完被调函数后,返回调用函调函数后,返回调用函数的调用处,继续向下数的调用处,继续向下执行。执行。n程序的书写顺序程序的书写顺序与执行顺序有关顺与执行顺序有关顺序执行。序执行。分支或循环会改变顺序分支或循环会改变顺序n函数的书写顺序函数的书写顺序与执行顺序无关与执行
9、顺序无关函数定义若写在函数调函数定义若写在函数调用之前,用之前,函数声明函数声明可省可省略,但不主张。略,但不主张。#include 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();10PPT课件11完成画简图(完成画简图(女孩女孩)的程序)的程序n打印图形打印图形女孩女孩房子房子男孩男孩11PPT课
10、件12sample01_完成画完成画基本组件基本组件的函数的函数画一个圆画一个圆画一个横线画一个横线画一个平行线画一个平行线画一个交叉线画一个交叉线n完成画完成画三角形三角形的函数的函数画一个交叉线画一个交叉线画一个横线画一个横线n在在main函数中调用子函数中调用子函数完成画小函数完成画小女孩女孩画一个圆画一个圆画三角形画三角形画一个交叉画一个交叉线12PPT课件13完成画基本组件的函数完成画基本组件的函数/*Draw a circle*/void draw_circle(void)printf(*n);printf(*n);printf(*n);nDraw 绘画绘画 nCircle 圆圆/
11、*Draw intersecting lines*/void draw_intersect(void)/*Use 2 s to print 1*/printf(/n);printf(/n);printf(/n);nintersecting lines相交线相交线 13PPT课件14完成画基本组件的函数完成画基本组件的函数/*Draws a base line*/void draw_base(void)printf(-n);nbase line基(横)线基(横)线/*Draw a parallel*/void draw_parallel(void)printf(|n);printf(|n);nP
12、arallel 平行线平行线 14PPT课件15完成画三角形的函数完成画三角形的函数/*Draws a triangle*/void draw_triangle(void)draw_intersect();/*画相交线*/draw_base();/*画横线*/15PPT课件画小女孩画小女孩#include /*function prototypes*/void draw_circle(void);/圆void draw_intersect(void);/相交线 void draw_base(void);/横线 void draw_triangle(void);/三角形int main(void
13、)/*Draw a circle*/draw_circle();/*Draw a triangle*/draw_triangle();/*Draw intersecting lines*/draw_intersect();return 0;Function 函数函数 Prototype 原型原型 16PPT课件17执行示例执行示例main(画女孩)画圆画三角形画交叉线画交叉线画横线17PPT课件18思考思考n main函数中三条语句函数中三条语句功能还不明显,可增功能还不明显,可增加一个函数加一个函数draw_girl 画小女孩画小女孩n请修改程序请修改程序画女孩画圆画三角形画交叉线画交叉线画
14、横线main18PPT课件19画小女孩函数画小女孩函数/*Draws a girl */void draw_girl(void)/*Draw a circle.*/draw_circle();/*Draw a triangle.*/draw_triangle();/*Draw intersecting lines.*/draw_intersect();19PPT课件20完成画小女孩程序完成画小女孩程序#include/*function prototypes*/void draw_circle(void);void draw_intersect(void);void draw_base(voi
15、d);void draw_triangle(void);void draw_girl(void);int main(void)draw_girl();return 0;20PPT课件21改错题 error1_6.cvoid main()printstar;sayHello(void);printstar;void printStar(void)printf(“*”);void sayHello(void)printf(“hello world!”);P2#include void main()void printStar(void);void sayHello(void);printStar(
展开阅读全文