| Název: | Jazyk C |
|---|
| Zkratka: | CPP |
|---|
| Ak.rok: | ukončen 2004/2005 |
|---|
| Semestr: | zimní |
|---|
| Studijní plán: | |
|---|
| Vyučovací jazyk: | čeština |
|---|
| Informace veřejné: | http://www.fit.vutbr.cz/study/courses/CPP/public/ |
|---|
| Kredity: | 5 kreditů |
|---|
| Ukončení: | zkouška (písemná) |
|---|
| Výuka: | | hod./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 39 | 0 | 0 | 0 | 13 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 70 | 0 | 0 | 0 | 30 |
|---|
|
|---|
| Garant: | Peringer Petr, Dr. Ing., UITS |
|---|
| Přednášející: | Peringer Petr, Dr. Ing., UITS |
| Cvičící: | Vojnar Tomáš, prof. Ing., Ph.D., UITS |
|---|
| Fakulta: | Fakulta informačních technologií VUT v Brně |
|---|
| Pracoviště: | Ústav inteligentních systémů FIT VUT v Brně |
|---|
| Navazují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. | | Anotace: |
|---|
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. | | Získané dovednosti, znalosti a kompetence: |
|---|
Základní znalost programování v C, včetně práce s ukazateli a adresovou aritmetikou. Tvorba modulárních programů v C. | | 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ů.
| | Osnova ostatní - projekty, práce: |
|---|
- 2 domácí úkoly, každý obsahuje 3 programy v C
| | 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
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000
- Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
- 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
- Eckel, B.: Myslíme v jazyku C++, GRADA, 2000
| | Literatura studijní: |
|---|
- Herout, P.: Učebnice jazyka C, 3. vydání, Kopp, 1998
- Eckel, B.: Myslíme v jazyku C++, GRADA, 2000
- Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000 [dostupné elektronicky na WWW]
- Materiály na WWW u předmětu IJC
| | Průběžná kontrola studia: |
|---|
domácí úlohy | | |
|