- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章学习要求: 1. 了解函数的定义,掌握函数的调用(一般调用、嵌套调用、递归调用),了解动态存储与静态存储的区别。 2. 理解内部函数与外部函数的概念,理解形式参数、实际参数、局部变量、全局变量的概念。 3. 了解条件编译和C程序项目设计,了解函数指针变量的概念及其使用。 4. 掌握return语句的使用,掌握参数的传递方式(值传递、地址传递),掌握变量作用域,掌握静态变量的使用,掌握函数嵌套调用和递归调用,掌握文件包含。 构成C语言程序的基本单位是函数。函数也是C程序中模块化程序设计的基础。C函数可分为标准库函数和用户定义函数两类。前者是系统定义的,它们的定义分别存在不同的头文件中,用户只要用?#include文件将头文件包含到程序中即可调用它们;后者则是用户为解决自己的特定问题而自行编写的。本章主要介绍用户定义函数的设计和调用问题。当然,在自行设计程序时,充分利用系统提供的库函数,可以大大减轻程序设计的负担。 一个较大的程序一般应分为若干个程序模块,每个模块用于实现一个特定的功能。一个C程序由一个主函数(main)和若干个其他函数(0个到多个)构成。程序的执行总是从主函数开始,到主函数结束。同一个函数可以被一个或多个函数调用任意多次。如图1.9中“子模块5”就被调用两次。下面举例予以说明。 例8.1 从键盘输入两个正整数m与n(m大于n),求m!/(m-n)!的值(即求)。 程序如下: #include stdio.h main() /*主函数*/ { int m,n; long jiec(); /*声明函数,说明本函数中要调用的函数jiec(), 在本函数后面定义*/ printf(Please input m,n(mn): ); scanf(%d,%d,m,n); while(m=n||n=0||m=0) /*本循环用来保证输入的m大于 n,并且m,n都是正整数*/ { printf(\nPlease repeat input m,n(mn): ); scanf(%d,%d,m,n); } printf(\nm!/(m-n)!=%ld\n, jiec(m)/jiec(m-n)); } long jiec(int k) /*计算阶乘值的函数,函数名前的int 表示返回值的类型*/ { int s,i; s=1; for(i=1;i=k;i++) s*=i; /*计算1*2*3*…*k,并将计算结果赋 值给变量s*/ return(s); /*将计算得到的阶乘值返回调用函数 (这里是主函数)*/ } 上面程序中,一共有两个函数:一个是主函数main(),完成的功能是从键盘输入两个正整数m与n,通过调用函数jiec()计算并输出jiec(m)/jiec(m-n)的值;另一个函数是jiec(),它完成的功能是计算阶乘值,它通过从主函数得到一个参数k,计算k!,并将计算结果返回调用函数(主函数)。 下面作几点说明: (1) 一个C程序可以由若干个函数组成,其中必须有且仅有一个主函数main()。C程序总是从主函数开始执行(不管它在程序中的什么位置),而其他函数只能被调用。 (2) 一个C程序可以由一个或多个源程序文件组成。C程序的编译以源程序文件为编译单位,而不是以函数为单位进行编译的。被调用函数与调用函数可以分别放在不同的源程序文件中,可以分别编写、分别编译,但最后必须连接成一个程序进行运行。 (3) 在C语言中,所有函数都是平行的,即在定义函数时是互相独立的,互不从属。即C函数不能嵌套定义。 (4) 程序中的?#include是将要用到的库函数的头文件包含到程序中来,这里因为用到了标准输入/输出函数scanf()和printf(),才使用?#include stdio.h。 (5) 如果被调用函数在调用函数的后面定义,则必须在调用函数中进行声明。函数声明的一般形式如下: 类型标识符 函数名([形参表列]); 其中“形参表列”是可以省略的。最简单声明函数的方式,就是将函数定义时的头部(在括号中含形参类型说明)作为声明的表达式,加上分号就构成了函数的声明语句。例如,例8.1中函数的声明就是将其省略,该声明可以写成以下两种形式: long jiec(int); 或 long jiec(int k); 1. 函数的定义 在使用一个函数前,需要先对其进行定义。 函数定义通常由两部分组成:函
您可能关注的文档
- C语言程序设计 作者 978-7-302-30635-1 第2章 数据类型及基本运算量.ppt
- C语言程序设计 作者 978-7-302-30635-1 第3章 顺序结构程序设计.ppt
- C语言程序设计 作者 978-7-302-30635-1 第5章 循环结构程序设计.ppt
- C语言程序设计 作者 978-7-302-30635-1 第8章 预处理命令.ppt
- C语言程序设计 作者 978-7-302-30635-1 第11章 文件.ppt
- C语言程序设计 作者 978-7-302-31359-5 第3章 顺序结构程序设计.ppt
- C语言程序设计 作者 978-7-302-31359-5 第4章 选择结构程序设计.ppt
- C语言程序设计 作者 978-7-302-31359-5 第5章 循环结构程序设计.ppt
- C语言程序设计 作者 978-7-302-31359-5 第6章 数组.ppt
- C语言程序设计 作者 978-7-302-31359-5 第9章 用户自定义数据类型.ppt
最近下载
- 中小学书法培训课件初级班课件第一次课:正姿-附教案.pptx VIP
- 全国高新区机构设置情况一览表.docx VIP
- 2025年高校分类考试招生和对口招生文化素质测试语文试题及参考答案.pdf VIP
- 遗传病基因变异全外显子组测序技术规范化应用专家共识.pdf VIP
- 【小红书营销运营】2024小红书【万物有时节·冬季篇】IP招商方案.pptx
- 专题01直线的倾斜角和斜率(原卷版+解析).docx VIP
- 五年级上册综合实践活动说课稿-我来当大厨之凉拌凉皮 全国通用.docx VIP
- 服务器和应用系统迁移方案.docx VIP
- Kalix疇9950.PDF VIP
- 佐伊的yh1 0攻略-里世界汉化组.pdf VIP
文档评论(0)