Válassza ki a nyelvét
C/C++ programozás tanfolyam
Több mint 2 millió diák világszerte

C/C++ programozás tanfolyam

Sajátítsa el a C és C++ nyelveket az alapoktól kezdve, lefedve mindent a nyers memóriától és mutatóktól a modern C++20 funkciókig, tervezési mintákig és párhuzamos rendszerekig. Ez a kurzus azt a technikai mélységet adja meg, amelyet a szakmai fejlesztők és rendszermérnökök ténylegesen használnak a munkájuk során. Akár beágyazott firmware-re, akár nagy teljesítményű alkalmazásokra vagy technikai interjúkra készül, valódi, éles környezetben használható készségekkel távozik.

Dedika vállalatoknak

Mit fogsz megtanulni:

Teljes alapot épít ki a C és C++ szintaxis, memóriakezelés és objektumorientált programozás területén, mielőtt továbblépne a sablonokra, a Standard Template Library-re és a modern C++17/20 funkciókra. A kurzus a semmiből megvalósított adatszerkezeteket és algoritmusokat fed le, így megszerzi a problémamegoldó készségeket, amelyek szükségesek a technikai interjúkhoz és rendszerszintű munkához. Megtanulja használni az ipari szabvány eszközöket, beleértve a CMake-t, GDB-t, Google Test-et és statikus elemzőket. A beágyazott és rendszerszintű programozási témák felkészítik a firmware- és alacsony szintű fejlesztésre. A kurzus végére képes lesz robusztus C++ szoftvereket tervezni, építeni és szállítani szakmai környezetben.

Hogyan tanulhatsz gyakorlatiasan C/C++ programozás tanfolyam

Hogyan gyakorolsz C/C++ programozás tanfolyam

Önnek, ha vállalatként szeretné képezni a csapatát

A Dedika vállalatoknak szóló képzésein a tanfolyam saját üzleti példákkal és gyakorlatokkal, az Ön cégének igényeihez igazítva érhető el.

Kattintson ide

A kurzus tartalma

8 Fejezet • 40 Óra4 és 360 óra közötti időtartam (te döntesz)

1. fejezetRészletek megtekintése

C/C++ környezet és szintaxis alapjai

  • 1. óra • Változók, típusok és literálok

    Bemutatja a primitív adattípusokat, a változódeklarációt és a literálértékeket. A témakör elsajátítása lehetővé teszi a helyes adatreprezentációt a kurzus során.

  • 2. óra • Bemenet és kimenet alapjai

    Megtanítja a konzolos I/O-t a C-ben printf/scanf, C++-ban pedig a cin/cout használatával. Lehetővé teszi az interaktív programokat, amelyek minden gyakorlati feladathoz szükségesek.

  • 3. óra • Operátorok és kifejezések

    Lefedi az aritmetikai, relációs, logikai és bitenkénti operátorokat a precedenciaszabályokkal együtt. Fejleszti a kifejezésírási készséget, amely minden vezérlési szerkezethez és algoritmushoz szükséges.

  • 4. óra • Alapvető szintaxis és programstruktúra

    Lefedi a tokeneket, utasításokat, blokkokat és egy C/C++ forrásfájl szerkezetét. Közvetlenül kapcsolódik bármely érvényes program megírásához a későbbi fejezetekben.

  • 5. óra • A fejlesztői környezet beállítása

    Telepítsen és konfiguráljon fordítóprogramokat, szerkesztőket és build eszközöket C/C++-hoz. Biztosítja azt a technikai alapot, amelyre minden további fejezet épül.

2. fejezetRészletek megtekintése

