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.