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

Detail předmětu

Jazyk C

IJC Ak. rok 2005/2006 zimní semestr 5 kreditů

Aktuální akademický rok

Jazyk C podle normy ISO. Systematická definice syntaxe a sémantiky, práce s ukazateli, modularita, standardní knihovny. 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í

Florián Vladimír, 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

Požadované prerekvizitní znalosti a dovednosti

základy programování a algoritmizace

Literatura studijní

  • Herout, P.: Učebnice jazyka C, 3. vydání, Kopp, 1998
  • Materiály dostupné na WWW

Literatura referenční

  • Kerninghan, 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

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

Osnova ostatní - projekty, práce

  • 2 domácí úkoly, každý obsahuje 2 programy v C

Průběžná kontrola studia

domácí úkoly

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

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