程序结构和函数

三. 程序结构和函数

1. 程序结构

(1)main 函数与其它函数之间的关系

C 程序由函数组成,一个C 源程序至少包含一个main 函数和若干个其它函数,每个函数实现一定的功能,从而实现程序的模块化设计。程序总是从main 函数开始执行,到main 函数结束。在main 函数中可以调用其它函数,其它函数间也可以相互调用。

(2)被调用函数

①标准库函数:系统将一些常用的功能模块编写成函数,放在函数库中供用户直接选用。使用时应用#include命令将相应的头文件包含到本文件中。

②自定义函数:用户为解决自己的专门需要而定义的函数。在主调函数中对被调函数进行声明,形式“函数类型 函数名(参数类型列表)”。

2. 函数的定义

(1) 函数定义的格式

类型名 函数名(形式参数列表){函数体}

(2) 函数的参数及参数传递

①形式参数:调用函数前不占内存单元,调用时才分配内存单元,调用结束后释放。 ②实际参数:可以是常量、变量或表达式。

③指针参数:为使在被调用函数中改变的变量的值能被主调函数得到,应该用指针变量作为函数参数。

④参数传递:是主调函数与被调用函数之间传递数据的主要途径,这种传递是“值传递”,即只能由实参传给形参,不能由形参传回给实参,因为实参与形参位于内存中不同的单元。注意实参与形参的类型应相同或赋值兼容。

(3) 函数的返回值

通过函数调用使主调函数获得一个确定的值。除了可能返回一个整型值、实型值、字符值外,也可以把指针(地址)作为函数的返回值,此时函数的定义形式为:

类型名 *函数名(参数表){函数体}

3. 函数的调用

(1)函数调用的一般格式

①通过函数名调用函数:形式“函数名(实参列表)”,位置出现在语句、表达式或实参。 ②通过函数指针调用函数:定义指向函数的指针变量“类型名 (*变量名)();”,给函数指针变量赋值“函数指针变量名=函数名;”,调用“(*函数指针变量名)(实参列表)”。

(2)函数的嵌套调用和递归调用

①嵌套调用:一个函数体内不能包含另一函数的定义,即不允许嵌套定义,但允许调用另一

个函数,即嵌套调用。

②递归调用:在调用一个函数的过程中直接或间接地调用该函数本身。

(3)熟练掌握标准库函数的调用

①常用数学函数:cos 、sqrt 、pow 、exp 、fabs 、log 、log10。 ②常用字符函数:isalnum 、isalpha 、isdigit 、islower 、toupper 。 ③常用字符串函数:strcpy 、strcmp 、strcat 、strlen 。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn