c语言规定除主函数外,2012年计算机二级C语言函数考点串讲

第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声明所用的函数是外部函数。

本文结束

特别声明:①凡本网注明稿件来源为"原创"的,转载必须注明"稿件来源:上海育路网",违者将依法追究责任;

②部分稿件来源于网络,旨在与用户分享信息,如有侵权,请联系我们沟通解决。

有用

25人觉的有用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值