C语言函数的调用.docx

C语言函数的调用.docx

ID:57662438

大小:52.07 KB

页数:5页

时间:2020-08-31

C语言函数的调用.docx_第1页
C语言函数的调用.docx_第2页
C语言函数的调用.docx_第3页
C语言函数的调用.docx_第4页
C语言函数的调用.docx_第5页
资源描述:

《C语言函数的调用.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言函数的调用在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。C语言中,函数调用的一般形式为:  函数名(实际参数表);对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。函数调用的方式在C语言中,可以用以下几种方式调用函数。1)函数表达式函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:1.z=max(x,y);是一个赋值表达式,把max的返回值赋予变量z。2)函数语句函数调用的一

2、般形式加上分号即构成函数语句。例如:1.printf("%d",a);2.scanf("%d",&b);都是以函数语句的方式调用函数。3)函数实参函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如:1.printf("%d",max(x,y));即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍prin

3、tf函数时已提到过,这里从函数调用的角度再强调一下。【例8-3】在VC6.0下运行以下代码。1.#include2.intmain(void){3.inti=8;4.printf("%d%d%d%d",++i,++i,--i,--i);5.return0;6.}运行结果:8767可见是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:9 10 9 8应特别注意的是,无论是从左至右求值,还是自右至左求值,其输出顺序都是不变的,即输出顺序总是和实参表中实参的顺序相同。被调用函数的声明和函数原型在主调函数中

4、调用某函数之前应对该被调函数进行说明(声明),这与使用变量之前要先进行变量说明是一样的。在主调函数中对被调函数作说明的目的是使编译系统知道被调函数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。其一般形式为:       类型说明符 被调函数名(类型形参,类型形参…); 或为:       类型说明符 被调函数名(类型,类型…); 括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以防止可能出现的错误。【例8-1】main函数中对max函数的说明为:1.intmax(inta,intb);或

5、写为:1.intmax(int,int);C语言中又规定在以下几种情况时可以省去主调函数中对被调函数的函数说明。1)如果被调函数的返回值是整型或字符型时,可以不对被调函数作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。【例8-2】的主函数中未对函数s作说明而直接调用即属此种情形。2)当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数再作说明而直接调用。例如【例8-1】中,函数max的定义放在main函数之前,因此可在main函数中省去对max函数的函数说明intmax(inta,intb)。3

6、)如在所有函数定义之前,在函数外预先说明了各个函数的类型,则在以后的各主调函数中,可不再对被调函数作说明。例如:1.charstr(inta);2.floatf(floatb);3.main(){4./*......*/5.}6.charstr(inta){1./*......*/2.}3.floatf(floatb){4./*......*/5.}其中第一,二行对str函数和f函数预先作了说明。因此在以后各函数中无须对str和f函数再作说明就可直接调用。对库函数的调用不需要再作说明,但必须把该函数的头文件用include命令包

7、含在源文件前部。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。