Dal basso infimo della mia esperienza mi permetto di darti un consiglio: inizia dal C e poi passa al C++.
Questo consiglio si basa su due punti: è sicuramente più naturale e facile studiare un linguaggio ad oggetti dopo averne imparato uno procedurale, quindi meglio avere un po' di pazienza piuttosto che trovarsi in situazioni scomode per aver saltato alcune tappe.
Inoltre il C++ non è una semplice evoluzione del C che rende obsoleto il linguaggio da cui si è evoluto (mi sembra di capire dal tuo atteggiamento che la pensi in questo modo), ma ne è una "estensione" che porta questo linguaggio ad un livello più alto. Per altezza del livello si intende la capacità che un linguaggio ha di compiere un numero elevato di operazioni basiche (cioè che non possono essere suddivise in una molteplicità di operazioni di più basso livello).
All' innalzamento del livello corrisponde una perdita di prestazioni a favore della velocità di programmazione.
Tutto questo per dire che il C resta il linguaggio forse più prestante in assoluto tra quelli di alto livello e che se anche imparassi subito il C++, una volta diventato bravo saresti costretto a tornare sui tuoi passi per imparare linguaggi di livello più basso che ottimizzino le prestazioni, cioè, con molte probabilità,proprio lo stesso C ( questo si verificherà solo se sei interessato a diventare veramente bravo ).