- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[中考]C06
第六章 函数与编译预处理 主 讲:田旭 E-mail:tianxu@wxc.edu.cn 本章内容 6.1 函数的概述 6.2 函数的定义 6.3 函数的调用 6.4 函数的嵌套与递归调用 6.5 数组作为函数的参数 6.6 变量的作用域 6.7 变量的存储方式 6.8 内部函数和外部函数 6.9 编译预处理 6.10 本章要点及例题分析 6.1 函数的概述 C的源程序是由函数组成的,函数是C源程序的基本模块。 C语言函数的分类: 从函数定义的角度分类: 库函数和用户自定义函数 从函数功能的角度分类: 有返回值函数和无返回值函数 从函数数据传送的角度分类: 无参数函数和有参数函数 6.1 函数的概述 说明: C语言的函数不能嵌套定义,只能平行定义 函数之间允许相互调用,允许嵌套调用,也允许递归调用 main函数是主函数,可以调用其他函数,不允许被其他函数调用 C程序的执行总是从main函数开始,最后从main函数结束 一个C源程序必须也只能有一个主函数main 6.2 函数的定义 无参数函数的定义 有参数函数的定义 空函数 形参和实参 函数的返回值 6.2.1 无参函数的定义 无参函数定义的一般形式 类型说明符 函数名( ) { 类型说明; 语句; } 说明 类型说明符指明了本函数的类型,省略默认为int型 函数的类型是指函数返回值的类型,无返回值类型为void或不写 函数名是由用户定义的标识符,其后括号不可省 函数体内的类型说明用来定义函数体内用到的变量 6.2.2 有参函数的定义 有参函数定义的一般形式 类型说明符 函数名( 形式参数及形参类型说明表) { 类型说明; 语句; } 说明 在函数首部的括号中给出的参数称为形参,它们可以是各种类型的变量,各参数间用逗号隔开,在函数调用时,主调函数将赋予这些形参实际值 C程序中,一个函数的定义可在main前或在main后 形式参数及形参类型说明表可以分开—传统形式 6.2.2 有参函数的定义 有参函数定义的传统形式: 类型说明符 函数名( 形式参数表) 形参的类型说明; { 类型说明; 语句; } 例 6.2.3 空函数 无参数、无函数体 定义形式: 类型说明符 函数名( ) { } 6.2.4 函数的参数 函数的参数分为形参和实参两种: 形式参数-形参(定义函数时,函数名后小括号中的变量) 实际参数-实参(调用函数时,函数名后小括号中的数据) 形参和实参: 形参出现在函数定义中,在整个(子)函数体内可用,离开(子)函数不可用。 实参出现在主调函数中,进入被调函数后,实参不可用 形参和实参的功能是作数据传送 /* ch6.2 调用函数时的数据传递 P108 */ main( ) { int a, b, c; scanf(%d,%d, a, b); c = max( a, b ); printf(Max is %d, c); } max( int x, int y ) { int z; z = x y ? x : y; return( z ); } 6.2.4 函数的参数 更多说明: 形参只有在被调用时才分配内存单元,在调用结束时即释放所分配的内存单元。形参只在函数内部有效。 实参可以是常量、变量、表达式、函数等,在进行调用时,它们必须有确定的值 实参和形参在数量、类型。顺序上应该严格一致 函数调用只能把实参的值传给形参,而不能把形参的值反向传给实参。函数调用时,形参的值改变不表示实参值的改变 6.2.5 函数的返回值 函数的返回值是指函数被调用、执行完后,返回给主函数的值,又叫函数的值 说明 函数的值只能通过return语句: return 表达式;或 return(表达式); 说明:函数中允许有多个return语句,但每次调用只能有一个return语句被执行,只能有一个函数值 函数返回值的类型和函数定义中的函数类型应保持一致,两者不一致时以定义类型为准,自动转换 如函数类型为整型,在函数定义时可省去类型说明 不返回函数值的函数可说明为空类型void /* ch6.3 返回值类型与函数值类型不同 P109*/ main( ) { float a, b; int c; int max( float, float ); scanf(%f,%f, a, b); c = max( a, b ); printf(Max is %d\n, c); } max( float x, float y ) { float z; z = x y ? x : y; return( z ); } 6.3 函数调用 函数的调用形式 无返回值的调用形式:函数名(实际
文档评论(0)