No, there is no fee to receive bitcoins. When spending, most of the wallets let you control how large a fee to pay. Most wallets have reasonable default fees, and higher fees can encourage faster confirmation of your transactions.