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

Detail předmětu

Jazyk C

IJC Ak. rok 2016/2017 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)

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í

Hruška Martin, Ing. (UITS FIT VUT)
Janků Petr, Ing. (UITS FIT VUT)

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.

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, 2013
  • 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 (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. Komplexní čísla.
  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

domácí úkoly

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

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