欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

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

    • 资源ID:1375799       资源大小:317KB        全文页数:37页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1,第5讲 函数 函数的定义及调用,2,主要内容,函数无参无返回值函数有参无返回值函数有参有返回值函数函数间数据传递整数类型整数变量的定义整数的运算整数的输入和输出整数在函数间传递,P84P95第4章函数,用户自定义函数,4.2.1 函数定义,函数是指完成一个特定工作的独立程序模块。库函数:由C语言系统提供定义。如scanf()等函数自定义函数:用户根据需要定义。如cylinder()函数main()是一个主函数,C程序由一个main()或多个函数构成程序中一旦调用了某个函数,该函数就会完成特定功能,然后返回到调用它的地方。除主函数外一般函数都不能单独运行。函数经过运算,得到一个明确结果,并需要回送该结果有返回值函数。例,函数cylinder()返回圆柱的体积。函数完成一系列操作步骤,不需要回送任何运算结果无返回值函数:1.无参无返回值函数2.有参无返回值函数,P25,一般有参,用户自定义函数,函数定义:编制独立功能的程序函数声明:主调函数调用前声明函数调用:主调函数调用被调用函数函数执行:运行被调用函数注:不能独立运行,4,5,写自己的函数用户自定义函数,void triangle (void) printf( *n); printf( *n); printf(*n); ,无返回值函数void函数的作用仅仅是执行一系列的指令,打印,1.无参无返回值函数定义 p87一般形式,void 函数名(void) 函数体,6,void 函数名() 函数体,void triangle (void) printf( *n); printf( *n); printf(*n); ,void triangle () printf( *n); printf( *n); printf(*n); ,或,P4,无参无返回值的函数的声明 p87,一般形式:void 函数名(void );void triangle (void) ;主调函数告诉编译系统用户自定义函数的存在编译系统在检查被调函数时要知道调用信息包括:函数名,参数,返回类型。仅仅声明了“函数名”,7,P4,无参无返回值的函数的调用,一般形式:函数名();上例:triangle();写一个主函数,调用“triangle ”函数,打印图形。,#include void main(void) void triangle();/*函数声明*/ triangle();void triangle () printf( *n); printf( *n); printf(*n); ,8,P4,/* 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),函数调用,函数定义,调用自定义函数,()中可不包括任何内容,但()一定要写。,可放在main函数之前,也可放在main函数的后面。但不能放在main函数的函数体中,函数和函数之间地位是平等的,没有嵌套关系。只有嵌套调用。,告诉编译器,存在这样一个用户自定义的函数,及它的调用方法:名称、参数、返回值。,主调函数,被调函数,预处理,10,执行流程,程序的执行顺序从main函数开始执行,执行完main函数即结束执行。遇到调用函数,转向执行被调函数,执行完被调函数后,返回调用函数的调用处,继续向下执行。,程序的书写顺序与执行顺序有关顺序执行。分支或循环会改变顺序函数的书写顺序与执行顺序无关函数定义若写在函数调用之前,函数声明可省略,但不主张。,#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();,11,完成画简图(女孩)的程序,打印图形女孩房子男孩,12,sample01_03.c,完成画基本组件的函数画一个圆画一个横线画一个平行线画一个交叉线完成画三角形的函数画一个交叉线画一个横线,在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);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(); /*画横线 */,画小女孩,#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 函数 Prototype 原型,17,执行示例,18,思考,main函数中三条语句功能还不明显,可增加一个函数draw_girl 画小女孩请修改程序,19,画小女孩函数,/* Draws a girl */void draw_girl(void) /* Draw a circle. */ draw_circle(); /* Draw a triangle. */ draw_triangle(); /* Draw intersecting lines. */ 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.c,void 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(); sayHello(); printStar();void printStar(void)printf(*);void sayHello(void)printf(hello world!);,2.有参无返回值函数定义P87,void 函数名(形参表) /* 函数首部 */ 函数实现过程 /* 函数体 */ return; /*可以省略return */,注:这类函数通常用于屏幕输出等,表示不返回结果,不能省略否则,函数类型被默认定义为int,参数,参数的作用实现值的传递主调函数向被调函数传递值实际参数(实参),被调函数处理所需要的数据。函数调用被调函数向主调函数传递值形式参数(形参),被调函数向主调函数传递被调函数运行结果的数据。函数定义,3.有参有返回值函数定义 程序解析计算圆柱体积,【例】输入圆柱体的高h和半径r,求圆柱体积,volume=*r2*h。要求定义并调用函数cylinder (r, h )计算圆柱体的体积。,cylinder圆柱体,volume体积,/* 计算圆柱体积 */#include int main( void ) double height, radius, volume;double cylinder (double r, double h); /* 函数声明*/ /*函数类型 函数名 类型 名称 类型 名称*/ /* 实参表 */printf (Enter radius and height: );scanf (%lf%lf, ,【例】源程序,Cylinder函数,/*函数定义:求圆柱体积 */double cylinder (double r, double h) /*函数类型 函数名 类型 名称 类型 名称*/* 形参表 */ double result;result =3.1415926 * r * r * h; /* 计算体积 */return result; /* 返回结果 */,Enter radius and height: 3.0 10Volume = 282.743,注:主函数完成输入输出,1返回运算结果的函数定义,函数类型 函数名(形参表)/* 函数首部 */ 函数实现过程 /* 函数体 */ return 表达式;,将函数运算的结果回送给主调函数,注:只能返回一个值,函数返回值的类型,注:没有分号,double cylinder (double r, double h) double result; result = 3.1415926 * r * r * h; return result;,函数定义形参,类型1 参数1 ,类型2 参数2 ,类型n 参数n参数之间用逗号分隔,每个参数前面的类型都必须分别声明,函数类型 函数名(形参表) 函数实现过程 return 表达式;,不能写成 double r, h,double cylinder (double r, double h) double result; result =3.1415926 * r * r * h; return result;,P2,课堂练习:定义判断奇偶数的函数even (n),int even (int n)/* 函数首部 */if(n%2 = 0) /* 判别奇偶数 */return 1;/* 偶数返回1 */elsereturn 0;/* 奇数返回0 */,分析:功能:判断奇偶数形式参数:整数n返回值:当n为偶数时返回1,否则返回0。,函数类型 函数名(参数表);void triangle (void);void pyramid (int n);double cylinder (double r, double h);函数必须先定义后调用。如果自定义函数在主调函数的后面,就需要在函数调用前,加上函数原型声明。函数声明:说明函数的类型和参数的情况,以保证程序编译时能判断对该函数的调用是否正确。书写位置:写在“main”里,函数体开始位置。写在“main”前。在主调函数前,函数(原型)声明,注:只写函数定义中的第1行(函数首部),并以分号结束。,无参无返回值函数声明,有参无返回值函数声明,有参有返回值,函数调用P89,函数定义后,可以在其它函数中调用该函数;或自己调用自己嵌套调用。调用C标准库函数时,在程序的最前面用#include命令包含相应的头文件。如:#include 调用自定义函数时,程序中必须有与调用函数相对应的函数声明。double cylinder (double r, double h);volume = cylinder (radius, height ); 函数调用,1.函数调用的形式和过程,使用(带)返回值:volume = cylinder (radius, height );printf(“%f n” , cylinder (radius, height );完成操作(无返回值):pyramid(5); /有参triangle (); /无参,常用于void类型函数的调用,常用于有返回结果的函数的调用,常量、变量、表达式,函数名(实参表),函数调用的过程,计算机在执行程序时,从主函数main开始执行,如果遇到某个函数调用,暂停执行主函数,转而执行相应的被调函数,该函数执行完后,将返回主函数,然后再从原先暂停的位置继续执行。函数遇return或最后的大括号,返回主函数。,示意图,#include int main( void ) double height, radius, volume;double cylinder (double r, double h); printf (Enter radius and height: );scanf (%lf%lf, ,调用函数,实参形参,执行函数中的语句,返回调用它的地方,函数声明;结束,函数定义空格结束,分析函数调用的过程,2.参数传递P91,函数定义时的参数形式参数(简称形参)double cylinder (double r, double h);函数调用时的参数实际参数(简称实参)volume = cylinder (radius, height);为形参分配存储单元实参形参的单向传递,实参把值复制给形参实参:常量、变量或表达式形参:变量,用于接受实参传递过来的值形参和实参一一对应:数量、类型和顺序均一致调用结束后释放形参存储单元;保留实参存储单元(值),3.返回函数运行结果P94,函数返回的两种情况完成确定运算,并返回该运算结果返回给主调函数。完成指定工作,没有确定的运算结果需返回给主调函数(函数类型void)。函数返回结果的一般形式:return 表达式; 如,return result; return (表达式);如, return (3.1415926 * r * r * h); 先求“表达式”值,再返回“表达式值”return语句结束函数运行带着运行结果返回主调函数,double cylinder (double r, double h)return 3.1415926 * r * r * h ; ,double cylinder (double r, double)double result;result =3.1415926 * r * r * h; return result ; ,课堂练习:1、请定义能够判断一整数奇偶性的函数even(n)。2、用户从键盘输入一个整数,主函数通过调用even(n)函数判断该数的奇偶性,并将判断结果打印输出。,#include int even (int n)/* 函数首部 */if(n%2 = 0) /* 判别奇偶数 */return 1;/* 偶数返回1 */elsereturn 0;/* 奇数返回0 */void main() int num,result; printf(n请输入一个整数:); scanf(%d,

    注意事项

    本文(C语言函数调用及定义ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开