srand(1) 乱数の初期化関数です。この関数へ渡した数字が同じなら、rand()は何回やっても同じ乱数を返します。 rand() 乱数を生成します。0~65000くらいの数値をランダム?で返してくれます。範囲を絞りたいときは上記のように剰余演算子%を用います。 この関数、結構叩かれています。あまりにも偏った乱数を生成するからです。命にかかわるような計算をする場合、ほかの擬似乱数生成関数を使用するか、ハードウェアを用いたほうが良いと思います。ゲームや卒研とかなら十分ですけどね。 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html ↑のメルセンヌツイスタがおすすめです。カオスな乱数を生成してくれます。