- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第06章-函数和变量作用域
第7章 函数与变量作用域;教学内容:
7.1* 函数的定义与调用
7.2 函数的嵌套调用与递归调用
7.3 内部函数与外部函数
7.4* 内部变量与外部变量
7.5 变量的存储特性
本章要点
本章作业与上机实践;7.1* 函数定义与函数调用;(1)无参函数
[函数类型] 函数名( void )
{ 说明语句部分;
可执行语句部分;
}
(2)有参函数
[函数类型] 函数名(数据类型 参数[,数据类型 参数2…] )
{ 说明语句部分;
可执行语句部分;
};2.函数的返回值与函数类型
C语言的函数,还可分为有返回值函数和无返回值函数两种。
(1) 有返回值函数与return语句
①一般格式: return( 返回值表达式 );
②功能:返回调用函数,并将“返回值表达式”的值带给调用函数。
注意:函数中无return语句,返回1个不确定的值。可用“void”定义成“无(空)类型” ,明确表示不返回值 。;(2) 函数类型
①函数类型应与return语句中“返回值表达式”的类型一致。
如果不一致,则以函数类型为准。
②如果缺省函数类型,则系统一律按int型处理。
良好的程序设计习惯:
为了使程序具有良好的可读性并减少出错,将无返回值函数定义为空类型void;
同时,也不使用系统对函数类型的缺省处理。;[案例7.1] 定义一个求两个整数中极大值的max()函数。
/*功能:求2个整数中的较大数 */
/*形参:2个,整型 */
/*返回值: 2个整数中的较大数 */
int max( int n1, int n2) /*函数定义 */
{ return ( n1 n2 ? n1 : n2);
}
/**/
void main( void )
{ int max(int n1, int n2); /*对被调用函数进行说明*/
int num1,num2;
printf(input two numbers: );
scanf(%d%d, num1, num2);
printf(max=%d\n, max(num1, num2));
};3、说明
(1)函数定义不允许嵌套。
一个函数的定义,可以放在程序中的任意位置,但不能在另一个函数的函数体内,即不能嵌套定义。
例如:main( )
{……
int max(……) {……}
}
(2)空函数──函数体为空的无参函数:
[函数类型] 函数名( void ){ };7.1.2 函数调用与返回
1、对被调用函数的说明和函数原型
(1) 函数说明的一般格式
在新标准中,采用函数原型方式,对被调用函数进行说明:
函数类型 函数名(形参表);;(2) 函数说明的两种方式
① 谁调用谁说明:函数说明语句放在调用函数的函数体中。
例如,在[案例7.1]主函数main()中:
void main( void )
{ int max( int n1, int n2);
……
};②预先统一说明——函数说明通常放在所有函数定义体之前。
在这种方式下,所有调用函数都无需再对自定义函数进行说明。
例如,在[案例7.1]中,可以将对max()函数的说明放在程序文件开始处:
void main( void )
{
int max(int n1, int n2);
……
};显然,对于被多个函数调用的自定义函数而言,采用预先统一说明方式进行说明,可以有效地减少函数说明次数。
注意: 如果被调用函数的定义体,出现在调用函数之前,可以缺省说明。;2、函数调用
函数名([实参表])
例如,在[案例7.1]的主函数中:
printf(……, max (num1, num2) );
注意:调用有参函数,必须提供实参(常量/变量/表达式/函数) 。调用时,实参必须具有确定的值,且与形参个数相等、类型匹配。;(1) 调用方式
① 语句方式——无返回值函数的调用,可作为一条独立的语句。
例如,printf()、scanf ()等库函数的调用,均作为一条独立的语句。
② 表达式方式——有返回值函数作为表达式的一项,以函数返回值参与表达式的运算。
例如,
文档评论(0)