| Název: | Jazyk C |
|---|
| Zkratka: | CPP |
|---|
| Ak.rok: | ukončen 2005/2006 |
|---|
| 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í: | Grulich Lukáš, Ing., 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. 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ů.
| | Požadované prerekvizitní znalosti a dovednosti: |
|---|
Základy programování a algoritmizace.
| | 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 2 programy v C | | 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
| | 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
| | Průběžná kontrola studia: |
|---|
domácí úlohy | | |
|