考点13 函数的调用与常用库函数《C语言程序设计》山东(春季高考)软件与应用技术类 知识点讲解

| 10页
| 2人阅读
| 0人下载

学科网 zxxk.com学科网 zxxk.com

山东省(软件与应用技术类)春季高考

《C语言程序设计》复习讲义

模块 一  C 语言程序设计

考点 13   函数的调用与常用库函数

【考纲要求】

(1)掌握函数的调用。

【知识网络】

【知识和技能要点】

一、函数的调用形式page number 0

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

1. 调用的一般形式

函数之调用,其形为“函数名(实参表);”。若无参数,则括弧之内为空,然括弧不可省。实参之个数、次序与类型,须与被调函数之形参一一相合。调用之际,先以实参之值授予形参,而后入其体以行其事,事毕返于调用之处,继续其下之语句。

(1)形式:函数名(实参表); 无参者括弧内空,然括弧不可省。

(2)相合:实参之个数、次序、类型须与形参相合。

(3)过程:授值→行体→返于调用处,续行其下。

2. 调用的三种用法

函数之调用,其用有三。一为独立成句,但求其行其事而不取其值,如 display();。二为取其返回值而用于表达式,如 y=sqrt(x)+1;。三为以其返回值作他函数之实参,如 printf("%d", max(a,b));。凡 void 型之函数,只可作第一种用,不可用于表达式,亦不可为实参。

(1)独立成句:如 display(); 不求其值。

(2)用于表达式:如 y=sqrt(x)+1;

(3)作实参:如 printf("%d", max(a,b)); void 型者不可。

3. 调用的执行过程

调用之时,程序之控制由主调函数转于被调函数:先算实参之值,次以之授予形参,再入函数体而顺序行之;遇 return 则止,携其值返于主调之处。被调函数之行毕,其局部变量随之而失,控制复归主调函数,续行调用语句之后。故调用者,控制之往返也。

(1)转控:控制自主调函数转入被调函数。

(2)授值:先算实参,再授予形参。

(3)返回:遇 return 携值而返,局部变量随之而失。

二、函数原型与嵌套递归

1. 函数原型声明

欲调用一函数,须先使其形为编译器所知,此即函数原型声明,其式与函数定义之首部同,而末加一分号,如 int max(int x, int y);。其用在于使编译器得检调用之合法与否,非法者即报语法错误。原型可省形参之名而只书其类型,如 int max(int, int);,盖编译器不察形参之名。

(1)形式:与定义之首部同,末加分号,如 int max(int x, int y);page number 1

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

(2)作用:使编译器得检调用之合法性。

(3)可省:形参名可省,只书类型;然个数、次序、类型须与定义全同。

2. 嵌套调用

C 语言之函数各自独立,地位相等,故不可于函数之内再定义他函数;然调用则可嵌套,即一函数之内可调他函数,而其所调者又可再调他函数。如 main 调 a,a 调 b,b 调 c,层层而下,返则层层而上。此与嵌套定义不同,不可混为一谈。

(1)禁嵌套定义:函数之内不可再定义函数,诸函数地位相等。

(2)许嵌套调用:一函数可调他函数,其所调者亦可再调。

(3)往返:层层而下,返则层层而上。

3. 递归调用

一函数若直接或间接调用自身,是谓递归调用。其要在于二端:一曰递归之式,使大者化为小者,如阶乘之化为 n 乘其次阶乘;二曰终止之条,使递归有止,如 n 为一或零时径返一。二者缺一,则递归无已,终至栈溢而程序败。故写递归者,必先明其式,再定其止。

(1)定义:函数直接或间接调用自身,谓之递归。

(2)递归式:大者化为小者,如 n! 化为 n×(n-1)!。

(3)终止条:须有终境,否则递归无已而栈溢。

三、常用库函数

1. 数学函数

C 语言之数学函数,皆在头文件 math.h 之中。其常用者:sqrt 求平方根,pow 求幂,exp 求以 e 为底之指数,log、log10 求对数,fabs 求实型数之绝对值,sin、cos、tan 求三角函数,其参数须以弧度计。用时须于程序之首书 #include <math.h>,否则编译器不知其原型,或致误。又 sqrt 之参数不得为负,log、log10 之参数须大于零,否则其值不可料。

(1)常用者:sqrt、pow、exp、log、log10、fabs、sin、cos、tan。

(2)头文件:须书 #include <math.h>。

(3)注意:三角函数以弧度为参数;sqrt 之参数不得为负,log、log10 之参数须大于零。

2. 输入输出函数page number 2

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。