Fakulta informačních technologií VUT v Brně

Detail předmětu

Jazyk C

IJC Ak. rok 2018/2019 letní semestr 5 kreditů

Jazyk C podle normy ISO. Systematická definice syntaxe a sémantiky, práce s ukazateli, modularita, standardní knihovny. Ladění a testování programů. Neobjektové základy C++ a použití standardních knihoven.

Garant předmětu

Peringer Petr, Dr. Ing. (UITS FIT VUT)

Zástupce garanta předmětu

Jazyk výuky

česky

Zakončení

zkouška (písemná)

Rozsah

39 hod. přednášky, 13 hod. projekty

Bodové hodnocení

70 zkouška, 30 projekty

Zajišťuje ústav

Přednášející

Peringer Petr, Dr. Ing. (UITS FIT VUT)

Cvičící

Havlena Vojtěch, Ing. (UITS FIT VUT)
Martiček Štefan, Ing. (UITS FIT VUT)

Aktuální informace

Dne 24. 4. 2019 bude přednáška v učebně D0206.

Získané dovednosti, znalosti a kompetence z předmětu

Základní znalost programování v C, včetně práce s ukazateli a adresovou aritmetikou. Tvorba jednoduchých modulárních programů v C.

Cíle předmětu

Cílem je seznámit studenty s jazykem ISO C a základními programovacími technikami v C. Důraz je kladen na různá nebezpečí vyplývající z použití ukazatelů a dalších rysů jazyka C.

Proč je předmět vyučován

Tento volitelný předmět je vhodný pro rozšíření znalostí nejen o specifické části jazyka C (ukazatelová aritmetika, modularita, vytváření knihoven), ale také pro doplnění znalostí v oblastech ladění programů a optimalizace kódu.

Prerekvizity

Literatura studijní

  • Herout, P.: Učebnice jazyka C, 6. vydání, Kopp, 2010
  • Kernighan, B.; Ritchie, D.: Programovací jazyk C, Computer Press, 2006
  • Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.

Literatura referenční

  • Kernighan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989
  • Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
  • ISO: Programming languages - C, WG14/N869 Committee Draft, 1999
  • ISO: Programming languages - C, N1570 Committee Draft, 2011

Osnova přednášek

  1. Úvod. Charakteristika jazyka C (K&R, ANSI C, ISO C90, ISO C99, ISO C11). Základní konstrukce jazyka. Příklady jednoduchých programů.
  2. Systematická definice jazyka C: lexikální jednotky, syntaxe deklarací, jednoduché typy, proměnné.
  3. Pojmy adresový prostor, adresa, ukazatel. Souvislost ukazatelů a polí, adresová aritmetika. Zarovnávání adres, little/big endian. Dynamické přidělování paměti.
  4. Řetězce, vícerozměrná pole, struktury a unie.
  5. Výčtový typ. Výrazy, operátory, konverze, priority operátorů. Příkazy.
  6. Funkce a předávání parametrů. Ukazatele na funkce. Argumenty programu (argc, argv). Preprocesor jazyka C: makra, podmíněný překlad.
  7. Struktura programu, modularita, překladové jednotky. Principy sestavování programu. Program "make".
  8. Standardní knihovny jazyka C - přehled a příklady použití. Podpora ladění programů. Klasifikace znaků, internacionalizace aplikací. Vstup/výstup, práce se soubory.
  9. Použití standardních knihoven, příklady. Práce s řetězci a pamětí. Zpracování časových údajů. Matematická knihovna.
  10. Vytváření a použití knihoven. Sestavování programů napsaných v různých jazycích. 
  11. Základy C++, typické rozdíly mezi C a C++. Typ reference, nové operátory C++, základy přetěžování funkcí. Prostory jmen.
  12. Vstup/výstup, streamy. Základy použití standardních knihoven C++ (kontejnery, iterátory, algoritmy, řetězce). Praktické příklady v C++.
  13. Analýza výkonnosti programů, optimalizace programů. Pravidla pro psaní přenositelných programů. Nástroje pro kontrolu správnosti programů. Nástroje pro vytváření dokumentace programů.

Osnova ostatní - projekty, práce

  • 2 domácí úkoly

Průběžná kontrola studia

2 domácí úkoly (30% bodů)

Kontrolovaná výuka

Účast na přednáškách v tomto předmětu není kontrolována. Znalosti studentů jsou ověřovány vypracováním 2 domácích úkolů a závěrečnou zkouškou

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Pozkouška2019-05-27 D105 12:0013:50 1BIA 1BIB 2BIA 2BIB 3BIT 1. oprava
Útzkouška2019-05-07 D105 15:0016:50 1BIA 1BIB 2BIA 2BIB 3BIT řádná
Útzkouška2019-06-04 D0206 15:0016:50 1BIA 1BIB 2BIA 2BIB 3BIT 2. oprava
Stpřednáškavýuky D105 17:0019:50 1BIA 1BIB 2BIA 2BIB 3BIT xx
Stpřednáška2019-04-24 D0206 17:0019:50 1BIA 1BIB 2BIA 2BIB 3BIT přesun kvůli Excel@FIT

Zařazení předmětu ve studijních plánech

  • Program BIT, 1. ročník, volitelný
  • Program IT-BC-3, obor BIT, 1. ročník, volitelný
Nahoru