Ez a rövid leírás példaprogramokon keresztül vezet be minket a C/C++ mélységeibe. Ahhoz hogy a kirándulás sikeres legyen néhány alapvető ismeretre van szükség ami nem feltétlenül adott, ha az ember csak felhasználói szinten használja a számítógépet.

  Ilyen ismeret lehet pl. a számítógép felépítése, illetve működése, vagy a programok és az operációs rendszer kapcsolata - hiszen ezekkel nem mindennap találkozik az ember, ám a programozáshoz ezek mind szükséges dolgok.
  Az oldal egyik célja hogy ezeket az ismereteket gyűjtse össze, írja le egy helyen - de mivel a színtiszta elmélet száraz és érthetetlen - ezeket példákon keresztül mutatja be.

De én csak műszinfóból akarok átmenni...

Megjegyzés: Némelyik böngészőből másolva, az IDE hibát ír ki a példára - ez a másolás közben keletkezik - ilyenkor kézzel kell átgépelni a programokat. Az átgépeléskor célszerű a Space nyomkodása helyett, a Tab billentyűt használni - erre a legtöbb IDE direkt fel van készítve.


-, Hasznos linkek

  • IDE gyűjtemény
      A programozáshoz szükséges programcsomagokhoz tartalmaz részletes leírást, előre beállított konfigurációkat, és letöltési lehetőségeket.
  • Fogalomtár
      Ha elakadsz, mert az oldal olyan kifejezéseket használ, amit nem értesz, vagy először találkozol vele, nyugodtan nézd meg a fogalomtárban.
      Az első két bevezető fejezetben megjelenő fogalmak ide vannak összegyűjtve, röviden megfogalmazva. A későbbi fejezetekben azért nincs ilyen, mert ott már feltételezhető hogy az első két fejezetet átrágtad, ezért addigra már érted az alapfogalmakat.
  • Példatár
      Az oldal egyes témaköreihez tartozó, önállóan megoldható példák.
  • Megoldások
      A példatári feladatok megoldásai.

1, Bevezetés

  • A legelső C program elkészítése
      Néhány alap sablon, amelynek segítségével el lehet kezdeni programozni, amíg egyes fogalmak ismeretlenek maradnak. Az első C fájl, szöveg kiírása, adatok bekérése, változók.
  • A számítógép alkatrészei
      Ismerkedés a számítógép alkatrészeivel, azok feladataival. Alapvető összefoglalás arról hogy hogyan végzik a feladatukat, programozás szempontjából milyen fontos jellemzőkkel bírnak.

2, A programozás alapjai

  • Adattárolás kettes számrendszerben
      Hogyan tárolja a program a különféle változókat kettes számrendszerben? Néhány fogalom bevezetése, mint a mutató, karaktertábla. Áttekintés a változók típusairól. A számítógép számítási korlátainak ismertetése.
  • Műveletek kettes számrendszerben
      Aritmetikai és logikai műveletek bevezetése, ismerkedés a feltételes utasítással, és a logikai operátorokkal. Miként végzi el a gép a négy alapműveletet? Az inkrementálás/dekrementálás módjai. A túlcsordulás fogalma. A bitenkénti logikai operátorok ismertetése.
  • A program mint adathalmaz
      A program mint utasítások sorozata, illetve mint számhalmaz. A magas szintű programnyelvek és védett módú rendszerek megismerése. Elágaztatás és ciklusszervezés, illetve azok veszélyei. A for ciklus használata.

3, Előrehaladottabb programozás

  • Egyedi típusok defíniálása
      Tömbök/vektorok. Lineáris, síkbeli, térbeli, ..., n-dimenziós tömbök. Típusdefiníció, mező. Struktúrák, azok típusdefiníciója, mutatója. A nyíl operátor. Az union, és a flexibilis struktúra. Az enum és az alias. A C/C++ bitműveletes halmazai.
  • A program részekre bontása
      A részekre bontás módjai. A blokkok bemutatása. A változók érvényességének a határa. Függvények/eljárások létrehozása. A cím szerinti paraméterátadás. Rekurzív függvények. Fordítói direktívák, makrók. A .H fájlok, beépített függvénytárak.
  • Egyszerű dinamikus adatszerkezetek
      A tömb mint mutató. A tömb memóriájának kézi lefoglalása és felszabadítása. Tömb méreteinek megváltoztatása a foglalás után. Struktúra alapú dinamikus tömbök. Többdimenziós tömbök lefoglalása a memóriában, és felszabadításuk.
  • Karakterláncokkal végzett műveletek
      A karakterlánc beolvasása, kiírása, hossza, másolása. Szövegek összeadása. A formátumsztring bemutatása. A printf és scanf utasítások variációi, és képességei. További szövegkezelő függvények.
  • Egyszerű rendezési algoritmusok
      Egy számokból álló tömb elemeinek sorba rendezése, többféle módszer segítségével. A buborék módszer. Szövegekből álló tömb betűrendbe rakása.

4, Az egyszerű C/C++ programok rejtelmei

  • A program fő függvénye, és a rendszer közötti kapcsolat
      Ismerkedés a main függvénnyel. A program kilépési kódja. A paraméterek, és a társítás, és a parancssori kapcsolók. A program megszakításának lehetséges hibái.
  • Hibakeresési, optimalizálási módszerek
      A hibakeresési információk, a töréspontok szerepe. A változók megfigyelése, a hívási verem. A try-catch blokk használata. Hibakódok generálása, a program hibakimenete. A program optimalizálása felhasználói, illetve kiszolgálói környezetekhez.
  • Összetett dinamikus adatszerkezetek
      A mutatókkal előállítható adatszerkezetek. A verem, és a lista. Számrendszerek közötti átváltás verem segítségével. A csatorna pufferek, mint listák. A hívási verem, és annak túlcsordulása (stack overflow).  A bináris fa szerkezete.
  • Fájlkezelés, adattárolás
      A fájlok mint bájtok halmaza a háttértárolón. Szöveges fájlok megnyitása, és szerkesztése. Bináris fájlok megnyitása és szerkesztése. A fájl struktúrájának felépítése, verzióellenőrzés.
  • Egyszerű síkbeli grafikai alkalmazás
      A Code::Blocks/Borland C++ grafikai képességei. Néhány egyszerű grafikus alkalmazás. Az ablak villogásmentesítése, animálás.

5, Bevezetés a Windows programozás alapjaiba

  • Ismerkedés a Windows API-val
    A Windows felépítése, ismerkedés a rendszerrel programozói oldalról. Barátkozás a Windows API függvénydefinícióival, néhány könnyebb függvény használata példákon keresztül. Másik program elindítása, a saját programunkból.
  • Az első ablakos alkalmazás elkészítése
    A Windows ablakkezelése, az ablakok jellemzői. Az ablakeljárás, az ablakosztály, és az ablak további tulajdonságai. Az üzenetkezelési lánc, üzenetek küldése ablakok között. Az első ablakos program kódja. A WinSpy++ használata.

Készítette: Laci bá', 2016