Che ricordi bene, la funzione rand tira fuori un valore intero.
Nella seguente espressione
printf("%d\n",1+rand()%6);
non stai facendo altro che generare un valore INTERO random, farne il modulo per 6 (quindi potresti ottenere al massimo un numero, sempre intero, compreso tra 0 e 5) e sommargli uno, quindi gli stai dicendo di generare numeri random compresi tra 1 e 6.
Se ti serve un numero compreso tra 0 e 1, ipotizziamo di doverlo fare in centesimi, quindi qualcosa del tipo 0,00 , 0,01 , 0,25 , 0,38 , e tutti quelli che ti pare fino a 0,99 , potresti fare qualcosa del tipo:
for(int i=0; i<10; i++)
{
int randNum = rand() % 100; %Estraggo un numero tra 0 e 99%
double num = ((double)randNum) / 100.0;
printf("%f\n",num);
}