I071 Úvod do jazyka C

Fakulta informatiky
jaro 2001
Rozsah
1/1. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
Ing. Jan Kučera (přednášející)
RNDr. Aleš Zlámal (cvičící)
RNDr. Pavel Cenek (cvičící)
Mgr. Věroslav Kaplan, Ph.D. (cvičící)
Bc. Martin Kubín (cvičící)
Bc. Karel Vaigl (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–16:50 D2, Út 13:00–13:50 B117, St 9:00–9:50 B117, St 10:00–10:50 B117, St 11:00–11:50 B117, Čt 9:00–9:50 B117, Čt 13:00–13:50 B117
  • Rozvrh seminárních/paralelních skupin:
I071/ut12: Út 12:00–12:50 B117, V. Kaplan
I071/ut13: Rozvrh nebyl do ISu vložen. J. Kučera
I071/st09: Rozvrh nebyl do ISu vložen. K. Vaigl
I071/st10: Rozvrh nebyl do ISu vložen. V. Kaplan
I071/st11: Rozvrh nebyl do ISu vložen. A. Zlámal
I071/ct09: Rozvrh nebyl do ISu vložen. P. Cenek
I071/ct13: Rozvrh nebyl do ISu vložen. M. Kubín
Předpoklady
( I001 Úvod do programování || I002 Návrh algoritmů I || U111 Návrh algoritmů pro VT II )&& P004 UNIX
U studentů se předpokládá znalost algoritmizace v jiném programovacím jazyce (většinou půjde o Pascal). Současně se předpokládá znalost operačního systému Unix na uživatelské úrovni; pokud student získal znalost operačního systému Unix jinak než v předmětu P004, může tuto znalost prokázat a požádat o výjimku.
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
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 (if, cykly, switch).
Nejdůležitější V/V příkazy (printf, scanf). 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 (struct, union, typedef). 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.
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 (if, cykly, switch).
  • Nejdůležitější V/V příkazy (printf, scanf). 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 (struct, union, typedef). 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
  • OUALLINE, Steve. Practical C programming. Sebastopol: O'Reilly & Associates, Inc., 1992, xxii, 396. ISBN 1-56592-035-X. 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
  • KERNIGHAN, Brian W. a Rob PIKE. Programové prostředí operačního systému UNIX. Veletiny: Science, 1996, 298 s. ISBN 80-901475-6-9. info
Metody hodnocení
Předmět je ukončen zápočtem, který se uděluje na základě práce ve cvičení (řešení zadaných úloh, vypracování zápočtového příkladu).
Úč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/i071/
Předmět je určen hlavně pro studenty, kteří chtějí později studovat předmět I070 (objektové programování) a nemají dostatečné základy klasického jazyka C či jeho normované verze ANSI C/ISO C.
Další informace jsou během semestru vyvěšeny na nástěnce vedle místnosti B420.
Přednášejícího můžete kontaktovat osobně v téže místnosti nebo E-mailem na adrese kuc@fi.muni.cz
Další komentáře
Předmět je vyučován každý semestr.
Předmět je zařazen také v obdobích podzim 1998, jaro 1999, podzim 1999, jaro 2000, podzim 2000, podzim 2001, jaro 2002.