Vezérlési szerkezetek és függvények

  • 1. óra • Függvénydeklaráció és definíció

    Bemutatja a függvényprototípusokat, a definíciókat és a meghívás mechanizmusát C/C++-ban. Lehetővé teszi a kurzus során használt moduláris tervezési elveket.

  • 2. óra • Hatókör, élettartam és tárolási osztályok

    Elmagyarázza a lokális, globális és statikus változók hatókörét és élettartamát. Megelőzi a nem inicializált vagy rossz hatókörű változókkal kapcsolatos gyakori hibákat.

  • 3. óra • Rekurzió alapjai

    Lefedi a rekurzív függvénytervezést, az alapeseteket és a verem viselkedését. Felkészíti a hallgatókat a későbbi fejezetek rekurzív algoritmusaira és adatstruktúráira.

  • 4. óra • Feltételes utasítások

    Lefedi az if, else-if és switch szerkezeteket a döntéshozatalhoz. Közvetlenül lehetővé teszi a logika által vezérelt programokat, amelyekre minden további fejezet épít.

  • 5. óra • Ciklusok és iteráció

    Megtanítja a for, while és do-while ciklusokat a ciklusvezérlő utasításokkal együtt. Az iteráció a később tárgyalt algoritmusok és adatfeldolgozás gerincét képezi.

3. fejezetRészletek megtekintése

Tömbök, karakterláncok és mutatók

  • 1. óra • C-stílusú karakterláncok és karakterlánc-függvények

    Megtanítja a nullával lezárt karaktertömböket és a szabványos karakterlánc-könyvtári függvényeket. Biztosítja a C-karakterlánc alapot, amely a C++ std::string bevezetése előtt szükséges.

  • 2. óra • Dinamikus memóriafoglalás

    Megtanítja a malloc/free használatát C-ben és a new/delete használatát C++-ban a heap kezelésére. Lelapozza a következő fejezetben tárgyalt dinamikus adatstruktúrák alapjait.

  • 3. óra • Egydimenziós és többdimenziós tömbök

    Lefedi a tömbdeklarációt, inicializálást és az elemek elérési mintáit. A tömbök szinte minden, a kurzus későbbi részében bemutatott adatstruktúra alapját képezik.

  • 4. óra • Mutatók és függvények

    Lefedi a mutatók függvényeknek való átadását és a mutatók biztonságos visszaadását. Lehetővé teszi a hatékony adatkezelést szükségtelen másolás nélkül.

  • 5. óra • Mutató alapok és cím-aritmetika

    Bemutatja a mutatódeklarációt, a dereferálást és a mutatóaritmetikát. A mutatók központi szerepet játszanak a dinamikus memória és az alacsony szintű programozás terén a későbbi fejezetekben.

4. fejezetRészletek megtekintése

Struktúrák, uniók és felsorolások

  • 1. óra • Felsorolások és típus álnevek

    Lefedi a C enumokat, a C++ enum class-t és a typedef/using deklarációkat. Javítja a kód áttekinthetőségét és típusbiztonságát minden további projektben.

  • 2. óra • Bitmezők és tömörített adatok

    Bemutatja a bitmezős struktúratagokat a tömör adatreprezentációhoz. Releváns a protokoll-elemzéshez és a hardverregiszter-leképezéshez a haladó témákban.

  • 3. óra • Mutatók struktúrákhoz

    Megtanítja a mutató alapú struktúra elérést és a dinamikus struktúrafoglalást. Lehetővé teszi a linkelt adatstruktúrákat, amelyek az algoritmusok fejezetben épülnek fel.

  • 4. óra • Uniók és memóriamegosztás

    Elmagyarázza a uniók szemantikáját, az átfedő tárolást és az érvényes használati eseteket. Alacsony szintű memóriaismeretet nyújt, amely releváns a beágyazott és rendszerprogramozásban.

  • 5. óra • Struktúrák definiálása és használata

    Lefedi a struct deklarációt, a tagok elérését és a beágyazott struktúrákat. A struktúrák a következő fejezetben bemutatott C++ osztályok közvetlen előzményei.

5. fejezetRészletek megtekintése

