Quality Control is the effort exerted to stop any bugs from reaching the released code, but it is a final effort when the development is completed.
Quality Assurance is the effort of identifying any opportunities for introducing problems and to figure out ways to minimize that chance that bugs are introduced in the code in the first place. In order to achieve that, QA has to start as soon as the requirements are identified, and it tries to identify inconsistencies in the intermediate code and documentation to get bugs fixed well before they get a chance of getting buried in the code that is ultimately handed to QC.
Let's make one thing perfectly clear, you cannot ever introduce quality after the process is over, but you can try to stop the effects of the lack of quality from hurting the customer (i.e. QC).
Quality Assurance is the implementation of standard and procedures in an organization which will be going to be following in developement to implementation of a product/application.
Quality Control is related to a specific product which covers the verification and validation of the product/application.
Ravee, that's definitely not correct. Everyone else is on the right track. QA is the control of the process from beginning to end. Marketing, developers, shipping and everyone is part of Quality Assurance. Quality Control is the group that does the actual testing and testcases using standards developed by the QA team. In many cases, QC is an actual set of people dedicated to testing and QA is a group made up of representatives from all departments. Sometimes you'll hear people say QA when refering to testers. I guess this is something like saying "hey you guys" when refering to a group of women. While not correct, its commonly done and accepted.