Usually yes there are small fees when buying and selling Bitcoin – especially on user-friendly exchanges such as Coinbase where you pay for cryptocurrencies in fiat currency. These platforms will usually charge small flat fees for transactions.
When transferring your coins to other wallets (either to other wallets you own or to other people to whom you are selling to), you also have to pay a small amount in mining fees.
This fluctuates depending on how busy the network is at that moment, but they work out to a very small fractional amount of BTC to ensure that the miners maintaining the network are fairly rewarded.
You can also choose to pay slightly more in mining fees in order to have your transfer verified faster on the blockchain.