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

Detail předmětu

Jazyk C

IJC Ak. rok 2010/2011 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í

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

Znalost programování v C, včetně práce s ukazateli a adresovou aritmetikou. Tvorba 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, 4. vydání, Kopp, 2004
  • Kernighan, B.; Ritchie, D.: Programovací jazyk C, Computer Press, 2006
  • Materiály 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, third edition, Addison-Wesley, 1997
  • Plauger, P.J.: The Standard C Library, Prentice-Hall, 1992
  • ISO: Programming languages - C, WG14/N869 Committee Draft, 1999
  • ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988
  • Herout, P.: Učebnice jazyka C, 3. vydání, Kopp, 1998

Osnova přednášek

  1. Úvod. Charakteristika jazyka C (K&R, ANSI C, ISO C90, ISO C99). Základní konstrukce jazyka. Příklady jednoduchých programů.
  2. Systematická definice jazyka C: lexikální jednotky, syntaxe deklarací, jednoduché typy, proměnné.
  3. Typ pole. 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. Výčtový typ. Výrazy, operátory, konverze, priority operátorů.
  5. Funkce a předávání parametrů. Ukazatele na funkce. Argumenty programu (argc, argv). Preprocesor jazyka C: makra, podmíněný překlad.
  6. Struktura programu, modularita, překladové jednotky. Principy sestavování programu. Program "make".
  7. 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.
  8. Použití standardních knihoven, příklady. Práce s řetězci a pamětí. Zpracování časových údajů. Matematická knihovna. Komplexní čísla.
  9. Vytváření a použití knihoven. Vývojová prostředí, nástroje pro kontrolu správnosti programů. Nástroje pro vytváření dokumentace programů.
  10. 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.
  11. Vstup/výstup, streamy. Základy použití standardních knihoven C++ (kontejnery, iterátory, algoritmy, řetězce). Praktické příklady v C++.
  12. Knihovny a princip sestavování programů. Program make. Sestavování programů napsaných v různých jazycích.
  13. Analýza výkonnosti programů, optimalizace programů. Pravidla pro psaní přenositelných a bezpečných 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