Why monks have to take alms for their food? Why did Buddha take to alms for his food? Is there any reason for it? As fruits and vegetables grow in forest, couldn't he sustained himself with what is available in forest? 

Are there any rules for taking alms? and what kind of food can be taken or refused? Whether karma is passed from the giver to the receiver?

Can monks have a garden , where they can grow their fruits and vegetables ?
I don't hink there is a canonical answer in the Pali-canon about the "why".           

But in the books of Thich Nhat Hanh which I accept as quite authoritative there is an explanation in the following spirit (don't have the exact text at hand):
at one hand the monks shall not be concerned with the common daily life and samsara and what else and thus should -in priciple- should stay with the common samanas'/ascetics' practice. However, to avoid the danger that the monks become too remote from the society, from the human world(so to say) they should somehow remain in contact.    

Derived from this that has two intertwined advantages: the monks give the people the chance to try and experience wideheartedness so they help them to train wholesome emotions, thoughts and practice, and even help them to simple stay aware of the existence of the Buddha's sangha, teachings and doctrine - and the monks themselves don't loose the contact with that from where they come from, with their own history and samsaric relations and don't become, for instance, hypocrites (the latter is a word from me, I don't really think that Thich Nhat Hanh had used this expression).        

All in all, I find this a nice and very helpful interpretation - but as I said in the first sentence: I've no idea at the moment whether and where the Buddha might have been given such an explicite explanation of the "why" .