- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[院校资料]C07 - 函数
C语言程序设计
—— 函数与模块化编程
函数是什么?
函数定义与调用
函数嵌套调用和递归调用
变量的作用域和生存期
内部函数和外部函数
本节提要
函数
函数是什么?
函数是C程序的基础,C程序本身也是从一个函数开始,即主函数main()。
C语言程序中引用很多的头文件,每个头文件中包括了许多预先定义好的程序模块 —— 函数,实现各种不同的功能。
stdio.h, string.h等,printf(), scanf(), getchar(), putchar(), sizeof(), gets(), puts()
函数 从 英文 function 翻译而来,不仅是“函数”,也代表了一种“功能” 。从本质上,“函数”就是实现一种特定功能的程序块。
函数名就是功能名。
模块化编程
函数是什么?
较复杂程序设计时,分成若干个程序模块,每个程序模块又可以划分成更多的子模块(或者函数),每个子模块实现一个特定的功能。
函数是模块化编程的基础。每个函数完成特定的比较单一的功能。
一个c程序可以由一个主函数和多个其他函数构成。
运行时,由主函数调用其他函数,其他函数间可以相互调用。同一个函数可以被一个或多个函数反复多次调用。
优化程序设计
函数是什么?
将重复或相似的操作设计成函数,以减少代码重复。
大系统、复杂任务有效分解,设计成不同的函数,降低开发和维护的难度。
设计自己的头文件,增加程序模块的可重用性。
函数声明可以嵌套,但函数定义是并列的
一个外层函数可以声明并调用内层函数。
内层函数的定义与外层函数是并列的。
函数是什么?
函数定义与调用
函数嵌套调用和递归调用
变量的作用域和生存期
内部函数和外部函数
本节提要
C语言规定,程序中使用的所有变量、函数必须是“先定义、后使用”的。
当程序中出现一个名时,编译程序先根据程序的声明(定义)部分解读是变量或函数,如果没有定义,则在声明的头文件中查找判断是否是库函数。如果不存在,则作为未声明处理。
函数定义与变量定义类似,按名进行调用。
为什么要定义函数
指定一个函数名,便于以后按名调用。
指定函数的类型,即确定函数返回值的数据类型。
指定函数的参数名和类型,便于限制在调用函数时传递的数据及数据类型。
指定函数应当完成的操作,即函数的功能。
函数名、参数名、类型名都是标识符,必须符合标识符的定义。
为什么要定义函数
定义函数包括的内容
# include stdio.h
void main()
{ long m; int n;
long fact(int m);
printf(Input N:);
scanf(%d,n);
m = fact(n);
printf(\n%d!=%d\n,n,m);
}
为什么要定义函数
long fact(int m)
{ int i;
long v=1;
for(i=m;i0;i--)
v = v*i;
return(v);
}
声明语句,long fact(int n);
声明 fact 是一个函数,这里相当于定义了本函数使用的一个 函数名。
调用函数,fact(n);
函数调用可出现在语句或表达式中。
定义函数,fact(n);
包括了函数头部、函数体两部分。函数体内还可以包括声明语句、执行语句。
有返回值得函数需要return语句。
函数定义的组成部分
为什么要定义函数
函数声明语句
函数体定义部分
函数调用语句或表达式
1、定义无参数函数
定义函数
在函数的声明中,函数名后圆括号内的参数表是空的,即没有定义参数。
定义无参数函数的一般形式为:
类型名 函数名( )
{ 函数体 }
函数体是函数的主体部分,包括声明语句部分和执行语句部分。
类型名为 void 表示不需要带回函数值。
# include stdio.h
void main()
{
void func( );
printf(\nfunction test:);
func();
}
定义函数
void func( )
{
printf(\nfirst function.);
}
这是一个无参数、无返回值函数。
输出结果:
function test:
first function.
2、定义有参数函数
定义函数
在函数的声明中,函数名后圆括号内有一个或以上的参数,多个参数之间用逗号分隔。
定义有参数函数的一般形式为:
类型名 函数名( 参数表列)
{ 函数体 }
一个参数由参数类型名和参数名构成。
与无参数函数一样,类型名为 void 表示不需要带回函数值。
# include stdio.h
void main()
{ int a,b,c;
int max( int x, int y);
您可能关注的文档
- [财务管理]增值税法2012.ppt
- [财务管理]外国税制-第二章___美国税制.ppt
- [财务管理]增值税防伪税控远程抄报税.ppt
- [财务管理]如何看财务报表.pdf
- [财务管理]审计实务 12.ppt
- [财务管理]审计计划、审计重要性与审计风险.ppt
- [财务管理]尹应凯:现代货币银行学.ppt
- [财务管理]局外管理 30-825.ppt
- [财务管理]建筑工程造价的费用.ppt
- [财务管理]成本会计3.ppt
- 江苏省灌云高级中学2023-2024学年高三上学期第一次月考地理试题含答案.docx
- 备战2024年高考物理一轮重难点复习 第十三章 近代物理.docx
- 江苏省高邮市一中2021-2022学年高三上学期第一次月考语文试题(原卷版).docx
- 江苏省华罗庚中学2023-2024学年高三上学期12月阶段检测数学试卷含答案.docx
- 江苏省海门中学2023-2024学年高三上学期第一次调研考试地理试题及答案.docx
- 备战2024年高考物理一轮重难点复习 第九章 恒定电流.docx
- 江苏省高邮市2023-2024学年高三下学期3月学情调研数学试题含答案.docx
- 备战2024年高考物理一轮重难点复习 实验十一:探究影响感应电流方向的因素.docx
- 备战2024年高考物理一轮重难点复习 实验三:验证平行四边形定则.docx
- 备战2024年高考物理一轮重难点复习 第十四章 光.docx
文档评论(0)