日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本文主要講解C語言的隨機函數,學習隨機函數將由此拉開序幕,親愛的準備好了沒?

隨機數

隨機數主要是通過rand()函數產生的,rand() 函數可以隨機產生一個正整數,它會產生一個無符號整數,范圍在1~32767,即兩字節16位的整數最大值。而GNU C++產生的隨機數范圍為2147483647。 范圍中的每一個數在每次隨機調用rand時都有相同的概率被選中。使用隨機函數的時候需要加上#inlcude 頭文件。如以下案例:

注意:每次程序運行的結果答案都是相同的,這顯然不是我們想要的。這是因為,rand函數不是真正的隨機數生成器,而srand()會設置供rand()使用的隨機數種子。如果你在第一次調用rand()之前沒有調用srand(),那么系統會為你自動調用srand()。而使用同種子相同的數調用 rand()會導致相同的隨機數序列被生成。如果要確保每次產生的都不一樣,我們需要引用一個專門為rand設置隨機化種子的函數srand().

隨機函數種子

隨機函數種子srand函數在庫中說明如下:

//接口說明: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.

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

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

如下實例:

隨機函數固定范圍

主要思路其實非常簡單,就是通過取余來做即可

尾言

文章都是手打原創,每天最淺顯的介紹C語言、C++,windows知識,喜歡我的文章就關注一波吧,可以看到最新更新和之前的文章哦。如果足下基礎比較差,不妨關注下人人都可以學習的視頻教程

《C語言51課視頻教程合集》

《C++45課視頻教程》

通俗易懂,深入淺出,一個視頻只講一個知識點。視頻不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以觀看,隨時隨地漲姿勢

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。