Hola:
Creo que la función standard de C presente en casi todos los compiladores para obtener números aleatorios es rand() que da un número entero entre 0 y un montón.
Para entre 1 y 2 es fácil. Obtienes un número cualquiera y haces modulo 2 (resto de dividir por 2, que da 0 o 1) y le sumas 1
rand()%2 + 1
Para algo más general, echa un ojo en http://www.geocities.com/chuidiang/funciones/rand.html
Se bueno.