日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数

發(fā)布時(shí)間:2023/12/20 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

本文主要講解C語(yǔ)言的隨機(jī)函數(shù),學(xué)習(xí)隨機(jī)函數(shù)將由此拉開序幕,親愛(ài)的準(zhǔn)備好了沒(méi)?

隨機(jī)數(shù)

隨機(jī)數(shù)主要是通過(guò)rand()函數(shù)產(chǎn)生的,rand() 函數(shù)可以隨機(jī)產(chǎn)生一個(gè)正整數(shù),它會(huì)產(chǎn)生一個(gè)無(wú)符號(hào)整數(shù),范圍在1~32767,即兩字節(jié)16位的整數(shù)最大值。而GNU C++產(chǎn)生的隨機(jī)數(shù)范圍為2147483647。 范圍中的每一個(gè)數(shù)在每次隨機(jī)調(diào)用rand時(shí)都有相同的概率被選中。使用隨機(jī)函數(shù)的時(shí)候需要加上#inlcude 頭文件。如以下案例:

注意:每次程序運(yùn)行的結(jié)果答案都是相同的,這顯然不是我們想要的。這是因?yàn)?#xff0c;rand函數(shù)不是真正的隨機(jī)數(shù)生成器,而srand()會(huì)設(shè)置供rand()使用的隨機(jī)數(shù)種子。如果你在第一次調(diào)用rand()之前沒(méi)有調(diào)用srand(),那么系統(tǒng)會(huì)為你自動(dòng)調(diào)用srand()。而使用同種子相同的數(shù)調(diào)用 rand()會(huì)導(dǎo)致相同的隨機(jī)數(shù)序列被生成。如果要確保每次產(chǎn)生的都不一樣,我們需要引用一個(gè)專門為rand設(shè)置隨機(jī)化種子的函數(shù)srand().

隨機(jī)函數(shù)種子

隨機(jī)函數(shù)種子srand函數(shù)在庫(kù)中說(shuō)明如下:

//接口說(shuō)明:time()? returns? the? time? as? the? number? of? seconds? since? the Epoch, 1970-01-01 00:00:00 +0000 (UTC).? ?If tloc is non-NULL, the return value is also stored in the memory? pointed to by tloc.

意思就是:要想每次隨機(jī)結(jié)果不一樣,就要每次運(yùn)行更改種子,time函數(shù)返回當(dāng)前時(shí)間距離197-01-01的描述,每次運(yùn)行都不一樣,正好可以當(dāng)做種子,既就是大家學(xué)習(xí)的rand()函數(shù)的時(shí)候,老師讓大家寫srand((unsigned int)time(NULL))的原因,讓隨機(jī)數(shù)與時(shí)間綁定關(guān)系,時(shí)間在改變,隨機(jī)數(shù)自然能夠改變。

其實(shí)srand函數(shù)的參數(shù)編程中可以自己隨意設(shè)置,偽隨機(jī)就是每次得到的數(shù)據(jù)有規(guī)律可循,默認(rèn)情況下數(shù)字在1~0x7fff,也就是(1~32767)。當(dāng)設(shè)置參數(shù)為srand(1000),則生成的隨機(jī)數(shù)是1000~0x7fff。

如下實(shí)例:

隨機(jī)函數(shù)固定范圍

主要思路其實(shí)非常簡(jiǎn)單,就是通過(guò)取余來(lái)做即可

尾言

文章都是手打原創(chuàng),每天最淺顯的介紹C語(yǔ)言、C++,windows知識(shí),喜歡我的文章就關(guān)注一波吧,可以看到最新更新和之前的文章哦。如果足下基礎(chǔ)比較差,不妨關(guān)注下人人都可以學(xué)習(xí)的視頻教程

《C語(yǔ)言51課視頻教程合集》

《C++45課視頻教程》

通俗易懂,深入淺出,一個(gè)視頻只講一個(gè)知識(shí)點(diǎn)。視頻不深?yuàn)W,不需要鉆研,在公交、在地鐵、在廁所都可以觀看,隨時(shí)隨地漲姿勢(shì)

總結(jié)

以上是生活随笔為你收集整理的c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。