What you're after is a GeoCode service. There are a bazillion ways to do this. The most appropriate method would depend on the numbers of geocodes you need and the accuracy required eg house, street, suburb, state ... The options can range from the smallest of options like the one below, all the way up to multi-national very, very expensive scalable software solutions - like Pitney Bowes Software Spectrum suite.
Personally, for small datasets and a quick turn around without needing to get your programming toolbox out, I use the following website:
GPS Visualiser
You can copy and paste your addresses and it utilises the Google and/or Bing GeoCoding web service to associate a coordinate with an address.
You will need a API key (free) however, there are instructions on the website.
Once that's done save the results back to a file, add it into QGIS using the Add Delimited text tool and you should be looking at some freshly geocoded points.
As also mentioned in comments there are quite a few plugins for QGIS that are available, here is one.