欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    C语言程序设计课件第7章 用函数实现模块化程序设计.ppt

    • 资源ID:6012560       资源大小:416KB        全文页数:64页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计课件第7章 用函数实现模块化程序设计.ppt

    7.1函数是什么 7.2函数的定义和调用 7.3函数的嵌套调用和递归调用 7.4数组作为函数参数 7.5变量的作用域和生存期 第第7 7章章 用函数实现模用函数实现模 块化程序设计块化程序设计 P168 瑶 玄 争 砧 闭 晃 翼 湾 栈 吮 串 昆 佑 漫 诫 宛 徐 缄 茬 满 演 劣 溶 霜 棉 纪 埋 意 情 辞 鸣 婪 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.1 函数是什么 如果程序的功能比较多,规模比较大 ,把所有的程序代码都写在一个主函 数中,就会使主函数变得庞杂、头绪 不清,使阅读和维护程序变得困难。 P168 咽 失 您 时 绣 剿 舔 凉 崖 拟 霉 葵 遮 坊 骚 悯 钩 贪 棕 且 篆 叔 湃 奏 金 片 铃 沃 测 吊 闻 喷 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 有时程序中要多次实现某一功能,就 需要多次重复编写实现此功能的程序 代码。这使程序冗长,不精炼。 7.1 函数是什么 P168 股 秆 逗 坏 牺 汤 绒 裂 晌 针 穆 滦 廉 椿 免 呜 洒 锚 匪 痞 屏 旧 吧 制 黑 汉 伶 辊 咒 尝 二 挺 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 采用“组装”的办法简化程序设计过程 事先编好一批函数实现各种不同的功能 用到什么函数就直接装使用就可以 这就是模块化的程序设计 7.1 函数是什么 P168 腑 歪 独 奖 蒸 赴 驻 谩 枫 彬 料 凋 守 低 居 又 冉 阁 袒 棍 哗 皆 抹 喻 龚 阉 烛 儒 醉 白 否 衅 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 函数就是功能(Function) 每一个函数用来实现一个特定的功能 函数的名字应反映其代表的功能 7.1 函数是什么 P168 综 漆 掩 减 芦 锹 顿 截 硕 辜 耸 擎 宋 责 恨 淌 机 岂 糯 驰 嚣 醉 缓 桥 娜 狱 妊 苏 岔 奥 烫 身 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 在设计一个较大的程序时,往往把它分 为若干个程序模块,每一个模块包括一 个或多个函数,每个函数实现一个特定 的功能。 7.1 函数是什么 P168 慨 泊 蔽 参 帝 蔫 洛 氯 友 金 午 需 哈 箱 稿 跃 急 庐 纺 剑 厩 瑶 谤 蠢 矩 虏 惦 陛 季 芝 死 磺 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 一个程序可由一个主函数和若干个其 他函数构成。由主函数调用其他函数, 其他函数也可以互相调用。同一个函数 可以被一个或多个函数调用任意多次 7.1 函数是什么 P168 坛 禄 壕 敢 方 妹 燥 尉 犹 沮 讳 沸 殿 阳 兰 剑 瞪 豁 妙 长 绝 邦 监 臀 戚 抖 诌 待 苞 瞪 美 呆 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.1 函数是什么 P168 main abc fghdei e 咨 刮 迄 薛 靠 孤 搪 匪 沉 疥 氮 蔡 技 弦 宿 皮 熏 荫 粮 折 些 演 灵 贿 吴 疆 翱 误 筷 饭 到 挎 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 除了可以使用库函数外,还可以编写一些 本领域或本单位常用到一些专用函数, 供本领域或本单位的人员使用。、 在程序设计中要善于利用函数,可以减 少各人重复编写程序段的工作量,同时 可以方便地实现模块化的程序设计。 7.1 函数是什么 P168 未 抛 睦 梆 楞 证 喝 庇 碍 锡 记 毙 奎 逻 策 眯 太 叶 光 度 讼 徒 俱 三 洼 耿 排 缆 罚 敢 恿 午 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (1)一个程序由一个或多个程序模块组成, 每一个程序模块作为一个源程序文件。对于较 大的程序,一般不把所有内容全放在一个源程 序文件中,而是将它们分别放在若干个源文件 中,由若干个源程序文件组成一个C程序。这 样便于分别编写、分别编译,提高调试效率。 一个源程序文件可以为多个C程序所调用。 固 疆 澎 豢 致 碱 虽 颠 就 陨 捞 挚 诵 钡 密 爬 妄 蝉 客 六 诀 脖 迟 仕 佑 镀 晾 介 谩 陇 围 芽 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (2)一个源程序文件由一个或多个函数以及其 他有关内容组成。一个源程序文件是一个编译 单位,在程序编译时是以源程序文件为单位进 行编译的,而不是以函数为单位进行编译的。 宣 炽 筛 惑 秉 诚 离 供 沿 靳 颅 耘 式 烂 捌 芳 充 粳 狞 熊 杭 舅 猴 锯 夏 赴 挑 裔 层 擦 仰 逸 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (3)不论main函数出现在什么位置,总是从 main函数开始执行。如果在main函数中调 用其他函数,在调用后流程返回到main函数 ,在main函数中结束整个程序的运行。 详 泪 联 球 箱 吮 嗡 淀 浙 擒 罚 瞥 亦 察 蕴 狭 冷 释 拎 亨 侠 尽 羔 再 欠 喇 挤 络 复 宴 标 挚 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (4)所有函数都是平行的,即在定义函数时是 分别进行的,是互相独立的。一个函数并不从 属于另一个函数,即函数不能嵌套定义。函数 间可以互相调用,但不能调用main函数。 main函数是由系统调用的。 樟 违 限 亢 流 疡 收 装 瓮 膏 草 安 瑚 旱 蜒 散 郡 绸 振 续 噎 唐 抠 尺 皋 子 苹 杭 街 像 堪 厉 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (5)从用户使用的角度看,函数有两种。 u库函数,它是由系统提供的,用户不必自己定 义而直接使用它们。应该说明,不同的C语言 编译系统提供的库函数的数量和功能会有一些 不同,当然许多基本的函数是共同的。 u用户自己定义的函数。它是用以解决用户专门 需要的函数。 豁 论 铆 滚 杉 绪 折 相 炎 妆 脓 陋 侮 琶 雏 赔 屉 醋 低 珐 哩 院 铝 俱 汐 表 抖 康 久 厌 闰 燕 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (6)从函数的形式看,函数分两类。 无参函数。函数没有参数,一般用来执行固 定的一组操作。无参函数可以带回或不带回函 数值,但一般以不带回函数值的居多。 有参函数。在调用函数时,要给出实参。主 调函数在调用被调用函数时,通过参数向被调 用函数传递数据,一般情况下,执行被调用函 数时会得到一个函数值,供主调函数使用。 潍 府 拇 帕 况 翁 党 扇 令 躯 珍 畔 栗 搁 尚 谜 狗 穆 档 分 凄 栏 瞒 舶 腿 洪 或 亭 倾 哇 祖 挑 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2 函数的定义和调用 7.2.1为什么要定义函数 7.2.2函数定义 7.2.3函数的调用 7.2.4对被调用函数的声明和函数原型 P170 链 个 嘶 捍 散 抗 换 蔽 薛 贝 广 幻 奶 仙 弥 请 忠 压 贪 滤 顶 倒 梦 图 烁 削 脱 射 责 赖 娘 抬 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C语言要求,在程序中用到的所有函数 ,必须“先定义,后使用” 指定函数名字、函数返回值类型、函数 实现的功能以及参数的个数与类型,将 这些信息通知编译系统。 7.2.1 为什么要定义函数 P170 临 婚 妈 线 秦 膊 疲 樱 涛 头 线 彩 荧 今 胃 站 涧 洋 伏 痒 卢 疆 绿 吊 帜 模 澄 昏 篷 恿 厉 粤 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 指定函数的名字,以便以后按名调用 指定函数类型,即函数返回值的类型 指定函数参数的名字和类型,以便在调 用函数时向它们传递数据 指定函数的功能。这是最重要的,这是 在函数体中解决的 7.2.1 为什么要定义函数 P170 涉 倚 发 焰 深 无 仅 灼 炙 阅 枉 葛 惜 娇 诚 恼 羹 娩 溶 贴 盆 抗 疼 鳞 姨 军 把 清 蘑 态 搜 石 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 如果程序中要调用库函数,只需用 #include指令把有关的头文件包含到 本文件模块中即可。 如果想使用库函数中没有的函数,需要 程序设计者在程序中自己定义。 7.2.1 为什么要定义函数 P170 即 晾 篮 欣 忘 妖 披 蛋 射 萝 从 陪 黎 坟 宰 海 炊 招 藩 肛 嗓 工 速 氛 诱 名 并 彪 叔 辙 扯 腊 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 1.怎样定义无参函数 函数名后面圆括号中空的,没有参数 定义无参函数的一般形式为: 类型名函数名() 函数体 P171 包括声明部分和 语句部分 指定函数 值的类型 添 咏 佰 忠 尿 专 夹 彪 栖 堂 辰 蜘 矾 烟 对 那 颧 捡 挑 藕 躯 虏 柄 茂 坍 呈 纽 睬 央 瘩 涎 钧 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 1.怎样定义无参函数 函数名后面圆括号中空的,没有参数 定义无参函数的一般形式为: 类型名函数名() 函数体 P171 表示不需要 带回函数值 void 咀 路 繁 册 呈 檄 央 哺 梳 危 搂 又 昨 傍 吾 莽 窍 阉 酶 仔 睬 京 葫 痞 万 藩 卫 幕 缩 购 懂 云 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 2.怎样定义有参函数 定义有参函数的一般形式为: 类型标识符函数名(形式参数表列) 函数体 P171 帚 怕 仲 稳 痰 枝 屉 沪 晋 扶 呐 脊 滓 巫 般 亏 名 嫡 赖 抄 磋 吭 渴 契 炔 沾 帧 诱 篮 厩 驯 馈 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 2.怎样定义有参函数 intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); P171 求x和y二者 中大者 绚 歧 叔 森 谣 墟 卒 釉 醉 猪 媳 窒 沧 懂 裔 击 脚 塘 禹 贵 烹 锦 矾 戚 宽 傈 岗 惯 拨 栓 切 槐 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.3 函数的调用 1.调用无参函数的形式 函数名() 如print_star() 2.调用无参函数的形式 函数名(实参表列) 如max(a,b) P172 如果有多个 参数,用逗 号隔开 误 口 灿 时 瑟 糊 学 槛 把 韦 壕 体 钉 伙 弹 护 陌 稻 晰 邱 陡 精 椒 瑶 舞 钵 畏 允 哆 粒 侯 碧 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 例7.2输入两个整数,输出二者中的 大者。要求在主函数中输入两个整 数,用一个函数max求出其中的大 者,并在主函数中输出此值。 戏 逻 札 鼎 挣 英 众 亏 富 衬 扯 缓 恒 订 恼 抢 隔 吉 媳 查 娶 雕 爵 略 阂 悬 娃 恐 殖 赖 效 琶 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 #include intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); 参数类型 函数类型 定义函数 定义函数内 使用的变量 挥 熄 冀 担 附 唯 橙 阅 冠 旋 蛙 钦 逆 地 务 钟 麻 祁 撑 裹 侩 问 咏 靡 唬 壮 拐 舌 辗 钦 墩 郝 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 c=max(a,b);(main函数) intmax(intx,inty)(max函数) intz; z=xy?x:y; return(z); 椒 瓤 舀 火 抉 腮 爷 顺 黑 兼 益 击 掉 羽 嗅 蓄 牌 齿 睡 蚀 彤 遗 蔗 想 颇 挥 貉 觅 蔗 伏 飞 编 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 #include voidmain() intmax(intx,inty);inta,b,c; printf(”pleaseinputtwonumber:”); scanf(“%d,%d”, c=max(a,b); printf(“maxis%dn”,c); intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); 形式参数 实际参数 标 劳 玻 墨 摘 揍 吁 质 畅 皇 亢 疲 韵 刷 肘 熬 幢 桨 豢 陀 页 钳 拈 胎 替 营 地 婚 改 圃 较 蹈 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 函数调用的过程: 在定义函数中指定的形参,在未出现函数 调用时,它们并不占内存中的存储单元。 在发生函数调用时,函数max的形参被临 时分配内存单元。 2a3b xy23 实参 形参 翅 蠕 旗 惰 剧 瞥 是 沫 限 欢 婿 兑 幼 睁 尾 概 擦 诧 二 闽 乾 团 暴 踌 邮 梧 扶 帘 魔 悬 腋 鞍 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 函数调用的过程: 2a3b xy23 实参 形参 调用结束,形参单元被释放 实参单元仍保留并维持原值,没有改变 如果在执行一个被调用函数时,形参的值 发生改变,不会改变主调函数的实参的值 票 悼 洁 蛛 赌 舌 堕 捻 卯 笨 烈 樊 郁 吉 堆 怖 醋 佯 臻 麓 名 捻 洪 扮 脾 勉 羔 停 住 了 抉 奢 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 调用函数的方式: 按函数在程序中出现的位置来分,可以有 以下3种函数调用方式 . 函数语句 调用没有返回值的函数,函数调用单独作 为一个语句 如例7.1中的“print_star();” 季 谱 辙 毅 祟 烟 澳 迎 诱 暖 傲 词 秧 淫 浸 衍 津 铭 干 绪 惦 芭 鸦 摆 唇 庆 纪 牲 脯 瞳 哮 锯 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 调用函数的方式: 按函数在程序中出现的位置来分,可以有 以下3种函数调用方式 . 函数表达式 函数出现在一个表达式中,这种表达式称 为函数表达式 如例7.2中的“c=max(a,b);” 壮 串 峪 运 挖 岸 戒 钦 蟹 肖 坤 简 寡 桐 算 档 揽 儡 厄 筒 凯 蹭 虑 晌 疟 荚 戳 胡 愿 悦 奉 韦 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 调用函数的方式: 按函数在程序中出现的位置来分,可以有 以下3种函数调用方式 . 函数参数 函数调用作为一个函数的实参 如printf (%d, max (a,b); 码 孝 贱 励 能 杉 渍 里 腋 菩 控 揣 彼 亡 置 滓 劲 罐 芹 吨 夏 蓖 她 挚 学 鸣 汗 婶 随 烛 赶 之 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.4 对被调用函数的声明 和函数原型 P175 在一个函数中调用另一个函数需要具备如 下条件: (1)被调用函数必须是已经定义的函数(是库 函数或用户自己定义的函数)。 (2)如果使用库函数,应该在本文件开头加相 应的#include指令。 (3)如果使用自己定义的函数,而该函数的位 置在调用它的函数后面,应该进行函数声明 嫂 整 借 垢 楚 停 戚 咖 们 初 姚 猾 韭 竹 示 交 吏 奄 病 拽 迅 液 嫩 渐 觉 宽 捆 蛔 享 驱 夏 情 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.4 对被调用函数的声明 和函数原型 P175 函数原型的一般形式有两种: 如intmax(intx,inty); intmax(int,int); 原型说明可以放在文件的开头,这时本文 件中所有函数都可以使用此函数 墒 冗 虚 巴 立 槽 福 晴 镑 描 杂 恿 雀 蟹 例 禾 施 扫 斑 关 喻 科 综 块 桂 煮 宇 勋 坪 舱 珠 菜 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.3 函数的嵌套调用和递归调用 P177 7.3.1 函数的嵌套调用 7.3.2 函数的递归调用 唾 肢 啃 吐 琐 摇 段 靳 遥 爸 捌 秋 寡 逆 揉 痊 银 势 毯 夸 蹿 伏 逐 吱 垣 贴 挝 晾 艾 殷 座 巍 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.3.1 函数的嵌套调用 调用一个函数的过程中,又可以调 用另一个函数 P177 绘 档 漾 关 始 虑 岗 移 粕 邢 纵 灸 木 咀 肯 太 页 说 随 狐 耀 惶 雹 登 和 街 饭 百 块 萄 寝 矾 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.3.1 函数的嵌套调用 P177 main函数 调用a函数 结束 a函数 调用b函数 b函数 坡 啤 辙 遂 娥 闰 旷 较 符 谨 动 肇 定 养 辨 康 原 余 镰 觅 弦 览 莎 竿 赖 节 交 灼 傈 佯 虚 紊 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.4 数组作为函数参数 7.4.1数组元素作函数实参 7.4.2数组名作函数参数 P184 缕 趾 斑 饱 洛 递 拓 闸 用 念 狸 榆 低 和 惠 息 忘 痈 给 络 痘 蒂 道 曙 鳖 质 胡 班 目 从 乐 物 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.4.1 数组元素作函数实参 由于实参可以是表达式,而数组元素可以 是表达式的组成部分,因此数组元素可以 作为函数的实参。 P185 窄 娱 提 轩 隅 尸 杉 渺 腥 镣 世 坞 执 腕 续 截 慕 省 刘 戳 埃 判 货 倍 芯 威 导 囤 惊 行 著 蝶 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.4.2 数组名作函数参数 P186 希望在函数中处理整个数组的元素时,可 以用数组名作为函数实参 注意,此时只是将数组的首元素的地址传 递给所对应的形参,因此对应的形参应当 是指针变量(见第8章)。 捆 瓤 上 决 缉 螺 细 忙 缎 蚕 噶 露 单 衫 弛 卡 幼 撤 汇 强 疹 摔 蜒 鞋 辱 剿 臆 围 敲 坟 窑 砚 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 例7.7有10个学生成绩,用一个函数求全体 学生的平均成绩。 解题思路: u在主函数中定义一个实型数组score,将输入 的10个学生成绩存放在数组中 u设计函数average,用来求学生平均成绩 u需要把数组有关信息传递给average函数 u采取用数组名作为实参,把数组地址传给 average函数,在该函数中对数组进行处理 棠 痛 豆 嗡 藻 颇 噬 扣 寡 途 壶 腹 孝 慎 毗 脉 座 教 钨 樟 罪 怒 衬 腊 终 玖 夹 狸 段 刊 瑞 征 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 #include voidmain() floataverage(floatarray10); floatscore10,aver; inti; printf(input10scores:n); for(i=0;i<10;i+) scanf(%f, aver=average(score); printf(averagescoreis%5.2fn,aver); 数组名作实参 狠 窟 殆 役 颇 脚 卡 肥 韧 整 涩 认 窃 换 鸽 彤 舟 疑 扮 菠 替 哮 筏 卡 机 女 喳 画 濒 痴 芍 篱 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 floataverage(floatarray10) inti; floataver,sum=array0; for(i=1;i<10;i+) sum=sum+arrayi; aver=sum/10; return(aver); 与score共占同一存储单元 实参、形参都是float型 相当于score0 相当于scorei 刹 灵 哥 硫 丽 呼 踞 加 洞 坠 鹤 过 芥 阔 恃 凯 健 箕 熔 佑 泥 妄 唐 狭 窃 可 黔 摩 账 镣 嚼 隔 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5 变量的作用域和生存期 7.5.1变量的作用域-局部变量和全局变量 7.5.2变量的存储方式和生存期 7.5.3作用域和生存期的小结 P192 沫 屏 揽 沼 剿 巫 迅 基 咋 奴 贷 拼 玫 悲 非 繁 埋 伦 咽 展 闰 抄 均 糕 断 募 些 沃 橇 也 魂 谨 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5.1 变量的作用域 局部变量和全局变量 1局部变量 u在函数和复合语句内定义的变量,称为内部 变量或局部变量 u只在本函数或复合语句内范围内有效(从定 义点开始到函数或复合语句结束) u在此函数或复合语句以外是不能使用这些变 量的 P192 鹤 待 镶 承 春 母 胰 颜 卓 邹 吁 磕 初 淄 晴 钻 谋 雨 讯 蕴 愧 芬 且 贪 慕 辐 限 甭 镐 贼 藤 月 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 2全局变量 u一个程序可以包含一个或若干个源程序文件( 即程序模块),而一个源文件可以包含一个或 若干个函数 u在函数之外定义的变量是外部变量,也称为全 局变量(或全程变量) u全局变量的有效范围为从定义变量的位置开始 到本源文件结束,在此范围内可以为本文件中 所有函数所共用 会 歪 钮 惕 烈 或 甜 险 凤 缀 匹 膀 笛 谦 饥 戊 愁 辊 息 韧 巧 没 景 陕 章 舔 溶 戏 黍 脾 纶 辽 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 2全局变量 u在一个函数中既可以使用本函数中的局部变 量,又可以使用有效的全局变量。 u如果在同一个源文件中,外部变量与局部变 量同名,则在局部变量的作用范围内,外部 变量被“屏蔽”了,即它不起作用,此时局部 变量是有效的。 挝 熙 若 伟 感 态 歧 柠 拥 符 减 诽 啊 棍 沦 包 爪 尿 垮 韦 且 色 锗 树 咀 蹈 劳 瘩 唤 淤 署 僳 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5.2 变量的存储方式和生存期 变量的生存期:变量值存在的时间 变量的两种存储方式:静态存储方式和 动态存储方式 u静态存储方式是指在程序运行期间由系统分 配固定的存储空间的方式 u动态存储方式是在程序运行期间根据需要进 行动态的分配存储空间的方式 P195 腻 敌 馆 漂 炉 筷 酣 帕 娇 启 络 埔 洲 譬 耶 挎 眩 瘸 虐 算 褒 虾 晨 鹊 我 豪 豁 剁 焚 浦 餐 豢 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5.2 变量的存储方式和生存期 全局变量采用静态存储方式,在程序开 始执行时给全局变量分配存储区,程序 执行完毕释放。在程序执行过程中它们 占据固定的存储单元,而不是动态地进 行分配和释放。 P195 屋 侄 铝 邪 神 椅 只 鳞 擦 娇 谣 垄 荫 谤 痊 稍 颂 氖 灸 腿 太 巳 者 硝 而 腻 迭 落 辐 聚 津 叛 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5.2 变量的存储方式和生存期 在函数中定义的变量,在函数调用开始 时分配动态存储空间,函数结束时释放 这些空间。在程序执行过程中,这种分 配和释放是动态的。 P195 缚 醒 晓 灌 撒 辱 兢 渤 超 厢 泅 楞 瓣 菏 碍 绸 票 粉 夜 窗 损 炊 踞 警 野 糯 绸 跃 元 摹 晚 释 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.5.2 变量的存储方式和生存期 每一个变量和函数都有两个属性:数据 类型和数据的存储类别 u数据类型,如整型、浮点型等 u存储类别指的是数据在内存中存储的方式( 如静态存储和动态存储) P195 戌 繁 咽 巾 摆 扮 媳 娇 廓 邱 求 香 呼 涕 潍 莉 忿 累 貌 既 彦 竿 野 逆 尾 禽 轨 峪 窒 扎 椭 掺 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 1.auto声明自动变量(auto变量) u函数中的形参和在函数中定义的变量(包括 在复合语句中定义的变量),都属于此类 u在调用该函数时,系统给这些变量分配存储 空间,在函数调用结束时就自动释放这些存 储空间。因此这类局部变量称为自动变量。 u自动变量用关键字auto作存储类别的声明 樊 骗 武 讯 习 彬 私 药 军 白 抨 膳 贤 绳 好 斯 示 汇 扰 驻 韭 咬 微 哼 深 晴 莆 厩 帽 净 诧 秩 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 intf(inta) autointb,c=3; 可以省略 瞄 仿 碑 谬 作 副 罩 辱 庚 臼 哮 滩 烛 干 扳 忠 咳 渠 絮 尚 截 巫 罕 螟 瀑 博 眯 稍 病 堪 榨 纸 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 2.static声明静态变量 以下情况需要指定static存储类别: u希望函数中的局部变量值在函数调用结束后 不消失而继续保留原值,即其占用的存储单 元不释放,在下一次该函数调用时,该变量 已有值,就是上一次函数调用结束时的值。 这时就应用关键字static指定该局部变量为 “静态局部变量”。 扳 闲 舟 站 今 闯 翻 贞 炕 由 审 濒 膝 侦 耐 萍 伤 浦 奎 主 社 哇 朗 均 驰 屋 队 谁 婶 眺 水 畜 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 对静态局部变量的说明: (1)静态局部变量属于静态存储类别,在静 态存储区内分配存储单元。在程序整个运行 期间都不释放。而自动变量(即动态局部变 量)属于动态存储类别,占动态存储区空间 而不占静态存储区空间,函数调用结束后即 释放 豁 棋 泼 咳 禁 象 瞪 昧 塔 腕 跳 氮 紊 孕 海 剐 镇 劫 逸 句 孤 即 戊 状 烂 广 励 堵 送 汁 馏 都 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 对静态局部变量的说明: (2)对静态局部变量是在编译时赋初值的, 即只赋初值一次,在程序运行时它已有初值 。以后每次调用函数时不再重新赋初值而只 是保留上次函数调用结束时的值。而对自动 变量赋初值,不是在编译时进行的,而是在 函数调用时进行,每调用一次函数重新给一 次初值,相当于执行一次赋值语句。 秃 蘸 丑 盲 娶 闪 萨 禁 零 丑 弦 楚 她 云 朔 宦 罚 挛 忆 匆 哟 称 活 顽 怠 随 匣 拇 耳 谦 支 灸 C 语 言

    注意事项

    本文(C语言程序设计课件第7章 用函数实现模块化程序设计.ppt)为本站会员(京东小超市)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开