- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章_ 函数(一)
函 数(一) 第十一章 回顾 指针的概念 指针的计算 指针与一维数组 指针与二维数组 指针与字符串 目标 函数的基本认识 函数的分类 函数的基本使用 回顾:求4个数最大值问题 函数实现求最大值 函数的基本认识一 函数定义 一个完整的程序是为了完成某个特定的任务而设计的一组指令(语句).随着程序规模的增大,将语句简单地罗列起来,会使程序的复杂程度过高而难于阅读和维护.如果将功能上相对独立、可能被反复执行的代码提炼出来,用一个名称来代表这段子程序,不仅可以减少总的程序量,而且可以使整个程序的结构更具模块化,更易于阅读和维护。这样的子程序在C语言中被称为函数 函数的基本认识二 函数的执行 一个C语言的程序中,有且只有一个main函数。程序总是从main函数开始执行,当遇到函数调用,就去执行被调用函数,执行完后再回到main函数中继续往下执行。 函数的基本认识三 函数的调用形式 函数的基本认识三 总结 表达式调用和函数作为参数调用需要return 语句 独立语句调用不需要return语句,此时,函数的返回类型设为void 函数的分类 从用户使用的角度分 库函数 用户自定义函数 从函数的形式分 无参函数 有参函数 库函数 库函数的定义 库函数是由系统提供的,用户不必自己定义的函数,开发者可以直接使用它们。例如sqrt(),strlen(),strcmp()等 不同的C系统提供的库函数的数量和功能会有一些不同,但许多基本的函数功能是相同的。 库函数举例 数学函数 abs(参数):求整型数的绝对值,返回值是整数 fabs(参数):求实型数的绝对值 ,返回值是实数 sqrt(参数):求实型数的平方根,返回值是实数 pow(x,y):求x的y次方,返回值是实数 库函数举例 字符处理函数 isdigit(参数):判断参数是否是数字,若是数字函数值为 (真) ,否则函数值为(假) 库函数总结 库函数特点: 直接调用,不必关心具体的实现 调用库函数要在源文件中包含相应的头文件。即: #include xxx.h 使用库函数时要明确函数的功能,参数的数据类型及数目 用户自定义函数 用户自定义函数 用来解决用户的专门需要。需要自己编写函数的功能。 用户自定义函数举例 函数的概念 用户自定义函数特点 (1)不需要包含头文件,但在使用前需做声明 (2)需要自己编写函数体,也称函数定义 无参函数和有参函数 从函数的形式看,函数分两类: (1)无参函数:无参函数一般用来执行指定的一组操作。在调用无参函数时,主调函数不向被调用函数传递数据。 例:deposit();//存款函数 (2)有参函数:主调函数在调用被调用函数时,通过参数向被调用函数传递数据。 例: max1= max(num1,num2); max2= max(num1,num2); 函数调用的条件 函数的使用同变量一样,遵循先定义后使用的原则.即被调用的函数必须是已经存在的函数(是库函数或用户自己定义的函数)。 如果使用库函数,不需要编写函数的具体实现,需要在本文件开头用#include 命令将调用有关库函数时所需用到的头文件“包含”到本文件中来。 如果使用用户自定义函数,需要自己编写函数的具体实现,完成用户特定的功能 自定义函数的调用 自定义函数的调用 函数的声明 函数声明的一般形式为: 函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2…); 函数类型 函数名(参数类型1,参数类型2……); 例如: float add(float x, float y); /*对被调用函数add的声明*/ float add(float, float); /*不加参数名的形式*/ 声明的作用是把函数名、函数参数的个数和参数类型等信息通知编译系统,以便在遇到函数调用时,编译系统能正确识别函数并检查调用是否合法。 声明不写函数体,只在声明后加上分号 函数的定义 函数的定义:功能的具体实现 函数定义的一般形式 函数类型 函数名(形式参数表列) { 声明部分 语句部分 } 例: float add(float x,float y) /*函数首部*/ { float z; /* 函数体 */ z=x+y; return(z); } 函数的定义 说明: (1)函数类型:函数返回值的类型,若无默认为是int 类型 (2)函数名:函数名是编译系统识别函数的依据,除了main()函数和使用的库函数有固定名称外,其他函数由用户按标识符的规则自行命名。和数组名一样,函数名也是一个地址常量,
原创力文档


文档评论(0)