Rand() not bieng very random

Sorry it's me again.

Anyway, the title pretty much explains it all. My program chooses five random numbers ranging from 1-5, (inclusive,) but it always chooses the same numbers in the same order. Is this normal? I ask simply because I wish to know the nature of rand(). I just can't see how any proccess a system performs can be random, as it has pre-set commands to determine these numbers. Can anyone explain the concept of random number generating? If you can please do as I am really lost.

Thanks for any replies.

Necrofear