目录
函数
C 程序是由若干个函数组成的。
函数是 C 程序的基本模块,是用于完成特定任务的程序代码单元。
一个C语言程序无论包含多少个函数,它总是从main()函数开始执行。
注:main函数是由用户自己编写的,而scanf()函数,printf()函数则是C语言提供的。
从函数定义的角度看,函数可分为系统函数和用户定义函数两种:
- 系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf()。
- 用户定义函数:用以解决用户的专门需要。
库函数
C语言提供了丰富的函数库,包括常用的数学函数math,对字符和字符串进行处理的函数以及进行输入输出处理的函数。
库函数由系统提供,无需用户编写,也不用在程序中作类型说明,但必须在程序最前使用包含有该函数原型的头文件。
7.1 库函数的正确调用
#include命令,导入头文件
在程序中调用某个库函数时,需使用#include命令包含该库函数所对应的头文件名。
调用数学库函数时,应该在源程序的开头包含#include命令:#include “math.h”
include命令必须以“#”号开头,系统提供的头文件是以“.h”作为文件的扩展名,文件名用一对双引号“ ”或一对尖括号<>括起来。
#include命令是C语言的编译预处理命令,不是C语句,不能再最后加分号。
- 使用库函数,例如printf scanf
库函数的调用
调用形式:函数名(参数表);
库函数的调用有两种形式:1.库函数可以出现在一个表达式中。2.库函数也可以作为独立的语句完成某种
7.1.1函数的调用:产生随机数
当调用函数时,需要关心5要素:
- 头文件:包含指定的头文件
- 函数名字:函数名字必须和头文件声明的名字一样
- 功能:需要知道此函数能干嘛后才调用
- 参数:参数类型要匹配
- 返回值:根据需要接收返回值
#include <time.h>
time_t time(time_t *t);
功能:获取当前系统时间
参数:常设置为NULL
返回值:当前系统时间, time_t 相当于long类型,单位为毫秒
#include <stdlib.h>
void srand(unsigned int seed);
功能:用来设置rand()产生随机数时的随机种子
参数:如果每次seed相等,rand()产生随机数相等
返回值:无
#include <stdlib.h>
int rand(void);
功能:返回一个随机数值
参数:无
返回值:随机数
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
time_t tm = time(NULL);//得到系统时间
srand((unsigned int)tm);//随机种子只需要设置一次即可
int r = rand();
printf("r = %d\n", r);
return 0;
}
7.2 函数的定义方法
7.2.1 函数定义格式
函数定义的一般形式:
返回类型 函数名(形式参数列表)
{
数据定义部分;
执行语句部分;
}
7.2.2 函数名字、形参、函数体、返回值
1) 函数名
理论上是可以随意起名字,最好起的名字见名知意,应该让用户看到这个函数名字就知道这个函数的功能。注意,函数名的后面有个圆换号(),代表这个为函数,不是普通的变量名。
2) 形参列表
在定义函数时指定的形参,在未出现函数调用时,它们并不占内存中的存储单元,因此称它们是形式参数或虚拟参数,简称形参,表示它们并不是实际存在的数据,所以,形参里的变量不能赋值。
void max