C语言程序设计-第7章.ppt

上传人:max****ui 文档编号:6340353 上传时间:2020-02-23 格式:PPT 页数:17 大小:413.31KB
返回 下载 相关 举报
C语言程序设计-第7章.ppt_第1页
第1页 / 共17页
C语言程序设计-第7章.ppt_第2页
第2页 / 共17页
C语言程序设计-第7章.ppt_第3页
第3页 / 共17页
点击查看更多>>
资源描述
C语言程序设计 贵阳新科电脑培训中心唐绍国制作 全国计算机等级考试二级教程 本章要点 函数的概念库函数函数的定义和返回值函数的调用函数的说明调用函数和被调用函数之间的数据传递 第七章函数 函数的概念 函数是能完成一定功能的程序模块一个较大的程序一般应分为若干个程序模块 每一个程序模块用来实现一个特定的功能在其他的高级语言中都有子程序这个概念 用子程序实现模块的功能 而在C语言中 子程序的作用是由函数完成的一个C程序可由一个主函数和若干个其他函数构成 由主函数调用其他函数 其他函数也可以互相调用 同一个函数可以被一个或多个函数调用任意多次 函数的分类 从用户使用的角度看 函数有两种 1 标准函数 库函数 这是由系统提供的 用户不必自己定义这些函数 可以直接使用它们 2 用户自已定义的函数 用来解决用户的专门需要 从函数的形式看 函数分两类 1 无参函数 在调用这类函数时 主调函数并不将数据传递给被调用函数 一般用来执行指定的一组操作 无参函数可以带回或不带回函数值 但一般以不带回函数值的居多 2 有参函数 在调用函数时 在主调函数和被调用子函数之间有数据传递 也就是说 主调函数可以将数据传给被调函数使用 被调用函数中的数据也可以带回来供主调函数使用 库函数 标准函数 注意 调用库函数时要给出包含该函数的头文件例 调用数学库函数时 要求在函数前包含以下命令 include math h 说明 include命令必须以 开头 系统提供的头文件以 h作为文件后缀 文件名用一对双撇号 或一对尖括号括起来 二者的区别是 用形式编译时只在目标文件所在的子目录中找math h文件 而用 math h 形式则编译系统先从目标文件所在的子目录中找math h文件 若找不到则到上级目录找 直到找到为止 除非它不存在 注意 include命令不是C语句 因此不能在最后加分号 常用库函数及相关的包含头文件 标准库函数的调用格式 对库函数的一般调用形式为 函数名 参数1 参数2 参数n 调用库函数的两种形式 1 在表达式中调用 要求函数返回一个值 例 y pow x 2 5 1 3 或s fabs x fabs y 2 作为独立的语句使用 不要求函数带回值 只要求完成一定的操作 例 exit 或scanf d 7 2函数的定义和返回值 函数定义的语法函数定义的一般形式 函数体 数据类型函数名 形式参数表 内部数据 可执行语句 返回语句 当形式参数表中的参数在一个以上时 定义形式为 类型名形式参数1 类型名形式参数2 Intsum intx inty intz z x y return z 函数名是函数的标志 调用函数时必须指定要调用的函数名 数据类型是函数返回值的类型 在省略书写返回类型时 c语言默认为int型或char型 当函数没有数据返回时 使用void关键字说明为 无类型 形式参数表包括形参类型说明 它是为了便于在调用该函数时将相应的参数传递给函数 形式参数是函数的内部变量 在定义函数时可以没有形参 但不能省略圆括号 函数体是函数的主要部分 函数的功能就是由它来实现的 函数体通常定义一些内部数据 使用一些执行语句来完成函数的功能 由返回语句return 把函数的结果传送给函数的调用者 函数体 数据类型函数名 形式参数表 内部数据 可执行语句 返回语句 函数定义的例子及说明 例 函数定义的说明 函数名和形式参数都是由用户命名的标识符 在同一程序中 函数名必须唯一 形式参数名在同一函数中唯一即可 可以与其他函数中的变量同名 在同一个函数的内部不能再定义函数 但可以调用其他函数 函数体中的变量只有在函数被调用时才临时开辟存储单元 当退出函数时 这些临时开辟的存储单元全被释放掉 因此 这种变量只在函数体内部起作用 与其他函数体中的变量无关 函数的返回值 函数的值通过return语句返回 return语句的形式如下 return表达式 或return 表达式 或return 例 returns 或return x y 或return 也就是说 return语句中的表达式的值就是所求的函数值 此表达式值的类型必须与函数首部所说明的类型一致 若类型不一致 则以函数值的类型为准 由系统自动进行转换 当程序执行到return语句时 程序的流程就返回到调用该函数的地方 通常称为退出调用函数 并带回函数值 在同一个函数内 可以根据需要多处出现return语句 return语句也可以不含表达式 这时它的作用只是使流程返回到调用函数 并没有确定的函数值 函数体内可以没有return语句 程序的流程就一直执行到函数末尾 然后返回调用函数 这时也没有确定的值带回 7 3函数的调用 函数的一般调用形式为 函数名 实在参数表 当实在参数的个数多于一个时 参数之间用逗号分开 如果是无参函数 则调用形式为 函数名 例 若有以下两个用户自定义函数sum和outstar Intsum intx inty return x y voidoutstar printf 用户定义的函数也可以像调用标准库函数一样采用以下两种方式 1 作为表达式出现在允许表达式出现的任何地方 2 作为一条独立的语句 演示 则它们的调用形式分别为 sum 3 7 和outstar 函数调用时的语法要求 1 调用函数时 函数名必须与被调用的函数名字完全一致 实参的个数和类型与形参的个数和类型一致 2 函数必须先定义 后调用 也就是调用函数必须在被调用之前加以说明或被调用函数整个放在调用函数之前 但返回值类型为int型或char类型的函数可以放在调用函数之后 3 c语言中函数的定义都是平行 独立的 c语言不允许嵌套定义函数 但允许嵌套调用函数 也就是说 在调用一个函数的过程中 又调用另一个函数 4 c语言允许函数出现递归调用 在调用一个函数的过程中又出现直接或间接地调用函数本身 函数的说明 在C语言中 除了主函数外 对于用户定义的函数要遵循 先定义 后使用 的原则 凡是未在调用前定义的函数 C编译程序都认为函数的返回值为int类型 对于返回值为其他类型的函数 若把函数的定义放在调用之后 应该在调用之前对函数进行说明 或称为函数原形说明 函数说明的一般形式如下 类型名函数名 参数类型1 参数类型2 如floatsum float float 或 类型名函数名 参数类型1参数名1 参数类型2参数名2 如floatsum floatx floaty 函数说明也可以是一条独立的语句 如 floatsum float float 也可以与普通变量一起出现在同一个定义语句中 如 floatx y sum float float 函数说明的位置 函数的定义是用来定义函数的实体 函数的说明是用来声明函数的特征 一个函数只能定义一次 而说明可以是多个 多处的 通常情况下 说明应放在调用之前 当在所有函数的外部 被调用之前说明函数时 在函数说明的后面所有位置上都可以对该函数进行调用函数说明也可以放在调用函数内的说明部分 如在main函数内部进行说明 则只能在main函数内部才能识别该函数 7 5调用函数和被调用函数之间的数据传递 1 实在参数与形式参数之间进行数据传递形式参数与实在参数的区别 形式参数是指在定义函数时形参里的变量 之所以称它为 形参 是因为所用的变量并不是一个实际存在的变量 在未调用时并不给它分配存储空间 调用开始时才为它开辟一个临时存储区 实在参数是指在调用函数时实参里的变量 常量或表达 实参 的存储空间与函数是否被调用没有关系 它在文件中一直存在 2 通过return语句把函数值返回调用函数3 通过全局变量 不提倡使用 本章完祝大家学有所成 Thanks
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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