Based on my brief tryst with programming, I strongly recommend the following websites for learning C, C++, and Java.
GeeksForGeeks- Each concept is explained in a lucid manner with real-world analogies. There are multiple questions available for practice, revision, and mastery. Asking doubts was never this easy.
Coursera-I enrolled for an online Java course with course early last year. Coursera offers numerous video lectures, webinars, and assignments. The world's most recognized universities impart quality learning to you from miles away. A certificate of completion is also granted at the end. However, it's paid.
Coding Ninjas- It's the go-to-place when it comes to coding in C, C++ or Java. They have a large variety of coding problems. Each Wednesday is Webinar on Wednesday. A simulation of Codechef is code zen. Each learner is exposed to a highly competitive environment.
Cplusplus.com- This is yet another useful resource for learning online programming. There is a vast multitude of tutorials and algorithms that help you improve your IQ as well as coding skills.
C and C++ are the two basic languages that one should know since other programming languages are derived from these two. To learn any programming language, you should be comfortable with the basics. And once you are comfortable with the basics, learning programming becomes just fun.
Let me tell you the website which is best to learn these programming languages, which is Codesdope. It doesn't matter whether to have coded before or haven't experienced it before, you will just enjoy learning from it. Its course material is very user-friendly and its topics are very easy to understand. Even the ones having no knowledge in coding can easily learn from this site and become a good programmer. Not only this, but there is a discussion section also where you can get all your doubts cleared from experts or other members. You can also directly contact its developers which is just cool. You can even practice questions for each topic separately in its practice section which prevents you from searching practice questions elsewhere.
To be good at any programming language, you have to remember some rules.
Be clear with the basics since, without a solid foundation, you'll have trouble creating anything of value
Practice a lot of problems until you feel confident enough to solve any problem
It is not necessary to sit around for a lot of time coding, but don't be lazy in whatever time you dedicate