Lo más sencillo, rand(), inicializando con srand(), algo comunmente utilizado es:
// Inicializa con la hora del sistema, nunca se inicializará con la misma en dos ejecuciones distintas
srand( time( NULL ) );
numero = rand();
Buscando encontrarás defectos de esta aproximación, para cosas realmente complicadas puedes hacer uso de la "entropía" del sistema, o acceder a alguna posición de la ram del equipo, pero para cosas dentro de lo normal, rand debería bastar.