Detail předmětu
Jazyk C
CPP Ak. rok 2005/2006 zimní semestr 5 kreditů
Jazyk C podle normy ISO. Systematická definice syntaxe a sémantiky. Výrazy, příkazy. Funkce a předávání parametrů. Pole, struktury, unie, výčtový typ. Souvislost ukazatelů a polí, adresová aritmetika. Práce s řetězci. Dynamické přidělování paměti. Preprocesor jazyka C. Struktura programu, modularita, principy sestavování programu. Vytváření a použití knihoven. Standardní knihovny jazyka C. Vstup/výstup, práce se soubory. Vývojová prostředí, nástroje pro kontrolu správnosti programů. Neobjektové základy C++ a použití jeho standardních knihoven. Metody ladění a testování programů. Analýza výkonnosti programů, optimalizace programů. Pravidla pro psaní přenositelných programů.
Garant předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Zajišťuje ústav
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 modulárních programů v C.
Cíle předmětu
Cílem je seznámit studenty s jazykem ISO C a 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.
Požadované prerekvizitní znalosti a dovednosti
Základy programování a algoritmizace.
Literatura studijní
- Herout, P.: Učebnice jazyka C, 4. vydání, Kopp, 2004, ISBN 80-7232-220-6
- Harbison S., Steele G.: C: Referenční příručka jazyka C, Science, 1996, ISBN 80-901475-50
- Eckel, B.: Myslíme v jazyku C++, GRADA, 2000, ISBN:80-247-9009-2
- Eckel, B.: Thinking in C++, Volume 1: Introduction to Standard C++, 2nd edition, Prentice-Hall, 2000, ISBN:0139798099, [dostupné elektronicky na WWW]
- Materiály na WWW stránce předmětu IJC
Literatura referenční
- Kernighan, B., Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989, ISBN 0-13-110362-8
- Harbison S., Steele G.: C: A Reference Manual, Fifth Edition, Prentice Hall, 2002, ISBN 0-13-089592-X
- Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997, ISBN: 0201889544
- Eckel, B.: Thinking in C++, Volume 1: Introduction to Standard C++, 2nd edition, Prentice-Hall, 2000, ISBN:0139798099
Osnova přednášek
- Úvod, organizace studia. Charakteristika jazyka C (K&R, ANSI C, ISO C90, ISO C99). Příklady programů v C.
- 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ů.
Průběžná kontrola studia
Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.
Kontrolovaná výuka
domácí úlohy