Programování v C
Popis:
Úvodní lekce
Cíl lekce
Cílem léto lekce je vás seznámit s organizací výukového kurzy a požadavky na udělení zápočtu.
Po absolvování lekce budete:
- vědět, jaké lekce kurz obsahuje a kdy by jste je měli absolvovat
- vědět, kdy odevzdat samostatné práce
- vědět, jaké jsou požadavky na udělení zápočtu z předmětu "Programování v C"
Časová náročnost lekce: 30 minut
Pro zdárné absolvováni kurzu "Programování v C" jsou vhodnými základními předpoklady znalosti z předmětu ALDS1, ALDS2. Dále jsou vhodné znalosti z předmětu ARPOC. hlavně z oblasti dělení a organizace pamětí, práce procesoru.
Poznámka: v databázi "Student" je kurz pro distanční studium pojmenován XPROl. Stejně jako ostatní distanční kurzy je na první místo v názvu vloženo písmeno X. Důvodem je potřeba odlišit distanční kurzy od běžné prezenční formy.
Cílem kurzu "Programování v C" je rozšířit si znalostí programování a algoritmizace a to aplikací na konkrétní, komerčně velmi rozšířený a využívaný programovací jazyk C. Po absolvování kurzu budete umět vytvářet programy a jednoduché aplikace v tomto jazyku. Získané znalosti využijete v návazných předmětech PROC2 (Programování v C++) i v předmětech JAVA1 a JAVA2. Dovednosti a znalosti z jazyka C uplatníte rovněž například ve skriptovacích jazycích, jako je JavaScript.
Název kurzu: Programování v C
Zkratka kurzu: XPRO1
Nutné předpoklady": -
Doporučený ročník: druhý
Semestr: zimní
Počet kreditů: 6
Zakončení: zápočet
Tutor: Mgr. Rostislav Fojtík
Týdenní rozsah hodin: 2+2 (přednáška-seminář, jen pro prezenční studium)
Katedra: KIP (Katedra informatiky a počítačů)
Fakulta: Přírodovědecká
Komunikace mezí všemi účastníky kurzu je velmi důležitá. Pro její zajištění slouží následující způsoby:
• e-mail - elektronická pošta. Adresa vyučujícího (lektora kurzu) je rostislav.fojtik@osu.cz. Je důležité, aby studenti během semestru neměnili své e-mailové adresy!
• elektronická konference
Klíčová slova:
lekce
struktury
funkce
preprocesor
pointery
řetězce
bitová pole
překlady
Obsah:
- Obsah
Úvodní lekce 8
Cíl lekce 8
Samostatné práce 9
Podmínky udělení zápočtu 9
Obsah kurzu 9
Literatura 10
Shrnutí lekce 10
Úvod do programovacího jazyka C 11
Cíl lekce 11
Vstupní test 11
Stručná historie jazyka C 12
Způsob zpracování programu 12
Základní informace 13
Jednoduché datové typy 13
Kontrolní úkol 14
Typová konverze 14
Jednoduché operátory 14
Ukázka programu 16
Příklady 17
Opakovací test 18
Shrnutí učiva 19
Rejstřík 19
Základní řídící struktury 20
Cíl lekce 20
Vstupní test 20
Vstup a výstup 21
Bloky příkazů 22
Podmínky 22
Vícenásobná podmínka 23
Cykly 24
Příkazy skoků 24
Kontrolní úkol 25
Příklady 26
Opakovací test 28
Shrnutí učiva 29
Rejstřík 30
Funkce 31
Cíl lekce 31
Vstupní test 31
Rekurzivní funkce 33
Procedury 33
Parametry funkcí 34
Kontrolní úkol 34
Příklady 35
Opakovací test 37
Shrnutí učiva 38
Rejstřík 38
Preprocesor 39
Cíl lekce 39
Vstupní test 39
Vkládání souborů 40
Makra bez parametrů 40
Makra s parametry 40
Podmíněný překlad 42
Hlavičkové soubory 42
Kontrolní úkol 42
Příklady 43
Opakovací test 44
Shrnutí učiva 45
Rejstřík 45
Pointery 46
Cíl lekce 46
Vstupní test 46
Kontrolní úkol 47
Funkce a pointery 47
Pointerová aritmetika 49
Dynamická alokace paměti 49
Příklady 50
Opakovací test 51
Shrnutí učiva 52
Rejstřík 53
Jednorozměrné pole 54
Cíl lekce 54
Vstupní test 54
Statické pole 55
Dynamické pole 55
Pole jako parametr funkce 56
Kontrolní úkol 56
Příklady 56
Opakovací test 59
Shrnutí učiva 60
Rejstřík 60
Vícerozměrná pole 61
Cíl lekce 61
Vstupní test 61
Dvourozměrné statické pole 62
Pole pointerů 63
Pointer na pole 63
Pointer na pointer 63
Dvourozměrné pole jako parametr funkce 64
Inicializace polí 64
Příklady 64
Opakovací test 65
Shrnutí učiva 66
Rejstřík 66
Práce s řetězci 67
Cíl lekce 67
Vstupní test 67
Základní informace o práci s řetězci 68
Funkce pro práci s řetězci 69
Čtení a výpis řetězců 69
Příklady 70
Opakovací test 70
Shrnutí učiva 71
Rejstřík 71
Struktury, uniony a výčtové typy 72
Cíl lekce 72
Vstupní test 72
Struktury 73
Sturktury a funkce 75
Union 76
Výčtový typ 77
Příklady 78
Opakovací test 79
Shrnutí učiva 80
Rejstřík 80
Oddělený překlad. Paměťové třídy 81
Cíl lekce 81
Vstupní test 81
Paměťové třídy 82
Auto 82
Extern 82
Static 83
Registr 83
Příklady 85
Příklady 85
Opakovací test 85
Rejstřík 86
Práce se soubory 87
Cíl lekce 87
Vstupní test 87
Formátované čtení a zápis dat 89
Neformátované čtení a zápis dat 89
Zpracování po jednom znaku 89
Zpracování po blocích 89
Zpracování po řádcích 90
Přímý přístup 91
Možnosti bufferování 91
Příklady 92
Opakovací test 92
Shrnutí učiva 93
Rejstřík 93
Další možnosti jazyka C 94
Cíl lekce 94
Vstupní test 94
Parametry funkce main 95
Funkce s proměnným počtem argumentů 96
Bitové operace 98
Bitový součin 98
Bitový součet 98
Bitový exkluzivní součet 98
Operace bitového posunu 98
Negace bit po bitu 98
Bitová pole 98
Příklady 100
Opakovací test 100
Shrnutí učiva 101
Rejstřík 102
O souborech cookie na této stránce
Soubory cookie používáme pro funkční účely, pro shromažďování a analýzu informací o výkonu a používání stránky.