Lisa C Näiteprogrammid C's
Käesolev lisa esitab õppematerjali tähtsamate algoritmide realisatsioonid keeles C. Programminäited on mõeldud ennekõike illustratsiooniks ja ei pretendeeri mingil juhul üldotstarbelise C-keele õpiku staatusele.
C kui keele õppimiseks peaks lisaks käesolevale õppevahendile kindlasti kasutama ka spetsiaalset õpikut (näiteks mõnd allpool viidatutest).
Järgnevad näiteprogrammid on kirjutatud silmas pidades keele standardset dialekti ja testitud GNU C kompilaatoriga (vabavara1).
C.1 Sissejuhatus
C.1.1 Lihtne tervitus
c/01/tere1.c
C.1.2 Interaktiivne tervitus
c/01/tere2.c
c/01/vahetus.c
C.1.4 Andmetüüpide kasutamise näide
c/01/andmed.c
C.2 Valikulaused
C.2.1 Kahe arvu järjestamine
c/02/sort1.c
C.2.2 Lineaarvõrrandi lahendamine
c/02/linvqr.c
C.2.3 Maksimumi leidmine
c/02/max2.c
C.2.4 Kolmnurgaülesanne
c/02/klmnrk1.c
C.3 Korduslaused
C.3.1 Tekstifaili lugemine
c/03/ridu.c
C.3.2 Korduslausete näited
c/03/summa1.c
C.3.3 Arvumassiivi järjestamine
c/03/sort2.c
C.4 Alamprogrammid
C.4.1 Protseduur ja funktsioon
c/04/alam1.c
C.4.2 Muutuja skoop ja eluiga
c/04/alam2.c
C.4.3 Alamprogrammi parameetrid
c/04/alam3.c
c/04/alg.c
C.4.5 Faktoriaalid
c/04/fakt.c
C.4.6 Hanoi tornid
c/04/hanoi.c
C.5 Algoritmide keerukus
Selle peatüki juurde programminäiteid ei ole.
C.6 Kombinatoorika
C.6.1 Järjendite genereerimine rekursiivselt
c/06/jarj_rek.c
C.6.2 Permutatsioonide genereerimine rekursiivselt
c/06/perm_rek.c
C.6.3 Kombinatsioonide genereerimine rekursiivselt
c/06/komb_rek.c
C.6.4 Järjendite genereerimine iteratiivselt
c/06/jarj_ite.c
C.7 Lineaarsed andmestruktuurid
C.7.1 Lineaarne otsing
c/07/linots.c
C.7.2 Kahendotsing
c/07/kahots.c
C.7.3 Dünaamiline mäluhaldus
c/07/dyn.c
c/07/ahel.c
C.7.5 Magasin massiivi baasil
c/07/mag1.c
C.7.6 Magasin lihtahela baasil
c/07/mag2.c
C.7.7 Järjekord massiivi baasil
c/07/jrk1.c
C.7.8 Järjekord lihtahela baasil
c/07/jrk2.c
C.8 Mittelineaarsed andmestruktuurid
C.8.1 Kahendpuu läbimine
c/08/labipuu.c
C.8.2 Kahendotsingu puu
c/08/otsipuu.c
C.8.3 Kuhjameetodil sorteerimine
c/08/sort3.c
C.8.4 Lühimad teed graafis laiuti läbmisega
c/08/lyhteed.c
C.8.5 Topoloogiline sorteerimine sügavuti läbimisega
c/08/toposort.c
Kirjandus
- Tõnis Kelder, Ülo Kaasik. Programmeerimiskeel C. Tartu Ülikool, 1989.
- C-keele standardset dialekti tutvustav materjal. Orienteeritud lugejale, kellel juba on mõningane programmeerimiskogemus. 192 lk.
- Tõnis Kelder, Ülo Kaasik. Programmeerimiskeele C standardfunktsioonide teek. Tartu Ülikool, 1990.
- Eelmise järg, kirjeldab keele standardteeki. Sobib viitematerjaliks lugejale, kes keele põhikonstruktsioone juba valdab. 96 lk.
- Viktor Leppikson. Programmeerimine C-keeles. Külim, 1997.
- Esimeste kursuste üliõpilaste tasemele orienteeritud õpik. 192 lk.
- Veiko Sinivee. Programmeerimiskeel C.
- Borland C/C++ 2.0 dialekti järgiv õppematerjal. 179 lk.
http://home.delfi.ee/~ilse/veiks/cprog/
- Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language. Prentice Hall, 1988.
- C loojate kirjutatud raamat, mille selge ja lakooniline esitus on saanud kõrgekvaliteedilise tehnilise kirjanduse etaloniks. 284 lk. Kindlasti tuleks muretseda 2. või uuem trükk, sest varasem väljaanne kirjeldab C-keele vananenud dialekti.
- 1
- http://www.gnu.org/software/gcc/gcc.html