I would start with C++. C is too cryptic in many ways and can be a hassle. Java is to abstracted from the actual machine IMO.
C++ will give you an easy introduction and understanding into what you're doing. As you grow with C++, you will be able to handle Java or most of what you want with relative ease.







