Скажем так, изучается не язык, изучается технология, что-то вроде "Написание графических приложений на Qt/C++" или "Написание прошивок для микроконтроллеров на С". От самого языка придется знать синтаксис (впрочем, вы и так уже знаете синтаксис в общих чертах) и поведение языка - то есть его стандарт - во что компилятор превращает буковки, что на этом языке писать нельзя и так далее....
На этапе первичного знакомства с языком вам может потребоваться ментор, который будет тыкать вас в ошибки, плохие практики и прочую пакость. Вместо ментора можно применять одну из книжек, вроде "Веревки достаточной длины" Голуба, но это сложнее.
Лучший способ быстро научиться - решать практические задачи. Очень хорошо, если такие задачи вы в состоянии поставить себе самостоятельно.
В качестве первых практических задач можно взять классику программирования - самостоятельно написать реализацию классических алгоритмов и структур данных.
Далее - разные варианты - можно брать задачи из разных областей (сегодня численно решаем диффуры, завтра - организуем поиск в десяти гигабайтах за секунду, послезавтра - рисуем трехмерки на микроконтроллере) и решать, решать, решать. Это позволит в общих чертах ознакомится с разными направлениями писания программ и выбрать наиболее удобное.
Я привел вариант "долгий и тернистый путь", есть более короткие, но менее интересные, разумеется.