IMHO oggigiorno dire "impara il C, poi il C++ ed infine Java" è un comportamento anacronistico. Spiego meglio: il C è un linguaggio di programmazione ormai considerato "arcaico" per il suo approcio non orientato ad oggetti. È ancora molto utilizzato solo per scrivere kernel o comunque parti di driver. Se oggi scrivi un qualsiasi programma che manipola stringhe ed usi il C, sei un pirla.
Mentre il C era molto di voga in quanto "moderno" e "di veloce scrittura" negli anni '70 (dove prima c'era solo l'Assembler), non esistevano i linguaggi di programmazione orientati ad oggetti. Questi ultimi hanno rivoluzionato e standardizzato il modo di scrivere programmi: con il C sei più "freelancer", con C++ o Java invece lo sviluppatore è incanalato a scrivere i programmi in una certa maniera (oggetti composti da attributi e metodi). Questo facilita sia l'apprendimento che la stesura che la rilettura del codice.
Non a caso ormai nelle università si sta abbandonando piano piano l'approcio "C -> C++ -> quello che vuoi" per passare già a linguaggi come C++ o (meglio, ad oggi) Java.
QUINDI... detto questo... se vuoi programmare per Android ti consiglio di cominciare direttamente da Java, altrimenti... vai con il C++ (che comunque imparandolo imparerai anche la sintassi del C, il nocciolo del perché si dice "impara il C e poi passa al C++")