第4章(1 / 3)

加入书签 本章报错

C语言程序设计强烈推荐:

if表达式2

语句1;

12๐当代最优秀的程序设计语言

早期的9ix系统。由á于cນ语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,cນ开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为ฦ当代最优秀的程序设计语言之一。

语句

}

有参函数比无参函数多了一个内容,即形式参数表列。在形参表中ณ给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须ี在形参表中ณ给出形参的类型说明。

例如,定义一个函数,用于求两个ฐ数中的大数,可写为:

intmaxinta,intbຘ

{

ifabreturna;

el色returnb;

}

第一行说明max函数是一个ฐ整型函数,其返回的函数值是一个ฐ整数。形参为a,bຘ,ไ均为整型量。a,ไb的具体值是由á主调函数在调用时传送过来的。在{}中的函数体内,除形参外没有使用其它变量,因此只有语句而没有声明部分。在max函数体中的return语句是把a或b的值作为ฦ函数的值返回给主调函数。有返回值函数中至少应有一个return语句。

在c程序中,一个函数的定义แ可以放在任意位置,既可放在主ว函数main之ใ前,也可放在main之后。

例如:

可把max函数置在main之后,也可以把它放在main之ใ前๩。修改后的程序如下所示ิ。

例81

intmaທxinta,intb

{

ifaeturna;๙

el色returnb;

}

main

{

intmaxinta,intbຘ;

intx,ไy,z;

printf"ิinputt9onumbຘers:\n"ิ;

s9๗f"%d%d",&x,ไ&ุy;

z=๡maxx,y;๙

printf"maxmum=%d",z;

}

现在我们可以从函数定义、函数说明及函数调用的角度来分析整个程序,从中进一步了解函数的各种特点。

程序的第1行至第5行为max函数定义。进入主ว函数后,因为准备调用max函数,故先对max函数进行说明程序第8๖行。函数定义和函数说明并不是一回事,在后面还要专门讨论。可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第1้2行为调用max函数,并把x,y中的值传送给maທx的形参aທ,ไb。max函数执行的结果a或bຘ将返回给变量z。最后由á主ว函数输出z的值。

83函数的参数和函数的值

831形式参数和实际参数

前๩面已经介绍过,函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两ä者的关系。形参出现在函数定义แ中ณ,在整个函数体内都可以使用,离开该函数则ท不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能ม使用。形参和实参的功能ม是作数据传送。生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主ว调函数向被调函数的数据传送。

函数的形参和实参具有以下特点:

1形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部ຖ有效。函数调用结束返回主调函数后则不能再使用该形参变量。

2实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

3实参和形参在数量上,类型上,顺序上应严å格一致,否则ท会生类型不匹配”的错误。

4函数调用中生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值生改变,而实参中ณ的值不会变化。

例82可以说明这个问题๤。

main

{

intn;

printf"ิinputnumbຘer\n";

s9;

sn;

printf"n=%d\n"ิ,n;๙

}

intsintn

{

↑返回顶部↑

书页/目录

C语言程序设计