函数
一、函数的定义与声明
1、函数定义的一般格式:
类型说明符 函数名(类型说明符 函数名[参数列表])
}
[声明部分]
语句
}
2、函数的定义需要定义函数头和函数体两个部分。
(1)函数头包括函数名、函数的类型以及形式参数表。
(2)函数体是由一系列语句构成的,用以实现函数的功能,函数体内可以有函数说明、变量说明以及执行语句。
例:
3、函数的声明:标准库函数的说明、自定义函数的说明
函数声明按其位置不同,作用范围也不同。如:在所有函数外部进行说明;在函数内部进行说明。
二、函数的参数与返回值
1、函数的参数分形参和实参两种,作用是实现数据的传送。
主调函数传递来的数据成为实际参数,简称实参。
定义函数时,函数名后的参数称为形式参数,简称形参。
2、实参与形参之间的关系:
(1)实参的个数、类型应该和形参的个数和类型一致。
(2)实参和形参分别属于主调函数和被调函数。
(3)C语言中实参和形参的结合采取的是“单向值传递”方式,只有实参传递参数给形参,形参不回传参数给实参。
例:
三、函数的调用:
1、函数名([实际参数列表])
2、实际参数列表是函数入口参数的实际值。
3、在C语言中的调用函数的方式有:函数表达式、函数语句、函数实参。
4、函数的递归调用:
(1)函数的递归调用是函数嵌套调用的特殊形式。一个函数在它的函数体内直接或间接的调用了自己的函数称为函数的递归调用。
(2)根据不同的调用方式,又分为直接递归调用和间接递归调用。
直接递归调用指函数直接调用自身。
间接递归调用指函数互相调用对方。
5、变量有局部变量和全局变量。
(1)局部变量是在在函数内声明的变量。
(2)全局变量是函数外定义的变量。
四、 常用的Linux C函数:
1、getopt()分析命令行参数
2、ttyname()返回一终端机名称
3、time()取得目前的时间
4、ctime()将时间和日期以字符串格式表示
5、gmtime()取得目前的时间和日期
6、difftime()计算时间差距
7、index()查找字符串中第一个出现的指定字符
8、strcat()连接两个字符串
9、strcmp()比较字符串
10、strcpy()复制字符串
11、abs()计算整型数的绝对值
12、cos()取余玄函数值
13、ceil()取不小于参数的最小整型数
14、exp()计算指数
15、sqrt()计算平方根值
16、crypt()将密码或数据编码
17、bsearch()二次搜索
18、Ifind()线性搜索
19、Isearch()现行搜索
20、rand()产生随机数
21、srand()设置随机数种子