Jazyk C – Základy programování (C1)
Programování, C, C++
Programovací jazyk C vznikl na začátku sedmdesátých let v Bellových laboratořích zásluhou Dennise Ritchieho. Byl navržen jako nízkoúrovňový, přenosný a extrémně efektivní jazyk pro implementaci operačních systémů, zejména Unixu. C se stal základem téměř všech moderních platforem.
Céčko je i po půlstoletí své existence průmyslovým standardem v oblasti operačních systémů i embedded software a stále definuje společné rozhraní mezi programovacími jazyky. Zároveň i interpretované jazyky jako Python stojí na pevném základu v C.
Kurz je aktualizovaný na standard C23. Jde o univerzální seznámení s jazykem bez ohledu na konkrétní nasazení.
TOTO ŠKOLENÍ VÁM POMŮŽE:
- Ovládnout syntaxi a strukturu programů v jazyce C
- Seznámit se s toolchainem a standardní knihovnou
- Přidat programovací jazyk C do svého repertoáru
KDO BY SE MĚL KURZU ZÚČASTNIT?
- Začínající programátoři s obecnou znalostí programování
- Budoucí vývojáři embedded systémů a firmware
- Studenti a zájemci o kořeny současného softwarového vývoje
Privátní školení a termíny na míru
Tento kurz nabízíme pouze jako uzavřené privátní školení. Obsah, délka a termíny kurzů budou vytvořeny podle vašich specifických potřeb. Specifičnost tohoto školení a nízký zájem jednotlivců neumožňuje pro tento kurz vypisovat veřejné termíny.
Cenovou nabídku vám rádi připravíme na základě vašich požadavků a cílů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.
KDE A KDY KURZ PROBÍHÁ?
Kontaktujte nás
S námi
máte na výběr: Přijďte na
kurz osobně do naší učebny, nebo se ke kurzu
připojte online. Pokud preferujete online formu, uveďte prosím do poznámky v objednávce "Připojím se virtuálně".
Více informací k hybridní formě školení
naleznete zde.
Náplň kurzu:
Skrýt detaily
-
Seznámení s programovacím jazykem C
-
Jazyk a knihovna podle C23 a POSIX.1-2024
-
Historická perspektiva C a UNIXu
-
Současné průmyslové aplikace
-
Práce s toolchainem
-
Sestavování programů
-
Volby kompilátoru a linkeru
-
Řešení chyb při kompilaci
-
Základní vstup a výstup
-
Formátovaný výstup přes printf
-
Vstupní a výstupní proudy
-
Čtení pomocí scanf a fgets
-
Proměnné a výrazy
-
Lokální proměnné a konstanty
-
Číselné typy a operace
-
Výrazy a operátory
-
Strukturované datové typy
-
Pole pevné velikosti
-
Jednoduché struktury
-
Inicializace proměnných
-
Strukturované programování
-
Cykly a větvení kódu (while, if)
-
Procházení datových struktur (for)
-
Skoky z cyklů (break, continue)
-
Členění programu do funkcí
-
Definice a volání funkcí
-
Argumenty a návratová hodnota
-
Předávání strukturovaných dat
-
Výčtové typy a větvení kódu
-
Větvení podle výčtové hodnoty (switch)
-
Anonymní výčty a konstanty
-
Používání výčtů pro flagy
-
Základní ošetření chyb
-
Ošetřování návratových hodnot
-
Návratové hodnoty a chybové kódy
-
Různé druhy reakcí na chybu
-
Pole a buffery
-
Výpočet velikosti statického pole (sizeof)
-
Použití výčtů pro indexování polí
-
Statická pole ukončená zarážkou
-
Praktické aplikace polí
-
Textové řetězce ve formě statických polí
-
Zpracování argumentů příkazové řádky
-
Pole struktur a vícerozměrná pole
-
Práce s textem
-
Řetězce v C (char pole)
-
Kódování a textové soubory
-
Řetězcové operace a standardní funkce
-
Binární data
-
Strukturovaná data a offsety
-
Čtení a zápis binárních souborů
-
Reprezentace paketů a zpráv
-
Alokace paměti
-
Paměť vyhrazená už při kompilaci (static)
-
Proměnné na zásobníku (stack)
-
Dynamická alokace pomocí malloc (heap)
-
Práce s ukazateli a poli
-
Poskytování bufferů pro data
-
Předávání a ukládání ukazatelů
-
Životnost objektů a ukazatelů
-
Abstraktní datové typy
-
Struktury pro související data
-
Sada metod ve formě funkcí
-
Dokumentováno jako jeden objekt
-
Integrace s operačním systémem (POSIX)
-
Proměnné prostředí a argumenty příkazové řádky
-
Práce se soubory a souborovými systémy
-
Čekání a práce s časovými údaji
-
Bonus: Knihovny a rozhraní
-
Psaní znovupoužitelného kódu
-
Udržování jednoduchého rozhraní
-
Práce s hlavičkovými soubory
-
Předpokládané znalosti:
-
Zkušenost s programováním v jiném jazyce
-
Doporučený předchozí kurz:
-
Úvod do programování (PRG)
-
Doporučený následný kurz:
-
C++ – Základy programování v moderním C++ (CPP1)
-
Časový rozvrh:
-
3 dny (9:00hod. - 17:00hod.)
Prostředí:
Doporučené:
- Linux: Některá z aktuálních distribucí
- Administrátorský přístup a připojení k internetu
- GCC: Pokud možno v aktuální verzi
- Oblíbený programátorský editor
- Knihovny: SDL
Alternativy:
- Kurz lze přizpůsobit práci v jiném prostředí
- Leccos lze vyzkoušet online na compiler exploreru
Vybrané zákaznické reference
Wittmann Battenfeld CZ spo. s.r.o, Aleš B.
Jazyk C – Základy programování (
C1)
"Spokojen, školení splnilo očekávání."
Kooperativa pojišťovna, a.s., Vienna Insurance Group, David J.
Jazyk C – Základy programování (
C1)
"Kurz podle sylabu obsahoval vše co měl. Velká využitelnost při správě modelů pojišťoven."
APATOR METRA s.r.o., Václav K.
Jazyk C – Základy programování (
C1)
"Celkově hodnotím kurz jako přínosný. Nižší hodnocení v některých je dáno tím, že jako začátečník v C/C++ bych uvítal důkladnější procvičení, které by ale zřejmě bylo nad rámec kurzu."
Správa železnic, státní organizace, Libor B.
Jazyk C – Základy programování (
C1)
"Kurz byl pro mne přínosný - doplnil jsem si znalosti o jazyku C."
IMI International s.r.o., Miroslav K.
Jazyk C – Základy programování (
C1)
"Přístup na školení je velmi individuální. Celkově "palec nahoru"."