For Bitcoin <--> Altcoin:
Poloniex.
For Bitcoin <--> USD/EUR:
Bitstamp.
If your country is listed in the coinbase then you can buy there through your bank
I would not recommend Coinbase as there were some 'suspicious' actions against some users (check reddit occasionally). Additionally, they might not like what you've done with you coins prior to sending them to their exchange.