| Előszó | 9 |
| Bevezetés | 11 |
| A számítógépek és a C nyelv | 15 |
| Játék a számokkal | 15 |
| A számítógép jellemzői | 18 |
| A számítógépek felépítésének alapjai | 20 |
| Számítógépes környezet | 21 |
| Mintaprogram | 23 |
| Adatábrázolás | 27 |
| Bitek és számok | 27 |
| Integer (egész) típusú változók | 34 |
| Lebegőpontos változók | 36 |
| Konstansok (állandók) | 37 |
| Oktális és hexadecimális számok | 39 |
| A C programok alapelemei | 43 |
| Utasítások, vezérlési szerkezetek | 46 |
| Az adatkivitel és a printfüggvény | 48 |
| A program mérete | 51 |
| A define és az include szerkezetek | 52 |
| Operátorok | 55 |
| Aritmetikai operátorok | 55 |
| Relációs operátorok | 59 |
| A logikai operátorok | 61 |
| Karakterek beírása és kivitele | 64 |
| Karaktertípusok vizsgálata | 68 |
| Bitenkénti logikai operátorok | 70 |
| Léptető operátorok | 72 |
| Függvények | 75 |
| Balérték, jobbérték, növelő és csökkentő operátorok | 81 |
| Értékadó operátorok | 83 |
| Operátorok egymásba ágyazása | 84 |
| A cím-operátor és a scanf függvény | 85 |
| Feltételes operátorok | 86 |
| Tömbök és indexek | 88 |
| A vessző operátor | 93 |
| A kiértékelés sorrendje | 95 |
| Számolás lebegőpontos szőámokkal | 97 |
| Precedencia és asszociativitás | 100 |
| Konverzió | 103 |
| Túlcsordulás | 106 |
| Definiált típusok és definiált konstansok | 107 |
| További tudnivalók az adatok beviteléről és megjelenítéséről | 110 |
| A program futási idejének meghatározása | 115 |
| Utasítások és vezérlési szerkezetek | 117 |
| Utasítások és blokkok | 117 |
| Az if utasítás | 118 |
| Az if-else utasítás | 120 |
| Az else-if utasítás | 122 |
| A switch utasítás | 125 |
| A while utasítás | 131 |
| A for utasítás | 129 |
| A do while utasítás | 131 |
| Vezérlési szerkezetek tervezése | 132 |
| A break és a continue utasítások | 138 |
| A goto utasítás | 140 |
| Függvények | 143 |
| Szintaxis és a jól olvasható programozási alak | 143 |
| Argumentumok átadása | 146 |
| Paraméterek és automatikus változók | 149 |
| Tömb argumentumok | 152 |
| Rekurzív függvények | 158 |
| Automatikus skalár változók kezdőértékeinek beállítása | 160 |
| Tárolási osztályok és belső statikus változók | 162 |
| Különálló fordítás és szerkesztés | 164 |
| Külső (external) static változók | 167 |
| Tömbök kezdőértékeinek beállítása statikus tárolás esetén | 170 |
| Kétdimenziós tömbök | 172 |
| Külső (external) változók | 178 |
| Regiszteres tárolási osztály | 179 |
| Az érvényességi tartomány szabályai | 181 |
| Összefoglaló a kezdőértékek beállításáról | 182 |
| Az üres zárójelek három esete | 184 |
| Makrohelyettesítés paraméterekkel (makro függvény) | 184 |
| Feltételes fordítás | 185 |
| Szoftver-fejlesztés | 189 |
| A szoftver-készítés folyamata | 189 |
| Analízis | 189 |
| Tervezés | 193 |
| Megvalósítás: programírás | 200 |
| Kivitelezés - a legutolsó fázis | 212 |
| Karbantartás | 215 |
| Mutatók | 217 |
| Alapelvek | 217 |
| Deklarálás és a mutatók használata | 218 |
| A mutatók mint függvényparaméterek | 220 |
| Mutatók és tömbök | 222 |
| Mutatókat használó függvények | 224 |
| Címaritmetika | 227 |
| Mutatótömbök | 227 |
| Parancssor-argumentumok | 228 |
| Struktúrák | 231 |
| Alapfogalmak | 231 |
| Struktőratagok | 232 |
| A kezdőértékek beállítása | 233 |
| Egymásba ágyazott struktúrák | 233 |
| Struktúratömbök | 234 |
| Struktúrákat megcímző mutatók | 236 |
| Epilógus | 239 |
| Mellékletek | 241 |
| Függelék | 367 |