rand函數(shù)功能為獲取一個偽隨機(jī)數(shù)(偽隨機(jī)數(shù)的概念下面會有介紹)。
創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。
一、函數(shù)名:
rand();
二、聲明:
int rand();
三、所在頭文件:
stdlib.h
四、功能:
返回一個偽隨機(jī)數(shù)。之所以說是偽隨機(jī)數(shù),是因為在沒有其它操作下,每次執(zhí)行同一個程序,調(diào)用rand得到的隨機(jī)數(shù)序列是固定的(不是真正的“隨機(jī)”)。
五、為了使rand的結(jié)果更“真”一些,也就是令其返回值更具有隨機(jī)性(不確定性),C語言在stdlib.h中還提供了srand函數(shù),通過該函數(shù)可以設(shè)置一個隨機(jī)數(shù)種子,一般用當(dāng)前時間的毫秒數(shù)來做參數(shù)。通過time(NULL)可以獲取到當(dāng)前時間的毫秒值(該函數(shù)位于time.h)中。
六、使用rand的流程可以總結(jié)為:
1 調(diào)用srand(time(NULL))設(shè)置隨機(jī)數(shù)種子。
2 調(diào)用rand函數(shù)獲取一個或一系列隨機(jī)數(shù)。
需要注意的是,srand只需要在所有rand調(diào)用前,被調(diào)用一次即可,沒必要調(diào)用多次。
七、以下是隨機(jī)獲取10個整型值并輸出的例子,輔助理解。
#include?stdio.h
#include?stdlib.h
#include?time.h
int?main()
{
int?i;
srand(time(NULL));//設(shè)置隨機(jī)數(shù)種子。
for(i?=?0;?i??10;?i?++)//運(yùn)行10次。
printf("%d\n",?rand());//每次獲取一個隨機(jī)數(shù)并輸出。
return?0;
}
rand()函數(shù),一般根srand()函數(shù)一起用。它們在一起,作用是:產(chǎn)生一個隨機(jī)數(shù)。
通常格式為:
srand ( (unsigned) time (NULL) );
a=rand()%x; //a,x,均為整型變量,其中,x在之前應(yīng)被賦值。
srand函數(shù)里面的unsigned也可以換成其它的。例如:int之類的數(shù)據(jù)類型,但結(jié)果也會有相應(yīng)的變化。
通過rand函數(shù)產(chǎn)生隨機(jī)數(shù)以后,用%x來限定它的范圍。即:0=ax。
其原理是:用那個隨機(jī)數(shù),去除以x,留下所得余數(shù),作為最終結(jié)果。
函數(shù)rand()是隨機(jī)數(shù)生成器
有兩個函數(shù)用于產(chǎn)生隨機(jī)數(shù):srand()和rand()。
函數(shù)一:int
rand(void);從srand
(seed)中指定的seed開始,返回一個[0,
RAND_MAX(0x7fff)]間的隨機(jī)整數(shù)。
函數(shù)二:void
srand(unsigned
seed);參數(shù)seed是rand()的種子,用來初始化rand()的起始值。
rand()函數(shù)作用:用來產(chǎn)生隨機(jī)數(shù),但是,rand()的內(nèi)部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機(jī)數(shù),由于周期較長,因此在一定范圍內(nèi)可以看成是隨機(jī)的。
rand()函數(shù)返回:返回一個范圍在0到RAND_MAX(32767)之間的偽隨機(jī)數(shù)(整數(shù))。
rand()函數(shù)頭文件:stdlib.h。
rand()函數(shù)原型:int rand(void)。
在調(diào)用rand()函數(shù)之前,可以使用srand()函數(shù)設(shè)置隨機(jī)數(shù)種子,如果沒有設(shè)置隨機(jī)數(shù)種子,rand()函數(shù)在調(diào)用時,自動設(shè)計隨機(jī)數(shù)種子為1。隨機(jī)種子相同,每次產(chǎn)生的隨機(jī)數(shù)也會相同
分享名稱:c語言rand是函數(shù)嗎 c語言rand函數(shù)什么意思
文章URL:http://m.newbst.com/article10/ddiedgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、微信小程序、網(wǎng)站設(shè)計、品牌網(wǎng)站設(shè)計、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)