Jako prvni "opravdovy" jazyk bych C nebral ani nahodou. Jako druhy, treti jazyk je to skvela volba, ktera cloveku ukaze hodne veci do hloubky. Ale jako prvni knihu take nedavame detem Fucaultovo kyvadlo vytistene malym pismem.
Zacal bych Pythonem (alternativne Ruby, Smalltalkem, Scheme...), v mirne horsim pripade Javou. Zacatecnik imo nema byt postaven naraz pred vsechny problemy, bude mu stacit prvni varka (algoritmizace, cykly, podminky, volani funkci, rekurze). Bude rad, ze napise print vysledek a ono to vypise vysledek (ruku na srdce, trebas IO je v C sice logicke, ale aby ho clovek pochopil, tak musi chapat hodne i netrivialnich veci).
Takze ma rada: zacit mensim problemem (Python, Ruby, Java...), nabrousit si na nem drapy a pak jit smer C. Lepsi dostat do zacatku nejaky ten bonus zadarmo (sprava pameti, bohate knihovny, bezpecnost runtime...) nez si namlatit cumak. Nekoho to zoceli, ale vetsinu odradi. Prvni kroky jsou tezke a pozitivni zpetna vazba neocenitelna.
Z knih pro zacatecniky neznam nic lepsiho nez edici Head first. Zacal bych Head first programming (pouziva Python), ale i Head first Java nebo Head first Python jsou dobre navrzene ucebnice.