PB071 Úvod do jazyka C

Fakulta informatiky
jaro 2010
Rozsah
2/2. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
Ing. Jan Kučera (přednášející)
doc. RNDr. Petr Švenda, Ph.D. (přednášející)
Mgr. Ondřej Bouda (cvičící)
Mgr. Pavel Černohorský (cvičící)
Mgr. Jan Hegr (cvičící)
Martin Hradil (cvičící)
Mgr. Eva Michálková (cvičící)
RNDr. Ondřej Strnad, Ph.D. (cvičící)
RNDr. Šimon Tóth (cvičící)
RNDr. Aleš Zlámal (cvičící)
RNDr. Mgr. Jaroslav Bayer (pomocník)
Garance
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: Ing. Jan Kučera
Rozvrh
Po 12:00–13:50 D3
  • Rozvrh seminárních/paralelních skupin:
PB071/01: Po 16:00–16:50 B116, P. Černohorský
PB071/02: Po 17:00–17:50 B116, O. Strnad
PB071/03: Čt 14:00–14:50 B116, O. Strnad
PB071/04: Čt 15:00–15:50 B116, O. Bouda
PB071/05: Út 14:00–14:50 B117, J. Kučera
PB071/06: Út 15:00–15:50 B117, E. Michálková
PB071/07: Čt 10:00–10:50 B117, P. Švenda
PB071/08: Čt 11:00–11:50 B117, P. Švenda
PB071/09: Pá 10:00–10:50 B117, A. Zlámal
PB071/10: Pá 11:00–11:50 B117, P. Černohorský
PB071/11: Po 16:00–17:50 B130, M. Hradil, Š. Tóth
PB071/12: Po 18:00–19:50 B130, P. Švenda, Š. Tóth
PB071/13: Čt 16:00–17:50 B130, M. Hradil, Š. Tóth
PB071/14: Čt 18:00–19:50 B130, M. Hradil, Š. Tóth
PB071/15: Út 12:00–12:50 B116, A. Zlámal
PB071/16: Út 13:00–13:50 B116, A. Zlámal
PB071/17: Čt 14:00–14:50 B117, A. Zlámal
PB071/18: Čt 15:00–15:50 B117, A. Zlámal
Předpoklady
U studentů se předpokládá znalost algoritmizace v Pascalu, případně jiném programovacím jazyce. Současně se předpokládá znalost operačního systému Unix na uživatelské úrovni, neboť cvičení probíhají pod Unixem.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
V předmětu se student naučí psát programy v jazyce C podle norem ANSI a ISO/IEC. Jazyk je probrán dost podrobně, ale ne zcela vyčerpávajícím způsobem. Důraz je kladen na praktickou práci studentů pod OS typu Unix.
Osnova
  • Historické návaznosti jazyka C. Jeho vztah k operačnímu systému Unix.
  • Překladače jazyka C pod Unixem a MS-DOS/MS-Windows.
  • Datové typy, konstanty, deklarace, výrazy. Přiřazovací výrazy a příkazy.
  • Základní struktura programu. Příkazy preprocesoru. Komentáře.
  • Relační výrazy a řídicí struktury.
  • Nejdůležitější V/V příkazy. Základní formátovací řetězce.
  • Textové řetězce a manipulace s nimi. Standardní knihovna jazyka C podle norem ANSI a ISO/IEC.
  • Pole a ukazatele.
  • Funkce (styl K-R a styl ANSI). Další rozdíly mezi K-R C, ANSI C a ISO/IEC C. Program v C jako podprogram volaný z shellu operačního systému.
  • Uživatelské typy. Operátory dereference. Alokace paměti.
  • Další možnosti V/V. Práce se soubory.
  • Bezpečné programování. Jak se vyvarovat obvyklých chyb.
  • Volání služeb jádra Unixu. Další unixovské knihovny pro C.
Literatura
  • Kernighan, Brian W. - Ritchie, Dennis M. Programovací jazyk C. Brno: Computer Press, 2006. ISBN 80-251-0897-X
  • HEROUT, Pavel. Učebnice jazyka C. 3. upr. vyd. České Budějovice: KOPP, 1996, 269 s. ISBN 80-85828-21-9. info
  • HEROUT, Pavel. Učebnice jazyka C. České Budějovice: KOPP, 1998, 236 s. ISBN 80-85828-50-2. info
  • DRESSLER, Miroslav. Programovací jazyky GNU : volně šiřitelná programátorská prostředí : Fortran, jazyk C, Pascal, GRX, DJGPP, RHIDE, RSX, VESA, EMX, MAKE. 1. vyd. Praha: Computer Press, 1998, xix, 225. ISBN 8072260707. info
Záložky
https://is.muni.cz/ln/tag/FI:PB071!
Výukové metody
Výuka probíhá formou kombinace teoretických přednáškových lekcí s praktickými cvičeními, doplněnými samostatnými domácími programátorskými úlohami procvičujícími probranou látku z přednášek.
Metody hodnocení
Ve cvičeních studenti samostatně vytvářejí zadané programy (jeden týdně, obvykle s nutností dokončit doma nebo v počítačové učebně). Zpracování příkladů je bodováno podle předem oznámených kritérií. Doporučené ukončení předmětu je zkouška, která probíhá formou testu prováděného na počítači. Podmínkou připuštění k testu je získání zápočtu ze cvičení a samostatné úspěšné zpracování závěrečného příkladu. Klasifikace závisí na bodovém hodnocení práce ve cvičeních, kvalitě zpracovaného závěrečného příkladu a na výsledku testu.
V případě ukončení zápočtem stačí v patřičných termínech odevzdat řádně zpracované příklady zadávané v průběhu semestru. Závěrečný příklad ani test se u tohoto způsobu ukončení nevypracovává.
Účast ve cvičeních je povinná, pokud cvičící učitel nepovolí výjimku (ta se povoluje je výjimečně, zejména tehdy, kdyby cvičení muselo probíhat v počítačové učebně, kde je méně počítačů než studentů).
Navazující předměty
Informace učitele
http://www.fi.muni.cz/usr/jkucera/pb071/
Předmět je určen hlavně pro studenty, kteří chtějí později studovat předmět PB161 (Programování v jazyce C++) a nemají dostatečné základy klasického jazyka C či jeho normované verze ANSI C/ISO C.
Další informace jsou během semestru zveřejněny na webovské stránce předmětu.
Přednášejícího můžete kontaktovat osobně v místnosti B420 nebo E-mailem na adrese kuc@fi.muni.cz
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2002, jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2011, podzim 2011, jaro 2012, podzim 2012, jaro 2013, podzim 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.