Objektumorientált programozás C++-ban

  • 1. óra • Polimorfizmus és virtuális függvények

    Bemutatja a virtuális függvényeket, a tiszta virtuális függvényeket és az absztrakt osztályokat. Lehetővé teszi a futásidejű dispatch mintákat, amelyek központi szerepet játszanak a bővíthető szoftvertervezésben.

  • 2. óra • Öröklődés és osztályhierarchiák

    Lefedi az egyszeres és többszörös öröklődést, az ősosztály elérését és a konstruktor láncolást. Fejleszti a hierarchia tervezési készségeit, amelyek a polimorfizmushoz szükségesek.

  • 3. óra • Encapsulation és tervezési elvek

    Alkalmazza a SOLID elveket és az enkapszulációs stratégiákat az osztálytervezésben. Felkészíti a hallgatókat karbantartható, tesztelhető C++ kód írására a haladó fejezetekben.

  • 4. óra • Operátor túlterhelés

    Megtanítja az aritmetikai, összehasonlító és adatfolyam operátorok túlterhelését egyedi típusokhoz. Lehetővé teszi az intuitív szintaxist a felhasználó által definiált osztályok számára a későbbi projektekben.

  • 5. óra • Osztályok és objektumok

    Lefedi az osztálydeklarációt, a hozzáférési specifikátorokat és az objektumpéldányosítást. Létrehozza azt az osztálymodellt, amelyet a fejezet összes OOP jellemzője kiterjeszt.

6. fejezetRészletek megtekintése

Sablonok, STL és generikus programozás

  • 1. óra • STL algoritmusok

    Lefedi a sort, find, transform, accumulate és más szabványos algoritmusokat. Az STL algoritmusok alkalmazása lecseréli a hibára hajlamos kézi ciklusokat a termelési kódban.

  • 2. óra • Függvény- és osztálysablonok

    Lefedi a sablon szintaxisát, típusparamétereit és a sablon példányosítását. A generikus függvények és osztályok csökkentik a kódismétlést az összes jövőbeli projektben.

  • 3. óra • STL konténerek

    Bemutatja a vector, list, deque, map, set és unordered változatokat. A megfelelő konténer kiválasztása kritikus a teljesítmény szempontjából az algoritmustervezésben.

  • 4. óra • Lambda kifejezések és funktorok

    Bemutatja a lambda szintaxist, a capture listáket és a funktor objektumokat az STL-lel való használatra. Lehetővé teszi a tömör, kifejező algoritmustestreszabást a modern C++-ban.

  • 5. óra • Iterátorok és tartományok

    Megtanítja az iterátor kategóriákat, az iterátor aritmetikát és a tartomány alapú for ciklusokat. Az iterátorok az univerzális interfész a konténerek és algoritmusok között.

7. fejezetRészletek megtekintése

Memóriakezelés és erőforrás-biztonság

  • 1. óra • Kivételkezelés és biztonság

    Lefedi a try/catch/throw-t, a kivételhierarchiákat és a kivételbiztonsági garanciákat. A robusztus hibakezelés megakadályozza az erőforrás-szivárgásokat kivételes körülmények között.

  • 2. óra • RAII és erőforrás-tulajdonlás

    Elmagyarázza az RAII idiómát, és hogy a konstruktorok/destruktorok hogyan kényszerítik ki az erőforrás-biztonságot. Az RAII a modern C++ összes biztonságos erőforrás-kezelésének alapja.

  • 3. óra • Okosmutatók részletesen

    Lefedi a unique_ptr, shared_ptr és weak_ptr szemantikáját és használati mintáit. Az okosmutatók kiküszöbölik a kézi delete hívásokat és megakadályozzák a tulajdonlási hibákat.

  • 4. óra • Másoló és mozgató szemantika

    Megtanítja a másoló konstruktorokat, másoló értékadást, mozgató konstruktorokat és mozgató értékadást. Az Ötök Szabálya szabályozza a helyes erőforrás-tulajdonló osztálytervezést.

  • 5. óra • Memória hibakeresés és profilozás

    Bemutatja az eszközöket a szivárgások, érvénytelen hozzáférések és heap korrupció észlelésére. A profilozási készségek elengedhetetlenek a termelési minőségű C++ kód fenntartásához.

