网站大量收购独家精品文档,联系QQ:2885784924

c语言基础教程_第五章函数和存储类免费版_精品.doc

c语言基础教程_第五章函数和存储类免费版_精品.doc

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言基础教程_第五章函数和存储类免费版_精品

完全免费版 第五章 函数和存储类 5.1.1 函数的定义 ?? 如果想调用一个函数完成某种功能,必须先按其功能来定义该函数。函数定义的格式如下所示: ??? 存储类说明数据类型说明函数名(参数表) ??? 参数说明 ??? { ??? 函数体 ??? } ??? 函数的定义可分两大部分:函数头和函数体。函数头包含(函数名和(参数表)以及关于该函数的(存储类说明)、《数据类型说明),还有参数说明).函数体是由一对花括号括起来的若干语句组成的,函数体内可以有一条语句或多条语句,也可以有复合语句,还可以是空,即该函数什么操作也不做,这是一个最简单的函数。(函数名)的起法同标识符,能够通过函数名来标明该函数的主要功能为最好。(函数名后面跟一对圆括号,内有一个参数表、,该参数表)由一个或多个参数构成,多个参数之间用逗号分隔,也可以没有参数,但圆括号不可省略。定义瞬数时要对该函数的存储类和数据类型进行说明。函数的存储类有两种:外部函数和内部函数。外部函数用extern关键字加在函数名前面进行说明,常常省略,凡是不加存储类说明的函数都是外部函数。内部函数必须在函数名前面加stai}c关健字进行说明,内部函数又称静态函数。函数的数据类型是该函数返回值的类型,函数的数据类型千一分丰富,一般C语言所允许的数据类型大多都可作为函数类型,个别的除外,如联合类型等。C语言规定,数据类型中除了 int型的可以不要说明外,其余各种类型都需说明。如果一个函数具有参数时,则需对参数的类型进行说明。参数说明)一般放在函数名的下一行,有的编译系统(如Turbo G)可以把参数说明放在参数表中。 ??? 下面是函数定义的几个例子: ??? Nothing() ??? {?? } ??? 该函数名字是nothing,它没有参数,它的函数体是空,该函数什么也不做。空函数可以用于调试中,它表明应该调用一个函数,但该函数尚未编好,先用一个空函数顶替。 ??? void nopa() ??? { ????? printf (oK!\n); ??? } ??? 该函数名是nops,该函数没有参数,因此不必进行参数说明,这里,void关键字用来说明该函数没有返回值。该函数的函数体内仅有一个语句。 ?? float max(x, y) ??? float x, y; ??? { ??? float z ??? z一xy? x:y: ??? return(z); ??? 该函数名是max,它有两个参数x,y,它们都是float型数,由于该函数有参数,因此需要 ??? 参数说明:float x, y;该函数的数据类型为float型,这说明该函数有返回值,而返回值的类型是float型。该函数。无存储类的说明,这意味着该函数的存储类为外部的。该函数体是由3条语句组成的。这里有说明语句,它被放在执行语句的前面。 ??? 在函数的定义中还应注意如下几个问题: ??? (1)C语言中的函数可分为有返回值和无返回值两大类。在有返回值的函数定义中,除int型返回值外都必须对返回值的类型进行说明。在无返回值的函数定义中,可以加上无返回值的说明符void,也可以不加。这样,对于一个不加数据类型说明的函数可能是无返回值的,也可能是有int型返回值的。 ??? (2)函数的定义不能嵌套。这就是说,不能在一个函数的函数体内再定义一个函数。例如,下列写法是错误的: ??? fl(x,y) ??? int x, y; ??? ( ??? f2(a,b) ??? int a,b; ??? { ??? Return(a十b); ??? } ??? 这种企图在f1()函数中再定义一个f2()函数的做法是错误的。但是,函数的调用允许嵌套。这就是说,可以在一个函数体内调用另一个函数,也可以进行自身调用(又称递归调用). ??? (3)如果一个函数的函数体中有变量的定义或说明时,一定要放在执行语句的前边,不可放在中间或后面,否则要出编泽错。 5.1.2 函数的说明 ?? 函数定义好后,在调用之前一般地要进行说明。函数的说明方法有如下两种: ??? 一是只说明函数的类型,这称为简单说明。例如,对前面定义过的函数max说明如下: ??? float max(); ??? 这种说明可以单独一行,也可以与其他同类型的变量放在一起。 ??? 二是不仅说明函数的类型还要说明其参数的类型,这称为原型说明。例如,对前面己定义过的函数max ( )原型说明如一F: ??? Boat max (float,float); ??? 原型说明要比简单说明复杂一些,但是用原型说明后,在函数调用时系统将其参数的类型进行检查,如果发现不一致,则报错。如果用简单说明方法,则在调用时不作参数类型是否一致的检查,即使不一致也不报错,由此可见,原型说明比简单说

您可能关注的文档

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档