C语言 第八章1ppt课件

上传人:资****亨 文档编号:130361777 上传时间:2020-04-27 格式:PPT 页数:25 大小:154.50KB
返回 下载 相关 举报
C语言 第八章1ppt课件_第1页
第1页 / 共25页
C语言 第八章1ppt课件_第2页
第2页 / 共25页
C语言 第八章1ppt课件_第3页
第3页 / 共25页
C语言 第八章1ppt课件_第4页
第4页 / 共25页
C语言 第八章1ppt课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《C语言 第八章1ppt课件》由会员分享,可在线阅读,更多相关《C语言 第八章1ppt课件(25页珍藏版)》请在金锄头文库上搜索。

1、 第8章函数与变量 8 1函数8 2变量的作用域和存储类型 根据结构化程序设计原则 一个较大的程序要经过自顶向下的分析 逐步细化为若干模块 每一模块完成某种功能 在C语言中由函数来实现这些模块 C语言源程序是由许多函数组成的 main是由用户自己编写的 其中可以调用C提供的库函数 也可以调用自己和他人编写的函数 但总是从main 开始执行 C语言提供的标准库中存放着若干已定义的函数 在使用这些库函数时 需要使用文件包含命令 include 将带有该函数定义的头文件包含到当前程序 而对于标准库函数未提供的功能则只能由用户编写自定义函数来实现 标准库函数的调用 形式 函数名 参数表 调用库函数有两

2、种形式 1 在表达式中 y sqrt x 1 5 2 作为独立的语句完成某种操作 scanf d 注意 调用各个函数时 必须给予类型相同的参数 并且最后的结果作为函数的返回值 函数 C语言中所有函数的定义是并列的 独立的 各个函数之间没有嵌套或从属的关系 建立函数即为函数的定义 使用函数即为函数的调用 调用其它函数的函数称为主调函数 被其它函数所调用的函数称为被调函数 main函数只能被系统调用 而对于其它函数而言 main函数只能是主调函数 8 1函数函数只能通过被调用才能执行 8 1 1函数的定义自定义函数必须经过用户自行定义后 才能使用 函数原型定义格式 函数类型函数名 类型形参1 类型

3、形参2 声明部分执行部分 例8 1 求3个字符中的最大值 includecharmax chara charb charc charm m a b a b m m c m c return m main chara b c d printf Enterthreecharacters n scanf c c c 1 函数类型returnvoid 2 函数名同一程序中 函数的名称应是唯一的 3 函数参数分为有参 无参函数 4 形参说明若是有参函数 在函数定义时必须对参数类型进行说明 5 函数体声明部分和执行部分 对函数定义作进一步说明 若一个函数定义后 未被调用 它是不能自己执行自己的 定义空函数

4、 函数类型函数名 空函数实际上什么也不做 但具有可用在以后扩充函数的功能 例8 2 编程计算组合数C n k n k n k includeintfac intm inti s 1 for i 1 i m i s i return s voidmain intn k c printf 请输入C n k scanf d d 请输入C n k 6 4C n k 15 8 1 2函数的参数和返回值1 函数的参数定义函数时的参数为形参 调用函数时的参数为实参 形参和实参不同 当函数未被调用时 形参无确定值 只是形式上的数 函数定义时形参不占内存 只有当函数被调用时 形参才被分配内存单元 接收传递来的实

5、参值 实参则有确定值 实参可以是常量 变量或表达式 当调用函数时 实参值将被传递给对应的形参 使用时实参和形参个数必须相等 对应实参和形参的数据类型应该相同 当实参和形参不一致时 1 类型不同 2 个数不同另外 实参和形参可以同名 虽然是同名也是两个不同的变量 占用不同的内存单元 不会发生混浠 2 函数的返回值主调函数调用被调函数的目的 1 完成一定的处理功能 无返回值 2 得到一个计算处理结果 并向主调函数返回一个返回值 用return语句 其格式如下 return 表达式 return表达式 return 执行过程 程序执行到return时 流程返回到调用函数的地方 退出被调函数 带回函数

6、值 例8 3 编写子程序求两个数的和 includefloatadd floatx floaty floatz z x y return z main floata b c printf Inputtwofloats scanf f f 在设计带有返回值的函数时注意以下几点 1 无返回值的函数应该定义void类型 否则会返回一个不确定的值 2 函数返回值的类型应为定义函数时函数的类型 若return语句中表达式值的类型与函数类型不一致 系统会将其强制转换为函数类型 3 return语句的另一功能是结束被调函数的运行 返回主调函数中继续执行后续语句 无返回值的函数中也可以有return语句 可写

7、为 return 若没有return语句 会执行到函数体最后的 为止 但也无确定的函数值 8 1 3函数的声明和调用 1 函数的声明一个函数调用另一个函数必须具备的前提是 1 被调函数已存在 被调函数可以是库函数 或者是用户自定义的函数 2 对于库函数 调用前要用 include命令包含相应的头文件 对于自定义函数 要在主调函数中对其进行声明 声明的目的 使编译系统在编译阶段对函数调用进行合法性检查 即说明被调函数返回值的类型 检查实参与形参的类型与个数是否一致 优点 提高调试效率 把错误改正在初级阶段 提高程序的可读性 函数的定义只能有一次 而函数声明则可以有多次 标准C语言声明格式如下 函

8、数类型函数名 形参类型表 例如 doublemix inta doubleb floatbig char int 例8 4 编写子程序 判断两个数的符号是否相同 若相同就输出Y 否则输出N includecharf floata floatb main floatx y charp printf Inputtwofloats scanf f f 函数的声明部分 函数的定义部分 C语言约定 以下3中情况下可省略对被调函数的声明 1 在同一文件中被调函数的定义出现在主调函数之前 2 被调函数的返回值类型为整型时 整型是系统默认的类型 3 在文件的开头 所有函数定义之前已对各个函数统一进行了声明 这

9、样 在各主调函数内可以不必再次声明 2 函数调用 函数的调用就是主调函数通过传递一定的信息来使用被调函数的功能 函数调用的一般格式 函数名 实参表列 圆括弧内实参的个数 出现的顺序必须与函数定义中的形参一致 实参类型一般也应与形参表列对应相同 实参之间用逗号分隔 函数调用的执行过程 1 为形参分配内存单元 并把实参值一一对应的传送给形参 2 进入函数体 执行语句 实现函数的功能 执行到return语句 计算表达式的值 释放形参及本函数的局部变量所占内存 返回主调函数 3 继续执行主调函数中的后续语句 例8 5 计算两个实数的和与积 并将它们按大小顺序输出 includevoidoutput p

10、rintf n floatadd floatx floaty return x y floatmultiply floatx floaty return x y voidsort floatx floaty floata b charch1 ch2 if x y a x b y else a y b x printf 最大数为 d 最小数为 d n a b voidmain floata b sum mul output printf 请输入a b scanf d d 请输入a b 5 23 4最大数为 17 68 最小数为 8 6 voidoutput voidmain output sum

11、 add a b mul multiply a b sort sum mul output floatadd floatx floaty floatmultiply floatx floaty voidsort floatx floaty return 上机实验五 P201 张莉 1 2 1 fun函数的作用是计算两个数之差的绝对值 并将差值返回调用函数 fun intx inty 2 编写函数求a的n次方 并将差值返回调用函数 doublea 5 0 intn 5 doublempow doublex inty 3 定义两个函数分别求3个数中的最大数 最小数 通过主函数调用实现 感谢亲观看此幻灯片 此课件部分内容来源于网络 如有侵权请及时联系我们删除 谢谢配合

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号