PB071 Úvod do jazyka C

Fakulta informatiky
jaro 2004
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í)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Ondřej Blažek (cvičící)
Mgr. Zbyněk Diviš (cvičící)
Mgr. Jakub Ďurovec (cvičící)
Mgr. Jan Hegr (cvičící)
RNDr. Lukáš Hejtmánek, Ph.D. (cvičící)
Mgr. Filip Höfer (cvičící)
Mgr. Věroslav Kaplan, Ph.D. (cvičící)
Mgr. Vít Klouček (cvičící)
Mgr. Aleš Kosina (cvičící)
Mgr. Petr Kotlář (cvičící)
Mgr. Tomáš Kratochvíla (cvičící)
Mgr. Peter Krutý (cvičící)
Mgr. Milan Matlák (cvičící)
Mgr. Juraj Michálek (cvičící)
Mgr. Jiří Mikulášek (cvičící)
doc. Mgr. Bc. Vít Nováček, PhD (cvičící)
RNDr. Jan Pavlovič, Ph.D. (cvičící)
Mgr. Bc. Miroslav Prýmek (cvičící)
RNDr. Marek Rychlý, Ph.D. (cvičící)
Mgr. Jiří Sedláček (cvičící)
Mgr. Pavel Šafář (cvičící)
Mgr. Martin Šárfy (cvičící)
Jiří Unčovský (cvičící)
Bc. Karel Vaigl (cvičící)
RNDr. Aleš Zlámal (cvičící)
Garance
doc. Ing. Jan Staudek, CSc.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: Ing. Jan Kučera
Rozvrh
Po 16:00–17:50 D3, Po 16:00–17:50 D1
  • Rozvrh seminárních/paralelních skupin:
PB071/01: Po 18:00–18:50 B117, J. Kučera
PB071/02: Po 19:00–19:50 B117, L. Hejtmánek
PB071/03: Út 12:00–12:50 B117, V. Nováček
PB071/04: Út 13:00–13:50 B117, J. Pavlovič
PB071/05: Út 14:00–14:50 B117, Z. Diviš
PB071/06: Út 15:00–15:50 B117, M. Matlák
PB071/07: Út 16:00–16:50 B116, A. Zlámal
PB071/08: Út 17:00–17:50 B116, J. Ďurovec
PB071/09: Út 18:00–18:50 B116, M. Prýmek
PB071/10: Út 19:00–19:50 B116, P. Šafář
PB071/11: St 8:00–8:50 B116, J. Kučera
PB071/12: St 9:00–9:50 B116, J. Unčovský
PB071/13: St 10:00–10:50 B116, J. Kučera
PB071/14: St 11:00–11:50 B116, A. Kosina
PB071/15: St 12:00–12:50 B117, M. Rychlý
PB071/16: St 13:00–13:50 B117, F. Höfer
PB071/17: Čt 8:00–8:50 B116, J. Mikulášek
PB071/18: Čt 9:00–9:50 B116, P. Kotlář
PB071/19: Čt 12:00–12:50 B116, V. Kaplan
PB071/20: Čt 13:00–13:50 B116, O. Blažek
PB071/21: Čt 18:00–18:50 B116, J. Michálek
PB071/22: Čt 19:00–19:50 B116, N. Beneš
PB071/23: Pá 8:00–8:50 B117, T. Kratochvíla
PB071/24: Pá 9:00–9:50 B117, V. Klouček
PB071/25: Pá 10:00–10:50 B117, M. Šárfy
PB071/26: Pá 11:00–11:50 B117, J. Hegr
PB071/27: Út 15:00–15:50 B116, M. Šárfy
PB071/28: Út 14:00–14:50 B116, P. Krutý
Předpoklady
! I071 Úvod do jazyka C
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í proíhají pod Unixem.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
V předmětu se student naučí psát programy v jazyce C podle normy ANSI. 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.
  • Pole a ukazatele.
  • Funkce (styl K-R a styl ANSI). Další rozdíly mezi K-R C a ANSI C. Program v C jako podprogram volaný z 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. a Dennis M. RITCHIE. Programovací jazyk C. 2. vyd. Bratislava: Alfa, 1989, 249 s. ISBN 80-05-00154-1. info
  • 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!
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ů). 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 zejména tehdy, probíhá-li cvičení 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
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 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, 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.