- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.1模块化程序设计与函数 在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。 把复杂任务细分成多个问题的过程,就叫程序的模块化。模块化程序设计是靠设计函数和调用函数实现的。 模块与函数 C语言程序由基本语句和函数组成,每个函数可完成相对独立的任务,依一定的规则调用这些函数,就组成了解决某个特定问题的程序。 任务、模块与函数的关系: 6.2 函数的定义与调用 在C语言中,函数(Function)是一个处理过程,可以进行数值运算、信息处理、控制决策,即一段程序的工作放在函数中进行,函数结束时可以携带或不带处理结果。 库函数(标准函数):系统提供自定义函数:用户自己写 C语言程序处理过程全部都是以函数形式出现,最简单的程序至少也有一个main函数。函数必须先定义和声明后才能调用。 标准库函数 C语言有丰富的库函数,这些函数的说明在不同的头文件(*.h)中。 自定义函数 “函数”的主要知识点 函数的定义 函数的参数和返回值 函数的调用 嵌套和递归 变量的作用域 函数举例 #include conio.hmain(){ int a,b,m; ???????????? ? /*说明变量*/? int max(int a,int b);?? /*函数声明*/? scanf(%d,%d,a,b);?? /*调用库函数scanf*/? m=max(a,b); ?????????? ?? /*调用字定义函数max*/? printf(max=%d\n,m));? /*调用库函数printf*/? getch(); ????????????? ?? /*调用库函数getch*/} 函数举例 int max(int a,int b)????? /*定义函数max*/{? int y;? y=(ab)? a:b; /*条件表达式 */ return y;} 自定义函数的声明 求1!+2!+3!+…+10! 算法 i =1; s=0; 当 i = 10 s=s+ i! 定义求 i! 的函数 求1!+2!+3!+…+10! 程序 void main() { long mm( int ); /*自定义求阶乘函数应先声明 */ int i; long s=0; for (i =1; i =10; i ++) s+= mm(i ); /*调用求阶乘函数,求I的阶乘 */ printf(“\n%ld”,s); } 定义求 n! 的函数 long mm( int n) { long t=1; int i; for (i =1; i =n; i ++) t *= i ; return t ; } 函数的参数 int max(int a,int b) {? int y;? y=(ab)? a:b;? return y; ??????????????} 形式参数与实际参数的关系 形式参数在函数中是变量名,?在函数调用时,形参被分配相应的内存 实际参数是表达式??负责向对应的形参标识的内存单元传递数据 实参与形参必须个数相同 对应的形参和实参的类型必须一致 实参与形参 例:主调函数中有如下语句: ? scanf(%d,%d,a,b);? m=max(a,b+3); 如果输入 6,2 函数 int max(int a,int b) 形参 a 得到第一个实际参数a的值 6 形参 b 得到第二个实际参数b+3的值 5 函数返回值 函数返回值通过return语句获得 函数返回值的类型就是函数的类型 ? return y;? ? 将变量y的值返回给调用者? return y+3;? ? 将表达式的值返回给调用者 return 的数据类型与函数的类型矛盾时,自动将数据转换成函数的类型 int funct1() { char ch;? ? while?? ((ch=getch( ))a||(ch z)??? ;?? return ch; } 调用: i=funct1(); /* 返回的是int类型 */ 函数没有返回值, 函数定义成空类型 void putline()?? { int i;???? for (i=0;i35;i++)
您可能关注的文档
- SAP常见问题和解决方法.docx
- (C++课件)第4章 函数定义及调用(函数1).ppt
- 三星手机Galaxy S4 GT-I9508怎样将短信导出到SD卡?.pdf
- 基于ArcGISServer及AJAX的WebGIS设计及实现.pdf
- 第6节 常用控件.pdf
- 论文,传统元素及包装设计——论传统元素在现代包装设计中的运用.pdf
- 第2节 数据的底层结构.ppt
- 填料粒度对石墨制品传导性能影响.pdf
- PADSpowerpcbpcb文件中提取封装.doc
- Socket编程指南和示例程序 - DoubleLi - 博客园.pdf
- 301115_2024_#ESG_联检科技_2024年度环境、社会和治理(ESG)报告_2025-04-29.pdf
- 300308_2024_#ESG_中际旭创_2024年环境、社会及公司治理(ESG)报告_2025-04-21.pdf
- 想生科技产品注册公告及所需文件상생기술제품_등록_공고문_및_제출_서류.pdf
- 300760_2024_#SD_迈瑞医疗_2024年度可持续发展报告_2025-04-29.pdf
- 300870_2024_#SD_欧陆通_欧陆通2024年可持续发展报告_2025-04-22.pdf
- 301369_2024_#ESG_联动科技_2024年度环境、社会与公司治理(ESG)报告_2025-04-18.pdf
- 300937_2024_#SD_药易购_2024年度可持续发展报告_2025-04-25.pdf
- 300621_2024_#ESG_维业股份_维业股份:2024年度环境、社会和公司治理(ESG)报告_2025-04-19.pdf
- 300428_2024_#SD_立中集团_立中四通轻合金集团股份有限公司2024年度可持续发展报告-中文版_2025-04-21.pdf
- 301167_2024_#ESG_建研设计_2024年度环境、社会及公司治理(ESG)报告_2025-04-04.pdf
最近下载
- 2024年航空机务基础维修执照(起落架装置)专业技术知识考试题(带答案).pdf VIP
- 2025江苏南通高新区(近海镇)公办幼儿园秋季编外教职工招聘8人笔试备考试题及答案解析.docx VIP
- 英语单元整体教学设计.ppt VIP
- 第5章 拍摄与制作抖音短视频.pptx VIP
- 英剧剧本神探夏洛克台词本中英文对照精排版第一季第一集.pdf VIP
- 硫酸装置操作规程2018.7.29修改版.docx VIP
- 基于义务教育课程标准的(人教2024版)七年级地理上册内容解读 课件(新教材).pdf VIP
- 8.21-浙江省A9协作体暑假返校联考试题及答案2024年8月浙江省A9协作体暑假返校联考(扫描版) 1.docx VIP
- 2024年贵州省贵阳市云岩区延安中路街道招聘社区工作者真题及参考答案详解.docx VIP
- 航空机务基础维修执照专业知识考试题库(完整版).docx VIP
文档评论(0)