Code Coverage is different from Test coverage. Code coverage is about unit testing practices that must target all areas of the code at least once. It is usually done by developers or unit testers.
Code coverage is a measurement of how many lines/blocks/arcs of your code are executed while the automated tests are running.
You have posted a really Nice Question about QA and QC. Many people have this myth that QA and QC are same, however, both of these are different. As per quality assurance services below is one-liner definition for both:
Quality Assurance:
QA makes sure that the techniques, processes, approaches and methods designed for the projects are correctly implemented. It’s a proactive process and preventive in nature.
Quality Control:
QC makes sure that the techniques, processes, approaches and methods designed in the project are correctly following.