2012年计算机二级C语言函数考点串讲

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

第7章 函数

  [考点一] 库函数

  C语言提供了丰富的库函数,这些函数包括了常用的数学函数,如求平方根的sqrt()函数,对字符和字符串进行处理的函数,进行输入输出处理的各函数等。

  调用C语言标准库函数时要求使用include命令对每一类库函数进行文件包含,即在主调函数中需要调用库函数时,应在主调函数的声明部分用_______命令把该库函数的头文件名包含进来。

  在C语言中,库函数的调用可以以两种形式出现

  (1)________________ (2)________________ 

  [考点二] 函数的定义

  一般形式:_____________________

  说明:函数名和各个形式参数都是由用户命名的合法标识符,与普通变量名的定义规则相同。在同一程序中,函数名必须唯一,不能出现重名的情况。形式参数名只要在同一函数中唯一即可,由于形参作用域不相同,因此形式参数名可以与其他函数中的变量名同名。C语言规定,不能在一个函数内部再定义函数,也就是说函数不能嵌套定义。

  (1) 若在函数的首部省略了函数返回值的类型名,可以把函数首部写成:_________________________

  (2)紧跟在函数名之后的圆括号中的内容是形式参数和类型说明表,在每个形参之前都要有类型名,以标识形式参数的类型。各形参的定义之间用逗号分隔若所定义的函数没有形参,函数名后的一对圆括号依然不能省略。在某些情况下,函数体可以是空的。

  (3)在函数体中,除形参外,用到的其他变量必须在说明部分进行定义,这些变量只在函数被调用时才被临时分配内存单元,当退出函数时,这些临时开辟的存储单元全部被释放掉,即在该函数体内部定义的变量都将不存在。因此,这些变量只在函数体内部起作用,与其他函数体内的变量并不相关。

  [考点三] 形式参数和实际参数

  在程序中调用函数时,绝大多数情况下,主调函数和被调函数之间会发生数据传递关系,这就要用到有参函数。在定义函数时,函数名后面括号中的变量称为“ ________”;在主调函数中,函数名后面括号中的参数称为“________ ”。

  说明(1)实参可以是常量、变量或表达式

  (2) 在被定义的函数中必须指定形参类型

  (3) 实参与形参的类型应相同或赋值相兼容

  (4) C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递。只能由实参传给形参,而不能由形参返回来给实参。内存中,实参单元与形参单元是不同的单元

  (5) 在调用函数时,给形参分配配存储单元,并将实参对应的值传递给形参。调用结束后,形参单元被释放,实参单元仍保留并维持原值。

  [考点四] 函数的返回值

  函数的返回值就是通过函数调用使主调函数参得到一个确定的值。函数的值通过return语句返回,return语句的一般形式是

  return语句中的表达式的值就是所求的函数值。此表达式值的类型必须与函数首部所说明的类型一致。若类型不一致,则以函数值的类型为准,由系统自动进行转换。

  [考点五] 函数调用的一般形式

  一般形式:__________________

  函数的调用可以分为调用无参函数和调用有参函数两种,如果说是调用无参函数,则不用“实参表列”,但括号不能省略。在调用函数时,若实参列表中有多个实参,各参数间用逗号隔开。实参与形参要求类型一致。

  [考点六] 函数的调用方式

  (1)___________ (2)_____________ (3) ______________

  C语言中,调用函数和被调用函数之间的数据可通过3种方式进行传递:

  (1) ________________________________________________

  (2) ________________________________________________

  (3)________________________________________________

  [考点七] 函数的说明

  C语言中,除了主函数外,对于用户定义的函数要遵循先定义后使用的规则。把函数的定义放在调用之后,应该在调用之前对函数进行说明。

  函数说明的一般形式:

  此处的参数名完全是虚设的,它们可以是任意的用户标识符,既不必与函数首部中的形参名一致,又可与程序中的任意用户标识符同名,实际上参数名常常省略。函数说明了语句中的类型名必须与函数返回值的类型一致。

  函数说明可以是一条独立的语句,对函数进行说明,能使C语言的编译程序在编译时进行有效的类型检查。当调用函数时,若实参的类型与形参的类型不能赋值兼容而进行非法转换,C编译程序将会发现错误并报错;当实参的个数与形参的个数不同时,编译程序也将报错。

  [考点八] 函数说明的位置

  一个函数在所有函数的外部,如在被用之前说明,则在说明后的所有位置上都可以对该函数进行调用。说明与定义是两个不同的概念。

  [考点九] 函数的嵌套调用

  看书

  [考点十] 函数的递归调用

  看书

  [考点十一] 数组元素作为函数实参

  数组元素可以作为函数的实参,与用变量作为实参一样,按照单向值传递的方式进行传递,可参照以后的例题讲解。

  [考点十二] 数组名可能作为函数参数

  可以用数组名作为函数参数,此时实参与形参都应用数组名,此时的数组名是整个数组的首地址,在以后的章节中将详细讲解。

  [考点十三] 局部变量

  在一个函数内部定义的变量,它们只在本函数范围内有效,即只有本函数才能使用它们,其他函数不能使用这些变量,我们将这些变量称为“局部变量”。没函数中可以使用相同的名字的局部变量,它们代表不同的对象,在内存中占不同的单元,互不干扰。

  [考点十四] 全局变量

  在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用,它的有效范围从定义变量开始到本文件结束。

  [考点十五] auto变量

  看书

  [考点十六] regirster变量

  看书

  [考点十七] 静态存储类别的局部变量

  看书

  [考点十八] 用static声明外部变量

  有时在程序设计中希望某些外部变量只限于本文件使用,而不能被其他文个把引用,这时可以在定义外部变量时加一个static声明

  [考点十九] extern声明外部变量

  (1) 在一个文件内声明外部变量

  看书

  (2) 在多文件的程序中声明外部变量

  看书

  [考点二十] 内部函数

  内部函数就是只能被本文件中的其他函数所调用的函数。在定义内部函数时,在函数名和函数类型前加static。

  一般形式为::____________________________________

  内部函数又称为静态函数,只局限于所在文个把,在不同文件中可以有同名的内部函数,互不干扰。

  [考点二十一] 外部函数

  在定义函数时,如果在函数首部的最左端冠以关键字extern,则表示此函数是外部函数,可供其他文件调用的。

  一般形式:____________________________________

  C语言规定,如果在定义函数时省略extern,则隐含为外部函数。在需要调用此函数的文件中,用extern声明所用的函数是外部函数。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答