C语言程序设计课件第7章 用函数实现模块化程序设计.ppt
《C语言程序设计课件第7章 用函数实现模块化程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件第7章 用函数实现模块化程序设计.ppt(64页珍藏版)》请在三一文库上搜索。
1、7.1函数是什么 7.2函数的定义和调用 7.3函数的嵌套调用和递归调用 7.4数组作为函数参数 7.5变量的作用域和生存期 第第7 7章章 用函数实现模用函数实现模 块化程序设计块化程序设计 P168 瑶 玄 争 砧 闭 晃 翼 湾 栈 吮 串 昆 佑 漫 诫 宛 徐 缄 茬 满 演 劣 溶 霜 棉 纪 埋 意 情 辞 鸣 婪 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.1 函数是什么 如果程序的功能比较多,规模比较大 ,把所有的程序代码都写
2、在一个主函 数中,就会使主函数变得庞杂、头绪 不清,使阅读和维护程序变得困难。 P168 咽 失 您 时 绣 剿 舔 凉 崖 拟 霉 葵 遮 坊 骚 悯 钩 贪 棕 且 篆 叔 湃 奏 金 片 铃 沃 测 吊 闻 喷 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 有时程序中要多次实现某一功能,就 需要多次重复编写实现此功能的程序 代码。这使程序冗长,不精炼。 7.1 函数是什么 P168 股 秆 逗 坏 牺 汤 绒 裂 晌 针 穆 滦 廉 椿 免 呜
3、 洒 锚 匪 痞 屏 旧 吧 制 黑 汉 伶 辊 咒 尝 二 挺 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 采用“组装”的办法简化程序设计过程 事先编好一批函数实现各种不同的功能 用到什么函数就直接装使用就可以 这就是模块化的程序设计 7.1 函数是什么 P168 腑 歪 独 奖 蒸 赴 驻 谩 枫 彬 料 凋 守 低 居 又 冉 阁 袒 棍 哗 皆 抹 喻 龚 阉 烛 儒 醉 白 否 衅 C 语 言 程 序 设 计 课 件 第 7 章 用 函
4、数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 函数就是功能(Function) 每一个函数用来实现一个特定的功能 函数的名字应反映其代表的功能 7.1 函数是什么 P168 综 漆 掩 减 芦 锹 顿 截 硕 辜 耸 擎 宋 责 恨 淌 机 岂 糯 驰 嚣 醉 缓 桥 娜 狱 妊 苏 岔 奥 烫 身 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 在设计一个较大的
5、程序时,往往把它分 为若干个程序模块,每一个模块包括一 个或多个函数,每个函数实现一个特定 的功能。 7.1 函数是什么 P168 慨 泊 蔽 参 帝 蔫 洛 氯 友 金 午 需 哈 箱 稿 跃 急 庐 纺 剑 厩 瑶 谤 蠢 矩 虏 惦 陛 季 芝 死 磺 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 一个程序可由一个主函数和若干个其 他函数构成。由主函数调用其他函数, 其他函数也可以互相调用。同一个函数 可以被一个或多个函数调用任意多次 7.1
6、函数是什么 P168 坛 禄 壕 敢 方 妹 燥 尉 犹 沮 讳 沸 殿 阳 兰 剑 瞪 豁 妙 长 绝 邦 监 臀 戚 抖 诌 待 苞 瞪 美 呆 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.1 函数是什么 P168 main abc fghdei e 咨 刮 迄 薛 靠 孤 搪 匪 沉 疥 氮 蔡 技 弦 宿 皮 熏 荫 粮 折 些 演 灵 贿 吴 疆 翱 误 筷 饭 到 挎 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实
7、现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 除了可以使用库函数外,还可以编写一些 本领域或本单位常用到一些专用函数, 供本领域或本单位的人员使用。、 在程序设计中要善于利用函数,可以减 少各人重复编写程序段的工作量,同时 可以方便地实现模块化的程序设计。 7.1 函数是什么 P168 未 抛 睦 梆 楞 证 喝 庇 碍 锡 记 毙 奎 逻 策 眯 太 叶 光 度 讼 徒 俱 三 洼 耿 排 缆 罚 敢 恿 午 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语
8、 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (1)一个程序由一个或多个程序模块组成, 每一个程序模块作为一个源程序文件。对于较 大的程序,一般不把所有内容全放在一个源程 序文件中,而是将它们分别放在若干个源文件 中,由若干个源程序文件组成一个C程序。这 样便于分别编写、分别编译,提高调试效率。 一个源程序文件可以为多个C程序所调用。 固 疆 澎 豢 致 碱 虽 颠 就 陨 捞 挚 诵 钡 密 爬 妄 蝉 客 六 诀 脖 迟 仕 佑 镀 晾 介 谩 陇 围 芽 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程
9、 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (2)一个源程序文件由一个或多个函数以及其 他有关内容组成。一个源程序文件是一个编译 单位,在程序编译时是以源程序文件为单位进 行编译的,而不是以函数为单位进行编译的。 宣 炽 筛 惑 秉 诚 离 供 沿 靳 颅 耘 式 烂 捌 芳 充 粳 狞 熊 杭 舅 猴 锯 夏 赴 挑 裔 层 擦 仰 逸 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序
10、设 计 说明: (3)不论main函数出现在什么位置,总是从 main函数开始执行。如果在main函数中调 用其他函数,在调用后流程返回到main函数 ,在main函数中结束整个程序的运行。 详 泪 联 球 箱 吮 嗡 淀 浙 擒 罚 瞥 亦 察 蕴 狭 冷 释 拎 亨 侠 尽 羔 再 欠 喇 挤 络 复 宴 标 挚 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (4)所有函数都是平行的,即在定义函数时是 分别进行的,是互相独立的。一个函数并
11、不从 属于另一个函数,即函数不能嵌套定义。函数 间可以互相调用,但不能调用main函数。 main函数是由系统调用的。 樟 违 限 亢 流 疡 收 装 瓮 膏 草 安 瑚 旱 蜒 散 郡 绸 振 续 噎 唐 抠 尺 皋 子 苹 杭 街 像 堪 厉 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (5)从用户使用的角度看,函数有两种。 u库函数,它是由系统提供的,用户不必自己定 义而直接使用它们。应该说明,不同的C语言 编译系统提供的库函数的数量
12、和功能会有一些 不同,当然许多基本的函数是共同的。 u用户自己定义的函数。它是用以解决用户专门 需要的函数。 豁 论 铆 滚 杉 绪 折 相 炎 妆 脓 陋 侮 琶 雏 赔 屉 醋 低 珐 哩 院 铝 俱 汐 表 抖 康 久 厌 闰 燕 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 说明: (6)从函数的形式看,函数分两类。 无参函数。函数没有参数,一般用来执行固 定的一组操作。无参函数可以带回或不带回函 数值,但一般以不带回函数值的居多。 有参函数
13、。在调用函数时,要给出实参。主 调函数在调用被调用函数时,通过参数向被调 用函数传递数据,一般情况下,执行被调用函 数时会得到一个函数值,供主调函数使用。 潍 府 拇 帕 况 翁 党 扇 令 躯 珍 畔 栗 搁 尚 谜 狗 穆 档 分 凄 栏 瞒 舶 腿 洪 或 亭 倾 哇 祖 挑 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2 函数的定义和调用 7.2.1为什么要定义函数 7.2.2函数定义 7.2.3函数的调用 7.2.4对被调用函数的声明
14、和函数原型 P170 链 个 嘶 捍 散 抗 换 蔽 薛 贝 广 幻 奶 仙 弥 请 忠 压 贪 滤 顶 倒 梦 图 烁 削 脱 射 责 赖 娘 抬 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C语言要求,在程序中用到的所有函数 ,必须“先定义,后使用” 指定函数名字、函数返回值类型、函数 实现的功能以及参数的个数与类型,将 这些信息通知编译系统。 7.2.1 为什么要定义函数 P170 临 婚 妈 线 秦 膊 疲 樱 涛 头 线 彩 荧 今 胃
15、站 涧 洋 伏 痒 卢 疆 绿 吊 帜 模 澄 昏 篷 恿 厉 粤 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 指定函数的名字,以便以后按名调用 指定函数类型,即函数返回值的类型 指定函数参数的名字和类型,以便在调 用函数时向它们传递数据 指定函数的功能。这是最重要的,这是 在函数体中解决的 7.2.1 为什么要定义函数 P170 涉 倚 发 焰 深 无 仅 灼 炙 阅 枉 葛 惜 娇 诚 恼 羹 娩 溶 贴 盆 抗 疼 鳞 姨 军 把 清 蘑 态
16、 搜 石 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 如果程序中要调用库函数,只需用 #include指令把有关的头文件包含到 本文件模块中即可。 如果想使用库函数中没有的函数,需要 程序设计者在程序中自己定义。 7.2.1 为什么要定义函数 P170 即 晾 篮 欣 忘 妖 披 蛋 射 萝 从 陪 黎 坟 宰 海 炊 招 藩 肛 嗓 工 速 氛 诱 名 并 彪 叔 辙 扯 腊 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模
17、 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 1.怎样定义无参函数 函数名后面圆括号中空的,没有参数 定义无参函数的一般形式为: 类型名函数名() 函数体 P171 包括声明部分和 语句部分 指定函数 值的类型 添 咏 佰 忠 尿 专 夹 彪 栖 堂 辰 蜘 矾 烟 对 那 颧 捡 挑 藕 躯 虏 柄 茂 坍 呈 纽 睬 央 瘩 涎 钧 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现
18、 模 块 化 程 序 设 计 7.2.2 函数定义 1.怎样定义无参函数 函数名后面圆括号中空的,没有参数 定义无参函数的一般形式为: 类型名函数名() 函数体 P171 表示不需要 带回函数值 void 咀 路 繁 册 呈 檄 央 哺 梳 危 搂 又 昨 傍 吾 莽 窍 阉 酶 仔 睬 京 葫 痞 万 藩 卫 幕 缩 购 懂 云 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 2.怎样定义有参函数 定义有参函数的一般形式为: 类
19、型标识符函数名(形式参数表列) 函数体 P171 帚 怕 仲 稳 痰 枝 屉 沪 晋 扶 呐 脊 滓 巫 般 亏 名 嫡 赖 抄 磋 吭 渴 契 炔 沾 帧 诱 篮 厩 驯 馈 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.2 函数定义 2.怎样定义有参函数 intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); P171 求x和y二者 中大者 绚 歧 叔 森 谣 墟 卒 釉 醉 猪 媳
20、窒 沧 懂 裔 击 脚 塘 禹 贵 烹 锦 矾 戚 宽 傈 岗 惯 拨 栓 切 槐 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 7.2.3 函数的调用 1.调用无参函数的形式 函数名() 如print_star() 2.调用无参函数的形式 函数名(实参表列) 如max(a,b) P172 如果有多个 参数,用逗 号隔开 误 口 灿 时 瑟 糊 学 槛 把 韦 壕 体 钉 伙 弹 护 陌 稻 晰 邱 陡 精 椒 瑶 舞 钵 畏 允 哆 粒 侯 碧 C
21、 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 例7.2输入两个整数,输出二者中的 大者。要求在主函数中输入两个整 数,用一个函数max求出其中的大 者,并在主函数中输出此值。 戏 逻 札 鼎 挣 英 众 亏 富 衬 扯 缓 恒 订 恼 抢 隔 吉 媳 查 娶 雕 爵 略 阂 悬 娃 恐 殖 赖 效 琶 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函
22、数 实 现 模 块 化 程 序 设 计 #include intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); 参数类型 函数类型 定义函数 定义函数内 使用的变量 挥 熄 冀 担 附 唯 橙 阅 冠 旋 蛙 钦 逆 地 务 钟 麻 祁 撑 裹 侩 问 咏 靡 唬 壮 拐 舌 辗 钦 墩 郝 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 c=max(a,b);(main函数) intmax(in
23、tx,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
24、=max(a,b); printf(“maxis%dn”,c); intmax(intx,inty) intz; if(xy)z=x; elsez=y; return(z); 形式参数 实际参数 标 劳 玻 墨 摘 揍 吁 质 畅 皇 亢 疲 韵 刷 肘 熬 幢 桨 豢 陀 页 钳 拈 胎 替 营 地 婚 改 圃 较 蹈 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 C 语 言 程 序 设 计 课 件 第 7 章 用 函 数 实 现 模 块 化 程 序 设 计 函数调用的过程: 在定义函数中指定的形参,在未出现函数 调用时,它们并不占内存中的存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计课件第7章 用函数实现模块化程序设计 语言程序设计 课件 函数 实现 模块化 程序设计
链接地址:https://www.31doc.com/p-6012560.html