- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目7函数实现模块化程序设计解析
项目7 函数实现模块化程序设计 模块1认识函数 模块2定义函数 模块3函数的参数 模块4函数的返回值 模块5函数的调用 模块6 函数原型 模块 7 数组与函数参数 模块8 变量的作用域 模块9变量的存储方式和生存期 模块10综合实战 思考与练习 项目小结 模块1认识函数 任务1初识自定义函数 任务解析: 1.C语言库函数中没有求较大值函数,但我们用户可以自定义一个求较大值的函数如程序代码中的func()函数。 2.用户自定义函数大体分为两个部分:函数头部分和花括号中的函数体部分。 3.函数头部分,如程序代码中int func(int x,int y)部分,它规定了函数的类型、函数名和函数参数等;而函数体部分则集中体现函数的功能如程序代码中z=xy?x:y;部分。 4.我们前面已经知道:程序总是要从main()函数开始执行,不管main()函数所处的位置如何,最终以main()函数结束;当按顺序执行到max=func(a,b);时,变量max期待一个具体值才能继续向下执行,这时,需要调用func()函数。 5.语句 z=xy?x:y;很显然是求x和y中的较大者赋值给z,最后通过retrun返回到函数调用处。 模块1认识函数 任务2函数的分类 任务解析: 1.本例中dis()函数不是标准库函数,属于用户自定义函数。 2.C程序始终要从main()函数开始执行,当按顺序执行到dis();时,故而转入自定义函数体中,即显示一行字符信息:NO PAINS,NO GAINS!。 3.该自定义函数中void表示无需返回一个具体的结果,而是显示一行信息。因此,函数从不同的角度可以按不同方式分类: 从用户使用角度可以分为库函数(也叫标准函数或系统函数)和用户自定义函数 从形式上可以分为有参函数(如任务1中示例)和无参函数(如任务2中示例)。 从函数有无返回值可分为有返回值函数(如任务1中示例)和无返回值函数(如任务2中示例)。 4.由上述两个示例可见,一个C语言源程序是由一个或多个函数组成的。 5.所有函数都是平行的,一个函数从不属于另一个函数,彼此之间可以相互调用,但不可以调用main()函数。 模块2定义函数 任务1无参函数的定义形式 任务解析: 1.如何定义无参函数: 函数类型说明符 函数名() {[声明部分] 语句部分 } 2.由上述完义可知,本示例中函数类型为void(即空类型),函数名为xianshi,函数体中没有需要声明的部分,语句部分为一条输出语句printf(“Nice to meet you!\n”); 3.关于自定义的无参函数: 函数类型说明符指的是函数返回值的类型,当函数没有返回值时需要用关键字void声明,也可以省略,默认为void(空类型)。 函数名同变量名的命名规则,在定义函数名时同样力图做到见名知意,同一文件中不可以出现重名函数。 无参函数函数名后圆括号()为空,但括号“()”不能省。 自定义函数不可以单独运行,必须有其它函数调用才行。 模块2定义函数 任务2有参函数的定义形式 任务解析: 1.如何定义有参函数: 函数类型说明符 函数名(形参表列) {[声明部分] 语句部分 } 2.关于自定义的有参函数: 有参函数的类型说明符也可以省略,默认为int型,如示例中自定义函数头部分也可以写成add(int x,int y,int z) 形参表列指的是用逗号“,”间隔的一组变量,包括类型说明和变量名两部分,即使每个变量类型相同也必须分别指定数据类型。如上示例中自定义函数头部分不可以写成int add(int x,y,z)。 模块3函数的参数 任务1认识函数中的两种参数 任务解析: 1.函数的参数有两种:实际参数(简称“实参”)和形式参数(简称“形参”)。 2.形参是在函数定义时设定的参数(位于自定义函数名后的括号内)如示例中的x,y,z。 3.实参是有参函数调用时所用的参数,如示例中的a,b,c。 4.形参可以是相同类型,也可以是不同类型,本示例中形参的类型相同,都是int型。 普通变量作为函数参数,实参和形参之间是“单向值传递”,即实参的值传给形参,而形参不能传给实参。 传递数据的参数之间应满足类型相同,数目相等,一一对应。 8.函数中的实参和形参如同身份证的原件和复印件,形参“肩负着实参赋予的使命”,把要实现的功能“反馈”到主调函数中,本示例中自定义函数的功能在第4章已经学习过,很显然是求三个数中最小值的程序。 模块3函数的参数 任务2形参和实参形式 任务解析: 1.形参是形式上的,编译系统不为其分配内在空间,只有传递数据时临时分配内存空间,调用结束后,空间释放数据丢失。 形参必须是变量,而实参可以是变量、常量或表达式。本示例中第二个实参为表达式x+y。 实参和形参可以重名,它们在内存中是不同的对象,各自占用自己独
您可能关注的文档
- 项目1-2纳税基础认知1解析.ppt
- 项目02地基处理与桩基础工程解析.ppt
- 顶管法施工工艺解析.ppt
- 项目19汽车二级维护作业前的检测解析.doc
- 建筑施工企业安全文明施工教育培训讲义(100余页 附高清大图)讲诉.ppt
- 项目12.静定结构的位移计算解析.ppt
- 建筑消防设施维护保养报告书样表讲诉.doc
- 项目1城市道路概况解析.ppt
- 项目11.静定结构的内力分析解析.ppt
- 项目13.超静定结构的内力分析解析.ppt
- 2025年辽宁理工职业大学单招职业倾向性测试题库及参考答案一套.docx
- 2025年辽宁理工职业大学单招职业技能测试题库a4版.docx
- 2025年统计师之初级统计基础理论及相关知识题库附答案 .pdf
- 2025年统计师之初级统计基础理论及相关知识题库附答案(基础题).pdf
- 2025年统计师之中级统计师工作实务通关提分题库(考点梳理) .pdf
- 2025年辽宁现代服务职业技术学院单招职业适应性测试题库精选.docx
- 2025年辽宁理工职业大学单招职业倾向性测试题库一套.docx
- 2025年辽宁理工职业大学单招职业倾向性测试题库1套.docx
- 2025年辽宁现代服务职业技术学院单招职业适应性测试题库标准卷.docx
- 2025年辽宁理工职业大学单招职业倾向性测试题库新版.docx
文档评论(0)