I071 Úvod do jazyka C

Fakulta informatiky
podzim 2001
Rozsah
1/1. 2 kr. (plus ukončení). Ukončení: z.
Vyučující
Ing. Jan Kučera (přednášející)
Mgr. Zbyněk Diviš (cvičící)
Bc. Martin Kubín (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
Út 11:00–11:50 D2
  • Rozvrh seminárních/paralelních skupin:
I071/01: Út 13:00–13:50 B116, A. Zlámal
I071/02: Út 13:00–13:50 B117, J. Kučera
I071/03: Út 16:00–16:50 B117, J. Kučera
I071/04: Út 17:00–17:50 B117, J. Kučera
I071/05: St 9:00–9:50 B117, J. Kučera
I071/06: St 12:00–12:50 B117, J. Kučera
I071/07: St 15:00–15:50 B117, M. Kubín
I071/08: Čt 8:00–8:50 B116, M. Kubín
I071/10: Čt 9:00–9:50 B116, Z. Diviš
I071/11: Čt 14:00–14:50 B116, K. Vaigl
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.
Předmět si smí zapsat nejvýše 150 stud.
Momentální stav registrace a zápisu: zapsáno: 0/150, pouze zareg.: 0/150, pouze zareg. s předností (mateřské obory): 0/150
Jiné omezení: Zápis je omezen na studenty, kteří si předmět zaregistrovali.
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.
  • 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
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, jaro 2001, jaro 2002.