可以说C程序的所有工作都是由各种函数来完成的,因此C语言也被称为函数式语言。 下面是小编为大家整理的C语言函数介绍,希望大家喜欢!

C语言函数介绍

(1)库函数

由C系统提供,用户不需要在程序中定义或指定类型,只需在程序前包含函数原型的头文件,然后在程序中直接调用即可。 前面章节示例中重复使用的 、 scanf 、 、 、 gets 、 put 等函数都属于此类。

(2) 用户自定义函数

用户按需编写的函数。 对于用户定义的函数,不仅必须在程序中定义函数本身,而且必须在调用函数模块中声明被调用函数的类型才可以使用。

(3) 库函数

由C系统提供,用户不需要在程序中定义或指定类型,只需在程序前包含函数原型的头文件,然后在程序中直接调用即可。 前面章节示例中重复使用的 、 scanf 、 、 、 gets 、 put 等函数都属于此类。

(4) 用户自定义函数

用户按需编写的函数。 对于用户定义的函数,不仅必须在程序中定义函数本身,而且必须在调用函数模块中声明被调用函数的类型才可以使用。

(5) 无参数功能

函数定义、函数描述和函数调用中没有参数。 调用函数和被调用函数之间没有参数传递。 此类函数通常用于完成一组指定的功能,并且可能返回也可能不返回函数值。

(6) 带参数的函数

也称为带参数的函数。 函数定义和函数描述中都有参数,称为形式参数(简称形式参数)。 调用函数时还必须给出参数,称为实际参数(简称实参)。 当函数被调用时,调用函数会将实参的值传递给形参,以供被调用函数使用。

C语言函数定义形式

1. 无参数函数的一般形式

类型说明符函数名()

类型描述

句子

其中类型说明符和函数名称是函数头。 类型说明符表示函数的类型,函数的类型实际上就是函数的返回值的类型。 这个类型说明符与第2章中介绍的各种说明符相同。函数名是用户定义的标识符。 函数名后面有一个空括号,里面没有参数,但是括号是不可缺少的。 {}里面的内容称为函数体。 函数体内还有类型声明,即函数体内使用的变量的类型描述。 很多情况下,无参函数并不要求有返回值,此时函数类型说明符可以写成void。

我们可以用一个函数定义来代替:

无效你好()

(“你好,世界n”);

这里只将main改为Hello作为函数名,其余不变。 Hello函数是一个不带参数的函数,被其他函数调用时,输出Hello world字符串。

2. 带参数函数的一般形式

类型说明符函数名(形参列表)

类型参数类型规范

类型描述

句子

带参数的函数比不带参数的函数多了两点内容,一是形参表,二是形参类型的描述。 形参表中给出的参数称为形参,它们可以是各种类型的变量,参数之间用逗号分隔。 当进行函数调用时,调用函数将为这些形式参数分配实际值。 既然形参是一个变量,当然必须给它一个类型描述。 例如,要定义一个用于查找两个数字中最大的函数,可以写为:

整数最大值(a,b)

整数a,b;

如果 (a>b) a;

否则 b;

第一行表明max函数是一个整数函数,函数返回值是一个整数。 形式参数是a、b。 第二行表明a和b都是整数。 a和b的具体值由调用函数在调用时传递。 {}内部的函数体中,除了形参之外,没有使用其他变量,因此只有语句而没有变量类型说明。 上述定义方法称为“传统格式”。 这种格式不容易被编译系统检查,并且可能导致非常微妙且难以追踪的错误。 在ANSI C的新标准中,形式参数的类型描述被纳入形式参数列表中,称为“现代格式”。

例如,max 函数可以用现代形式定义为:

int max(int a,int b)

如果(a>b)a;

否则 b;

现代格式中,形式参数及其类型在函数定义和函数描述(稍后介绍)中给出,编译时很容易检查,从而保证了函数描述和定义的一致性。 例 1.3 使用了这种现代格式。 max函数体中的语句是将a(或b)的值返回给调用函数作为函数的值。 函数中必须至少有一条返回值的语句。 在C程序中,函数的定义可以放在任何地方,可以是主函数main之前,也可以是main之后。 例如例1.3中定义了一个max函数,它的位置在main之后,也可以放在main之前。

修改后的程序如下所示。

int max(int a,int b)

如果(a>b)a;

否则 b;

无效主()

int max(int a,int b);

整数x、y、z;

("输入两个:n");

scanf("%d%d",&x,&y);

z=max(x,y);

(“=%d”,z);

现在我们可以从函数定义、函数描述和函数调用的角度来分析整个程序,进一步了解函数的各种特性。 程序的第 1 至 5 行定义了 max 函数。 进入main函数后,因为要调用max函数,所以先对max函数进行说明(程序第8行)。 函数定义和函数描述不是一回事,稍后再讨论。 可以看到,函数描述和函数定义中的函数头部分是一样的,只是最后加了一个分号。 程序第十二行调用max函数,将x和y中的值传递给max的形参a和b。 max函数执行的结果(a或b)将返回给变量z。 最后由main函数输出z的值。

C语言函数的分类

(1)库函数:C系统提供的函数;

(2)用户自定义函数:用户自己定义的函数;

(3)有返回值的函数向调用者返回函数值,应指定函数类型(即返回值的类型);

(4)无返回值函数:不返回函数值,表明是void类型;

(5)带参数函数:调用函数向被调用函数传递数据;

(6)无参数函数:调用函数和被调用函数之间没有数据传输;

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注