Yea, brokers charge a fee for a trade, whether you buy 1 or thousands. Most trades are done in blocks of 100, but you don't have to. The fee is what the broker makes. Brokers that charge more generally have more frills to their systems.
The other cost is the "ask" and "bid" price. If the stock had a price of $20.00 they could ask 20.05 for it....or they would bid (buy it) for 19.95. That's where the company makes the money.
What broker one goes with is a matter of personal preference, but I would caution against the real cheap ones.