- 1、本文档共157页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数与程序结构 函数的定义和调用 函数的嵌套调用和递归调用 变量的作用域和生存期 编译预处理 多源文件C程序的组织方法 函数与程序结构 模块化程序设计技术就是通过开发和维护一些小的程序块(即模块)的方法构建一个大型程序,是人类解决较大的复杂问题所采用的一种“分而治之”的策略。本章主要讨论C语言实现模块化程序设计技术的手段以及在模块化实现过程中所遇到的一系列问题。 4.1 函数的定义和调用 C程序的一般结构 4.1 函数的定义和调用 在C++语言程序中的若干个函数中必须有一个且只能有一个函数成为主函数。C程序的执行从main函数开始,调用其他函数后流程回到main函数,在main函数中结束整个程序的运行。在一个函数中可以使用另一个函数的功能,这成为函数调用。 4.1.1 函数的定义和声明 函数的定义不但要能够表达出其所描述的模块功能,还必须具体描述出如何实现所定义的模块功能。同时函数定义中还必须描述出函数的三个特征,即函数的名字、函数的参数表以及函数的返回值类型。 4.1.1 函数的定义和声明 C语言函数定义的现代风格形式如下: 返回值类型说明符 函数名(形式参数表及其说明)//函数头 { 函数的操作对象(数据)定义和说明部分 //函数体 函数的执行语句部分 } 4.1.1 函数的定义和声明 求阶乘的C程序如下所示: #include stdio.h void main() { int i, n; long fact=1; printf(Input n:); scanf(%d,n); for(i=1;i=n;i++) fact*=i; printf(%d!= %ld\n,n,fact); } 4.1.1 函数的定义和声明 若将求阶乘作为程序中相对独立的一个部分(功能),则需要将上述功能用函数的方式实现。 根据函数的三个重要特征,即函数的名字、函数的参数表以及函数的返回值类型来实现,过程如下: (1)函数的命名 函数的名字在程序设计中有两个作用:一是使用该名字调用这个函数;二是应该见名知意,符合c语言的规则。对于实现本功能的函数,可以用factorial予以命名。 4.1.1 函数的定义和声明 (2)函数执行结果的返回和返回值类型的确定 返回值用关键字return组成,如:return 表达式; 注意函数执行结果是用类型名作为关键字在函数的头部予以确定。 4.1.1 函数的定义和声明 (3)函数的参数表设计 两个步骤来实现: 一是将函数内部用于从键盘上接收数据的数据对象定义移到函数的形式参数表中; 二是删去函数中从键盘获取数据的语句。函数factorial可以改造为如下形式: 4.1.1 函数的定义和声明 C函数定义一般形式中函数组成成分的确切含义: (1)返回值类型说明符 用以制定函数返回值的数据类型。若一个函数无返回值,则返回值数据类型应定义为void。 (2)函数的名字 函数的名字也是一种标识符,必须遵循C命名规则。主函数只能命为main,其他可自给定,做到“见名知意”。 (3)形式参数表 函数的形式参数表用圆括号括起来的、由零个到多个形式参数的定义组成,两个形式参数之间用逗号分隔。若一个函数没有形式参数,作为函数运算符使用的圆括号也不能省略。 4.1.1 函数的定义和声明 (4)return 表达式;语句 如果返回值不是void,则函数定义中必有 return 表达式;语句。 当函数执行到该C语句时,先计算该语句中的表达式的值,然后再将该值强制转化为指定的函数返回值的数据类型,返回到主调函数中。 如果返回值是void,则函数定义中可以没有用return构成的语句,若函数需要使用return语句,则其形式只能是:return;。 4.1.1 函数的定义和声明 C语言中规定,在一个函数的内部不能定义其他函数(即函数不能嵌套定义)。这个规定保证了每个函数都是一个相对独立的程序模块。 在由多个函数组成的C程序中,各个函数的定义是并列的并且顺序是任意的,函数在一个C程序中的定义顺序与执行顺序无关。 4.1.1 函数的定义和声明 函数的声明 根据C语言的规定,函数也要先定义后使用。即一个函数能够被调用,它必须是一个已经定义好(已经存在)的函数,而且必须在调用之前使用某种方式向系统描述所调用函数的基本特征,这也就是函数声明的作用。 C语言中的函数分为标准库函数和用户自定义函数两大类。 4.1.1 函数的定义和声明 (1)标准库函数的声明方式 使用标准库函数时,由于系统提供的标准库函数的说明都分门别类集中在一些称为“头文件”的文本文件中,所以在程序中如
您可能关注的文档
- 基于物联网的智慧校园建设和发展研究.pdf
- 李炎恢经典js教程◆第4篇 数据类型dovell_yang强力推荐.pdf
- 3dmax2010中文版界面与功能的简单介绍.doc
- 产业集群条件下知识供应链和知识网络的动力学模型探讨.pdf
- 关于产业园区企业1『匕经营管治模式.pdf
- 先进制造技术要领.ppt
- 第八章 电脑知识培训.ppt
- 第三讲 交通需求预测-重力模型.pdf
- 第9篇 多线程.ppt
- 第二篇统计数据的搜集上.ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 水利工程质量检测员网上继续教育考试题库及答案混凝土专业试题及答案.pdf VIP
- 李白《将进酒》原文及赏析通用5篇.doc VIP
- 《自动喷水灭火系统施工及验收规范》GB50261-2017.docx VIP
- 小学英语_Unit 4 Lesson3 There are twenty pupils in my class教学设计学情分析教材分析课后反思.doc
- 2025贵州省旅游产业发展集团有限公司招聘115人备考试题及答案解析.docx VIP
- 《凤凰男的豪门贤妻》剧本整本.docx VIP
- 2013年水利工程质量检测员网上继续教育考试题库及答案-混凝土专业.pdf VIP
- 消毒技术规范2022.docx VIP
- 阳台封装施工安全协议书5篇.docx
- 消毒技术规范(2022).docx VIP
文档评论(0)