- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 函 数 前面介绍过,C源程序是由函数组成的。 本书大部分程序都只有一个主函数main()构成,而实用程序往往由多个函数组成。C源程序的基本模块是函数, 通过对函数模块的调用实现某种功能。C语言提供极为丰富的库函数(如Turbo C提供了三百多个库函数),也允许用户建立自己定义的函数。用户可把自己的算法编成相对独立的函数模块,通过调用来使用函数。 C程序的全部工作是由各种功能的函数完成的,C语言称为函数式语言。采用函数模块式的结构,C语言实现了结构化程序设计,使程序的层次结构清晰,方便程序的编写、阅读、调试。 本章目录 6.1函数分类 C语言中可从不同的角度对函数分类。 1. 从函数定义的角度,函数分为库函数和用户定义函数。 (1)库函数 由C系统提供,用户无须定义, 不必在程序中作类型说 明,需在程序前包含有该函数原型的头文件即可在程序中直接 调 用。如printf()、scanf()、getchar()、putchar ()等函数 均属库函数。 (2)用户定义函数 由用户按需要写的函数。用户自定义的函数在主调函数中对其 进行类型说明。 6.1函数分类 2. C语言的函数是否有返回值把函数分为有返 回值函数和无返回值两种。 (1)有返回值函数 此类函数被调用后向调用者返回执行结果,称为函数返回值。如 数学函数即属于此类函数。 用户定义的函数有返回函数值,函 数的返回值是通过函数中return语句来获得的。 (2)无返回值函数 此类函数可完成某项特定的处理任务, 执行后不向调用者返回 值。用户自定义此类函数时可指定它的返回类型为“空类型”, 空类型的说明符为“void”。 6.1函数分类 3. 从主调函数和被调函数之间数据传送的角度看可分 为无参函数和有参函数两种。 (1)无参函数 函数定义、函数说明及函数调用中都不带参数。 主调函数和 被调函数之间不进行参数传送。此类函数通常用来完成指定的 功能。 (2)有参函数 在函数定义及函数说明时都有参数,称为形式参数(简称为形 参)。在函数调用时也必须给出参数, 称为实际参数(简称为 实参)。 进行函数调用时,主调函数将把实参的值传送给形 参,供被调函数使用。 6.1函数分类 在C语言中,所有的函数定义,包括主函数main在内,都是平行的。换言之,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义。函数之间允许相互调用,也允许嵌套调用。习惯上,调用者称为主调函数。 函数可自己调用自己,称为递归调用。main 函数是主函数,它可调用其它函数,不允许被其它函数调用。 C程序总是从main函数开始, 完成对其它函数的调用后再返回到main函数,最后由main函数结束整个程序。一个C源程序只能有一个main函数。 6.2函数 6.2.1函数的定义 函数定义一般形式 1.无参函数的一般形式 类型说明符 函数名() { 类型说明 语句 } 类型说明符指函数返回值的类型。函数名是用户定义的标识符,函 数名后有一个空括号,其中无参数,但括号不可少。{ } 中的内容 称为函数体。在函数体中也有类型说明, 是对函数体内部所用到 的变量的类型说明。多数情况,不要求无参函数有返回值, 此时 函数类型符可以写为void。 6.2函数 例6.1 main() { hello(); } void hello() { printf (Hello,world \n); } 运行结果: 6.2函数 2.有参函数的一般形式 类型说明符 函数名(形参表) 型式参数类型说明 { 类型说明 语句 } 有参函数比无参函数多了两个内容,分别是形参表和形参的类型说明。可以是各种类型的变量,但必须与实参类型相匹配。 各参数之间用逗号间隔。函数调用时,主调函数中实际参数的值应该是确定的值。 6.2函数 例6.2比较两个小朋友的个子,输出个子较高的。 float max(float a,float b) { if(ab)return a; else return b; } v
文档评论(0)