C語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(RAND_MAX+1.0);
解析:
標準C庫中函數rand()可以生成0~RAND_MAX之間的壹個隨機數,其中RAND_MAX 是stdlib.h 中定義的壹個整數,它與系統有關。rand()函數沒有輸入參數,直接通過表達式rand()來引用;
用函數rand取得的隨機數除以(RAND_MAX+1.0),即可確保得到的結果在0到1之間。ISO IEC 9899 2011 (C11)標準中未規定 RAND_MAX 的具體數值。但該標準規定了RAND_MAX 的值應至少為32767。編程的時候,不應該對 RAND_MAX 的具體數值做任何假設。
擴展資料:
相關說明:
1、因為rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都打印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機。
2、為了使程序在每次執行時都能生成壹個新序列的隨機值,我們通常通過為隨機數生成器提供壹粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。
3、隨機種子(Random Seed)是計算機專業術語,壹種以隨機數作為對象的以真隨機數(種子)為初始條件的隨機數。壹般計算機的隨機數都是偽隨機數,以壹個真隨機數(種子)作為初始條件,然後用壹定的算法不停叠代產生隨機數。
百度百科-隨機函數
百度百科-RAND_MAX