It depends on what sub domain you're using. If you're using a free web host that gives you sub domain then yes it will affect your search engine rankings and look unprofessional.
When searching for something on google I never see a website that is hosted on a free web host using the free web host's sub domains ranking in google anywhere.
If you're serious about running a website and want to get a lot of website traffic to earn money then I suggest for you to spend the little amount of money needed to get your website on a paid web host and use a paid domain.
All these things can cost as little as $5.00 per month. A domain name can be registered for as cheap as $10.99 a year at
http://dynadot.com and web hosting can be had for $3.95 a month from
http://hawkhost.com or other web hosts.
Sub domains do rank okay though on your own domain. Such as blog.mydomain.com