C语言5--函数,随机数

随机数

1.概念
无法预测的数字叫随机数
计算机可以通过算法提供一些看起来无法预测的数字,我们一般叫伪随机数

2.C语言中随机数的使用
C语言提供了一组标准函数来产生伪随机数
标准函数rand()可以获取伪随机数
把rand函数的调用语句(rand())当数字使用就能得到一个伪随机数
使用rand函数需要包含stdlib.h头文件
rand() ------------ 随机数

rand函数通过一个参数(种子)运算得到一个随机数序列,每次调用rand函数从序列中取出一个数据来使用。
使用同样的种子得到同样的随机数序列,为了避免该情形应该每次运行程序设置不同的种子。
标准函数srand()用来设置随机数种子(整数),用法如下:
srand(种子);

使用srand函数需要包含stdlib.h头文件
注:设置种子的srand函数在一个程序中只应该调用一次,而且应该在程序开头调用。

使用系统时间作为种子可以让每次运行程序得到的随机数序列不同。
标准函数time()可以获取当前系统时间,用法如下:
time(0);

使用time标准函数需要包含头文件time.h

函数

1.概念
C语言使用函数包含一组相关的语句
所有的C语言程序都是由一个或多个函数组成,C程序就是一些函数的集合
使用函数不但可以简便代码的管理和维护,也能提高代码的复用性

每个函数都是名字,叫函数名,一个C程序中不允许有函数名相同
函数名也属于标识符,遵循标识符的规范,函数名本身代表第一条语句的地址。
每个C语言程序必须包含一个叫main的函数,叫主函数,程序从主函数的第一条语句开始执行,当主函数最后一条语句执行完毕程序结束。

2.函数调用
C语言的函数之间可以互相合作,合作一定发生在两个函数之间,函数与函数的合作是有时间范围的。
两个函数之间的一次合作叫函数调用,发起合作的函数叫调用函数,另一个叫被调用函数。
函数调用期间通常伴随着数据的传递

(1)返回值
返回值记录函数执行结束后遗留的数字,记录在返回值中的数字能够让调用函数得到。把函数调用语句当数字使用就得到了被调用函数的返回值。
设计函数可以选择是否使用返回值,返回值的类型在函数定义是写在函数名之前,如果函数没有返回值应该在函数名前加void。
任何函数的的返回值最多一个,通过return设置返回值应该在函数的最后一步完成。

(2)函数的参数
被调用函数可以通过一组形式参数获得调用函数提供的数据
形式参数的个数任意,形式参数和返回值一样,都是被调用函数提供的
调用函数提供一组实际参数,实际参数的个数和类型必须和形式参数一致
C语言通过将实际参数赋值给形式参数来完成数据的传递,形式参数必须是左值,实际参数必须是右值
在函数定义时,形式参数的声明写在函数名后的小括号里(多个形参的声明用逗号分开),多个同类型形参的声明不能省略后面的形参类型。

(3)函数定义,调用和声明的语法
函数定义指的是函数的实现,函数调用表示去执行函数,函数调用前必须先声明。
函数定义语法:
返回值类型 函数名(形参列表)
{
函数语句;
}

函数调用语法:
函数名(实参列表);

函数声明语法:
返回值类型 函数名(形参列表);

(4)函数形参补充
形式参数在函数调用被创建,函数返回后销毁,形式参数的数据来自于实参
在函数中队形参进行修改不会影响实参,使用普通变量作为形参只能实现值的单向传递(调用函数=====>被调用函数)
注:在形参列表写void表示该函数没有参数,如果形参列表为空表示形参的个数和类型任意。函数声明可以省略形参名。

3.数组作为形参
数组作为形参传递的数据是地址,调用函数和被调用函数就共享一组存储位置。

如果被调用函数在函数中修改了数组形参的内容,函数结束后这些修改能够被调用函数得到。原因就是数组作为形参传递的是数组的地址(数组名),与数组形参对应的配对的实参也是地址。

普通变量作为形参只能将数据从调用函数传递给被调用函数,这种参数叫输入参数。
数组作为形参可以实现数据的双向传递,这种参数叫输入输出参数。
注:如果使用数组作为形参必须提供另外一个参数传递数组元素个数,避免使用非法下标。

4.补充内容
(1)函数隐式声明
如果编译器在编译时先遇到函数调用语句,编译器就会使用隐式声明去推断函数的格式。
隐式声明中,形参类型和个数任意,返回值类型为int
int 函数名();

隐式声明不可靠,在编程中不要使用
(2)inline函数(内联函数)
一个函数可以被声明为inline函数,inline函数在被调用时,会优先选择使用代码替换而不是函数调用。
使用inline函数时要么使用static进行修饰,要么调用前必须先声明,否则语法错误。

何时使用inline函数
函数语句体不超过10行
语句中没有循环,递归等复杂的语法

注:inline声明只是对编译器的一种建议,最终是否要使用inline由编译器决定

(3)exit标准函数
exit是一个标准函数,使用它需要包含stdlib.h头文件
exit函数的作用就是立即结束程序的运行,相当于在主函数中return

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值