第15讲 库函数、函数的定义与返回值1

上传人:痛*** 文档编号:244254309 上传时间:2024-10-03 格式:PPT 页数:17 大小:281KB
返回 下载 相关 举报
第15讲 库函数、函数的定义与返回值1_第1页
第1页 / 共17页
第15讲 库函数、函数的定义与返回值1_第2页
第2页 / 共17页
第15讲 库函数、函数的定义与返回值1_第3页
第3页 / 共17页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,第,15,讲,库函数、函数的定义与返回值,第七章 函数,在解决一个比较复杂的实际问题时,不可能把所有要完成的任务全都写在,main,函数中。这时,程序往往由一个,main,函数和若干个其它函数组成,每个函数各自完成相对独立的部分功能。,在前面的章节中,我们编写的程序都是由一个,main,函数来组成,在,main,函数中调用过,scanf,、,printf,等系统函数。,模块化的程序设计方法,函数间相互调用的示意,main(),f1(),f11(),f1();,f11();,f12(),f2();,f12();,f2(),f21(),f21();,函数的分类,从函数形式,无参函数,有参函数,从用户角度,标准函数(库函数):由系统提供,用户自定义函数,库函数由系统提供,用户只要按照要求的格式正确调用即可。不同的,C,编译系统提供的库函数有些不同。,7.1,库函数,使用,库函数,应注意的问题:,1,、,调用库函数时要用,include,命令将相关的头文件包含进来。,如:调用数学函数,用,include,math.h,|,调用输入输出函数,用,include,stdio,.h,|,2,、,库函数调用的,一般形式:,函数名,(,参数表,),要注意函数的功能、参数的个数与类型、函数值的类型。,如:求平方根的函数,sqrt,的形式是:,double,sqrt,(double x),3,、,库函数调用以两种方式出现。,其一:出现在表达式中,即作为表达式的一部分参与运算。,如:计算,y=x,2.5,+1.3,,,则通过以下语句调用来实现。,y=,pow,(x,2.5)+1.3;,其二:独立的语句,即调用函数后加一分号。,如:,printf,(,*n,);,4,、,调用库函数时,要注意参数的一些特殊要求。如三角函数要求自变量参数用弧度表示,开平方函数要求自变量参数的值大于或等于,0,。,使用库函数应注意的问题,(,续,),函数返回值的类型,缺省,int,型,无返回值,:,void,函数体,函数类型 函数名,(,形参类型说明表,),说明部分,语句部分,7.2,函数的定义和返回值,1.,函数定义的一般格式,现代风格,:,多个,形参说明,之间要用逗号隔开,没有形参时,这一对括号不能省略,合法标识符,例,1,有参函数(现代风格),int,max,(,int,x,int,y,),int,z;,z=xy?x:y;,return(z);,例,2,有参函数(现代风格),int,max,(,int,x,y,),int,z;,z=xy?x:y;,return(z);,例,3,无参函数,void,printstar,(),printf,(,*n,);,或,void,printstar,(,void,),printf,(,*n,);,函数的定义示例,例,4,空函数,void,dummy(,void,),函数体为空,(,留待以后补充,),函数类型 函数名(形参表),形参类型说明,说明部分,语句部分,例 有参函数(传统风格),int,max(,x,y,),int,x,y;,int,z;,z=xy?x:y;,return(z);,传统风格,:,int,max2(,int,x,int,y),/*,现代风格*,/,int,max,;,if(xy),max,=x;,else,max,=y;,printf,(,max(max2)=%dn,max);,return(,max,);,void main(),int,a,b,max,;,scanf,(,%d,%d,max,=max2(a,b)+100;,printf,(,max(main)=%dn,max);,例 函数的定义,形参,和,函数体中定义的变量,只在函数被调用时才,临时分配存储单元,,当,退出,函数时,这些存储单元,全部被释放,(,称为局部性,因而与其它函数中的变量同名不会引起混淆)。,函数与函数之间是平等的,void main(),int,max2(,int,x,int,y),int,z;,if(xy)z=x;,else z=y;,return(z);,int,a,b,max;,scanf,(,%d,%d,max=max2(a,b);,printf,(,max=%dn,max);,函数的定义是平行的,不能在一个函数的内部再定义,其它,函数。即每个函数,都,是一个相对独立的模块,不能在写某一个函数时又包含了另一个函数的定义(,main,函数的执行时有一点点小的特权!,)。,返回语句,形式,return(,表达式);,或,return,表达式;,或,return;,功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数,说明:,函数中可以有,多个,return,语句,,但,只有其中的一个,return,语句,能够得到执行,若函数中,没有,return,语句,,或,者是,一个,不,带,表达式的,return,语句,,则,该函数,结束时自动返回调用函数一个,不确定的值,若函数类型与,return,语句中表达式值的,类型不一致,,按前者为准,自动转换-函数调用转换,void,型函数,:,明确说明函数没有返回值,2.,函数的返回值,int,max(float x,float y),float z;,z=xy?x:y;,return(z);,main(),float a,b;,scanf,(%f,%f,printf,(Max is%dn,max(a,b);,例 函数返回值类型转换,main(),int,a,b,max;,scanf,(,%d,%d,max=max2(a,b);,printf,(,max=%dn,max);,int,max2(,int,x,int,y),int,z;,if(xy),return,x;,else,return,y;,例 函数可以有,多个,return,语句,注意:,在,C,语言中,函数名不能被赋值,,只能通过,return,语句返回一个值,。,int,max2(,int,x,int,y),max2=xy?x:y;,printstar,(),printf,(*n);,main(),int,a;,a=,printstar,();,printf,(a=%dn,a);,输出:,a=10,例 函数带回不确定值,#include,/*void*/printstar(),printf(*#*n);,main(),int a;,a=printstar();,a=printstar();,printf(a=%dn,a);,void,printstar,(),printf,(*n);,main(),int,a;,a=,printstar,();,printf,(a=%d,a);,编译错误!,(,VC+,),error C2120:void illegal with all types,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!