全国计算机等级考试二级C 考点分析之函数

文章作者 100test 发表时间 2007:03:10 17:04:00
来源 100Test.Com百考试题网


5.1 函数定义和函数调用
考点1 函数的定义和说明
  1.函数的定义
  在C 中,定义函数的一般形式为:
<返回类型><函数名>(<形式参数表>)
{<函数体>}
  其中,<返回类型>是该函数返回值的数据类型,若该函数无返回值,只是一个过程调用,则该函数的类型为void。<函数名>是一种标识符,通过它来调用函数<形式参数表>由逗号分隔,分别说明函数的各个形式参数,若无形式参数,圆括号也不可省略。形式参数的使用将使被调用函数可以从调用函数那里获取数据。<函数体>可以包含若干个变量和函数的定义,以及各种语句序列。若函数体是0条语句,称该函数为空函数。无论函数体内有多少条语句,花括号是不可省的。
  注意:C 不允许函数定义的嵌套。
  另外,关于函数return语句的形式有以下两种。
  (1)return<表达式>;
  此种形式用于带返回值的函数。
  (2)return;
  此种形式用于无返回值的函数,即返回类型为void的函数。
  2.函数的说明
  函数的说明又称为函数的声明。在C 中,函数的说明原则有以下两点。
  (1)若一个函数先定义,后调用,则调用前可以不必说明;
  (2)若一个函数先调用,后定义,则调用前必须说明。
  说明调用的函数的方法为:
<数据类型><函数名>(<参数表>);
考点2 函数的调用
  在C 中,函数调用的格式为:
  <函数名>(<实参表>);
  实参表应该与形参表一一对应。根据对函数返回值的使用方式,函数的调用方法大致可分为:语句调用、表达式调用和参数调用3种。函数在调用之前,一定要定义或说明。函数调用过程就是将实参传给形参,执行函数体后将结果返回的过程。
5.2 函数原型和函数返回类型
考点3 函数原型
  在C 中,在调用任何函数之前,必须确保该函数已有函数原型。C 函数的声明(说明)就是原型的声明,这种声明也叫函数原型。函数原型的语法格式与函数的说明格式相同。格式如下:
<数据类型><函数名>(<形参列表>);
  函数原型说明的两种形式为:
  (l)直接使用函数定义的头部,并且必须在后面加上一个分号;
  (2)在函数原型说明中省略参数列表中的形参变量名,只给出函数名、函数类型、参数个数及次序,注意函数原型后面的分号不可省略。
考点4 函数返回类型
  根据函数是否带有参数以及函数是否有返回值,可将函数分为4种,如表5-1所示。
       表5-1关于返回类型的四种函数


5.3 函数参数
  考点5 参数的传递方式
  在C 中,实参传给形参的方式有以下3种。
   (l)传值调用。它的特点是形参值的改变不影响实参。在使用此方式时,调用函数的实参使用常量、变量值和表达式值,被调用函数的形参使用变量值。它的实现机制是系统将实参备份一个副本传给形参。
  (2)传址调用。它的特点是传址调用时,在被调函数中可以通过改变形参指针所指向的实参变量值来间接改变实参值。在使用此方式时,调用函数的实参使用地址值,被调用函数的形参使用指针。它的实现机制是系统将实参的地址赋给对应的形参指针,使形参指针指向实参变量值。
   (3)引用调用。在C 中常常使用引用作为函数形参来实现在被调用函数中改变调用函数的实参值。其实引用调用也是一种隐式的传址过程,所以通过引用传递函数参数属于隐式传递地址。引用调用是C 中的一种函数调用方式,而在C语言中没有这种函数调用方式。
考点6 设置函数参数的默认值
  在C 中,允许在函数的说明或定义时给一个或多个参数指定默认值。但在一个指定了默认值的参数的右边不可以出现没有指定默认值的参数。在函数调用时,编译器按从左到右的顺序将实参与形参结合,当实参数目不足时,编译器将按同样的顺序用说明或定义中的默认值来补足听缺少的实参。在给某个参数指定默认值时,不仅可以是一个数值,也可以是任意复杂的表达式。
5.4 函数重载及带有默认参数的函数
考点7 函数重载
  函数重载是指同一个函数名可以对应着多个函数的实现。函数重载要求编译器能够惟一地确定调用函数时应执行哪个函数代码,即采用哪个函数实现确定函数实现时,要从函数参数的个数和类型上来区分。也就是说进行函数重载时,要求同名函数的参数个数不同,或者参数的类型不同。否则无法实现函数重载。例如,可以给函数add()定义两个函数实现,该函数的功能是求两个操作数的和。其中,一个是实现两个int型数之和,另一个是实现两个float型数之和。
小提示:
  在C语言中,编写函数时必须保持函数名惟一。而C 中的函数可以不惟一。
考点8 带有默认参数的函数
  函数也可以带有默认参数。例如下面的函数是带有默认参数的函数:

相关文章


全国计算机等级考试南开C语言上机100题背诵版
全国计算机等级考试二级C 考点分析之函数
等级考试二级C 考点分析之基本结构
全国计算机等级考试二级C语言模拟试题15
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