C语言函数调用及定义.ppt
《C语言函数调用及定义.ppt》由会员分享,可在线阅读,更多相关《C语言函数调用及定义.ppt(37页珍藏版)》请在咨信网上搜索。
1、1第5讲 函数 函数的定义及调用2主要内容函数函数无参无返回值函数无参无返回值函数有参无返回值函数有参无返回值函数有参有返回值函数有参有返回值函数函数间数据传递函数间数据传递整数类型整数类型整数变量的定义整数变量的定义整数的运算整数的运算整数的输入和输出整数的输入和输出整数在函数间传递整数在函数间传递P84P95第4章函数用户自定义函数4.2.1 函数定义函数定义 函数是指完成一个特定工作的独立程序模块。函数是指完成一个特定工作的独立程序模块。库函数:由库函数:由C语言系统提供定义。如语言系统提供定义。如scanf()等函数等函数自定义函数:用户根据需要定义。如自定义函数:用户根据需要定义。如
2、cylinder()函数函数main()是一个主函数,是一个主函数,C程序由一个程序由一个main()或多个函数构成或多个函数构成程程序序中中一一旦旦调调用用了了某某个个函函数数,该该函函数数就就会会完完成成特特定定功功能能,然然后后返返回回到到调调用用它它的的地地方方。除除主主函函数数外外一一般般函函数数都不能单独运行。都不能单独运行。函函数数经经过过运运算算,得得到到一一个个明明确确结结果果,并并需需要要回回送送该该结结果果有返回值函数有返回值函数。例,函数。例,函数cylinder()返回圆柱的体积。返回圆柱的体积。函函数数完完成成一一系系列列操操作作步步骤骤,不不需需要要回回送送任任何
3、何运运算算结结果果无无返回值函数返回值函数:1.无参无参无返回值函数无返回值函数2.有有参参无返回值函数无返回值函数P25一般有参一般有参用户自定义函数用户自定义函数函数定义:编制独立功能的程序函数定义:编制独立功能的程序函数声明函数声明:主调函数调用前声明:主调函数调用前声明函数调用函数调用:主调函数调用被调用函数:主调函数调用被调用函数函数执行函数执行:运行被调用函数:运行被调用函数注:注:不能独立运行不能独立运行45写自己的函数用户自定义函数写自己的函数用户自定义函数 void triangle(void)printf(*n);printf(*n);printf(*n);无返回值函数无返
4、回值函数void函数的作用仅仅是执行函数的作用仅仅是执行一系列的指令一系列的指令打印 1.无参无参无返回值无返回值函数定义函数定义 P87一般形式一般形式void 函数名函数名(void)函数体函数体6void 函数名函数名()函数体函数体void triangle(void)printf(*n);printf(*n);printf(*n);void triangle()printf(*n);printf(*n);printf(*n);或或P4无参无返回值的函数的声明无参无返回值的函数的声明 P87一般形式:一般形式:void 函数名函数名(void);void triangle(void);
5、主调函数主调函数告诉编译系统用户自定义函数的存在告诉编译系统用户自定义函数的存在编译系统在检查被调函数时要知道调用信息包括:编译系统在检查被调函数时要知道调用信息包括:函数名,参数,返回类型。函数名,参数,返回类型。仅仅声明了仅仅声明了“函数名函数名”7P4无参无返回值的函数的调用无参无返回值的函数的调用一般形式:函数名一般形式:函数名();上例:上例:triangle();写一个主函数,调用写一个主函数,调用“triangle”函数,打印函数,打印图形。图形。#include void main(void)void triangle();/*函数声明函数声明*/triangle();void
6、 triangle()printf(*n);printf(*n);printf(*n);8P4/*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);printf(*n);9例:例:SAMPLE01_04.C函数声明(主函数前)函数声明(主函数前)p84(2)函数调用函数调用函数定义函数定义调用自定
7、义函数,调用自定义函数,()中可不包括任何内中可不包括任何内容,但容,但()一定要写。一定要写。可放在可放在main函数之前,也可放在函数之前,也可放在main函数的后面。但不能放在函数的后面。但不能放在main函数的函函数的函数体中,函数和函数之间地位是平等的,数体中,函数和函数之间地位是平等的,没有嵌套关系。只有嵌套调用。没有嵌套关系。只有嵌套调用。告诉编译器,存在这样一个用告诉编译器,存在这样一个用户自定义的函数,及它的调用户自定义的函数,及它的调用方法:名称、参数、返回值。方法:名称、参数、返回值。主主调调函函数数被被调调函函数数预处理预处理10执行流程执行流程程序的执行顺序程序的执行
8、顺序从从main函数开始执行,函数开始执行,执行完执行完main函数即结函数即结束执行。束执行。遇到调用函数,转向执遇到调用函数,转向执行被调函数,执行完被行被调函数,执行完被调函数后,返回调用函调函数后,返回调用函数的调用处,继续向下数的调用处,继续向下执行。执行。程序的书写顺序程序的书写顺序与执行顺序有关顺与执行顺序有关顺序执行。序执行。分支或循环会改变顺序分支或循环会改变顺序函数的书写顺序函数的书写顺序与执行顺序无关与执行顺序无关函数定义若写在函数调函数定义若写在函数调用之前,用之前,函数声明函数声明可省可省略,但不主张。略,但不主张。#include void main(void)vo
9、id triangle();triangle();void triangle()printf(*n);printf(*n);printf(*n);#include void triangle()printf(*n);printf(*n);printf(*n);void main(void)triangle();11完成画简图(完成画简图(女孩女孩)的程序)的程序打印图形打印图形女孩女孩房子房子男孩男孩12SAMPLE01_03.C完成画完成画基本组件基本组件的函数的函数画一个圆画一个圆画一个横线画一个横线画一个平行线画一个平行线画一个交叉线画一个交叉线完成画完成画三角形三角形的函数的函数画一个
10、交叉线画一个交叉线画一个横线画一个横线在在main函数中调用子函数中调用子函数完成画小函数完成画小女孩女孩画一个圆画一个圆画三角形画三角形画一个交叉画一个交叉线13完成画基本组件的函数完成画基本组件的函数/*Draw a circle*/void draw_circle(void)printf(*n);printf(*n);printf(*n);Draw 绘画绘画 Circle 圆圆/*Draw intersecting lines*/void draw_intersect(void)/*Use 2 s to print 1*/printf(/n);printf(/n);printf(/n);
11、intersecting lines相交线相交线 14完成画基本组件的函数完成画基本组件的函数/*Draws a base line*/void draw_base(void)printf(-n);base line基(横)线基(横)线/*Draw a parallel*/void draw_parallel(void)printf(|n);printf(|n);Parallel 平行线平行线 15完成画三角形的函数完成画三角形的函数/*Draws a triangle*/void draw_triangle(void)draw_intersect();/*画相交线*/draw_base();
12、/*画横线*/画小女孩画小女孩#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 函
13、数函数 Prototype 原型原型 17执行示例执行示例main(画女孩)画圆画三角形画交叉线画交叉线画横线18思考思考 main函数中三条语句函数中三条语句功能还不明显,可增功能还不明显,可增加一个函数加一个函数draw_girl 画小女孩画小女孩请修改程序请修改程序画女孩画圆画三角形画交叉线画交叉线画横线main19画小女孩函数画小女孩函数/*Draws a girl */void draw_girl(void)/*Draw a circle.*/draw_circle();/*Draw a triangle.*/draw_triangle();/*Draw intersecting l
14、ines.*/draw_intersect();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;21改错题 ERROR1_6.Cvoid main()printstar;sayHello(void);printstar;void printStar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 调用 定义
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。