8. fejezetRészletek megtekintése

Fájl I/O, konkurencia és rendszerprogramozás

  • 1. óra • Többszálú feldolgozás std::thread segítségével

    Megtanítja a szálak létrehozását, csatlakozását és leválasztását a C++11 szálkönyvtár használatával. A konkurencia alapjai lehetővé teszik a párhuzamos programtervezést ebben a fejezetben.

  • 2. óra • Folyamat- és rendszerinterfészek

    Bemutatja a folyamatlétrehozást, a környezeti változókat és a rendszerhívásokat. Biztosítja az operációs rendszer szintű kontextust, amely szükséges a rendszerszintű C programok írásához.

  • 3. óra • Hálózati és socket alapok

    Bemutatja a BSD socket API-t TCP/UDP kommunikációhoz C/C++-ban. A hálózati készségek kiterjesztik a C/C++ alkalmazásokat elosztott és kliens-szerver környezetekre.

  • 4. óra • Szinkronizáció és adatversenyek

    Lefedi a mutexeket, feltételes változókat és atomi műveleteket az adatversenyek megelőzésére. A biztonságos szinkronizáció kötelező a helyes konkurens programokhoz.

  • 5. óra • Fájl I/O C-ben és C++-ban

    Lefedi a fopen/fclose-t C-ben és az fstreamet C++-ban fájlok olvasásához és írásához. A fájl I/O szükséges az adatok perzisztenciájához minden záróprojektben.

Tanúsítvány

Érvényes befejezési tanúsítványod

Ez a kurzus neked szól:

  • Számítástechnika szakos hallgatók: akik gyakorlati mélységet keresnek azon túl, amit az osztálytermek általában nyújtanak.

  • Python vagy JavaScript fejlesztők: akik készen állnak megérteni, mi történik az absztrakciós réteg alatt.

  • Villamosmérnökök: akiknek C készségekre van szükségük a firmware írásához és karbantartásához hardverprojektekben.

  • Pályamódosítók: akik rendszer- vagy beágyazott szerepköröket céloznak meg, amelyek alacsony szintű programozási folyékonyságot igényelnek.

  • Játékfejlesztők: akik optimalizálni szeretnék a C vagy C++ nyelven írt teljesítménykritikus kódot.

  • Önképzett programozók: akik szilárd alapot építenek, amelyet a strukturált nyelvek, mint a C, megkövetelnek.

Mit mondanak a diákjaink

Az órái tökéletesek. Megvettem az egyéves csomagot, és végre lehetőségem van különböző érdekes témákat követni anélkül, hogy platformot kellene váltanom... köszönöm mindazt, amit csinálnak, már ajánlottam is másoknak...
Giulio Carlo
Giulio CarloDigitális Marketing Hallgató
Szeretem, hogy a leckék egyenesen a lényegre térnek, és hogy tudok fejezeteket váltani és átugrani olyan tartalmakat, amikre nincs szükségem.
Mariana Ferres
Mariana FerresFotográfia Hallgató
Szeretem a tartalmat és a videók bemutatási és átírási módját, ami felgyorsítja a folyamatot!
Luciana Alvarenga
Luciana AlvarengaKörömdesign Hallgató
A platform gyors, egyszerű használni. A tartalom sokfélesége és a kiegészítő videók nagyon sokat segítenek a tanulásban.
André Felipe
André FelipePrompt Engineering Hallgató

Főbb képzések

GYIK

Mi a Dedika?

Érvényes a tanúsítvány Magyarországon?

Ingyenesek a tanfolyamok?

Mennyi a tanfolyamok óraszáma?

Milyenek a tanfolyamok?

Hogyan működnek a tanfolyamok?

Mennyi ideig tartanak a tanfolyamok?

Mennyibe kerülnek a tanfolyamok?

Mi az az EAD vagy online tanfolyam, és hogyan működik?

PDF tanfolyam