Programski jezik C
Iz Wikipedije, proste enciklopedije
Prográmski jêzik C ali kar C je nizkonivojski standardizirani programski jezik, ki sta ga v zgodnjih 1970. razvila Dennis MacAlistair Ritchie in Ken Thompson iz Bellovih laboratorijev (Bell Laboratories, Bell Labs). Najprej sta razvila prevajalnik za operacijski sistem UNIX, kasneje pa se je hitro pojavil tudi na drugih operacijskih sistemih.
C velja za učinkovit jezik in primeren za sistemska opravila, ni pa najprimernejši za učenje programiranja, čeprav se pogosto pojavlja v izobraževanju. Je tudi eden od najrazširjenih programskih jezikov.
Vsebina |
[uredi] Značilnosti jezika
C je dokaj skop programski jezik, ki deluje blizu strojne opreme, in je z razliko od večine programskih jezikov bolj podoben zbirniku. Včasih ga imenujejo »prenosljivi zbirnik«, kar tudi označuje njegovo pomembno razliko od zbirniškega jezika. Kodo, napisano v C, se da prevesti in pognati na skoraj vsakem stroju. Tega ne zmore skoraj noben obstoječ programski jezik in tudi kodo, zapisano v zbirniku, lahko poženemo le na določenih vrstah strojev. C po navadi imenujejo nizkonivojski ali srednjenivojski jezik, kar označuje kako blizu strojne opreme lahko deluje.
C so naredili zaradi enega samega pomembnega namena, kar ni slučajnost, da bi bilo moč pisati velike programe z manj napakami v proceduralnem programiranju in, da pisec programov ne bi nosil bremena tvorjenja prevajalnika za C, ki ga otežujejo zapletene značilnosti jezika. V tem smislu ima C naslednje pomembne značilnosti:
- preprost jedrski jezik s pomembno funkcionalnostjo, kjer na primer matematične funkcije ali delo z datotekami omogočajo knjižniški podprogrami,
- usmeritev na proceduralno programiranje z zmožnostjo programiranja v slogu strukturalnega programiranja,
- preprost sistem podatkovnih tipov, ki obvaruje pred brezpredmetnimi operacijami,
- uporaba predprocesorskega jezika, predprocesorja C, za naloge kot so določevanje makrojev in vključevanje večkratnih datotek z izvorno kodo,
- nizkonivojski nepreverjeni dostop do računalniškega pomnilnika s pomočjo uporabe kazalcev,
- parametri, ki prehajajo v funkcije po vrednosti in ne po sklicu (referenci),
- kazalci na funkcije, ki omogočajo osnovno obliko zaprtja (closure) in polimorfizma,
- slovarsko področje spremenljivk,
- zapisi ali skupki podatkovnih tipov (
struct
), ki jih določi uporabnik, in omogočajo združevanje in upravljanje podobnih podatkov v celoti, - zelo omejena raba ukaza
else
(načelo KISS).
[uredi] PozdravljenSvet
Spodnji primer izpiše znakovni niz "Pozdravljen svet!" na standardni izhod. Navadno je standardni izhod povezan z zaslonom monitorja, lahko pa je tudi datoteka ali kakšna druga strojna naprava. Program je napisan v skladu s standardom ANSI C.
#include <stdio.h> int main(void) { printf("Pozdravljen svet!\n"); return 0; }
Sledi analiza programa po vrsticah:
#include <stdio.h>
Prva vrstica v programu je predprocesorski ukaz #include
. Pred samim prevajanjem programa predprocesor pregleda izvorno kodo in izvrši vse predprocesorske ukaze. Ti ukazi se vedno začnejo z znakom #
. Ukaz #include
povzroči, da se na njegovo mesto v izvorno kodo vključi datoteka stdio.h
, ki vsebuje standardne vhodno izhodne funkcije.
int main(void)
V naslednji vrstici se definira funkcija z imenom main
. Ta funkcija ima poseben pomen v C programih. Pri začetku izvajanja programa se najprej kliče ta funkcija. Ključna beseda int
na začetku vrstice pove, da funkcija main() vrne celo število, ključna beseda void
pa, da funkcija ne sprejme nobenih parametrov. Funkcija main
po standardu ANSI C vedno vrača vrednost, čeprav nekateri prevajalniki prevedejo kodo uspešno, četudi temu ni tako. Tudi v jeziku C++ je ta funkcija še vedno C-jevska.
{
Odprti zaviti oklepaj pomeni začetek definicije main
funkcije.
printf("Pozdravljen svet!\n");
V tej vrstici se kliče funkcija printf
, ki je deklarirana v datoteki stdio.h
. Pri tem klicu se funkciji printf poda en parameter v obliki znakovnega niza. Na koncu znakovnega niza je še posebna sekvenca \n
, ki se prevede v znak EOL (end of line). Znak je namenjen kot ukaz izhodni napravi, da postavi trenutni položaj na začetek naslednje vrstice.
return 0;
Vrstica zaključi izvajanje main
funkcije in vrne celo število 0.
}
Zaprti zaviti oklepaj pomeni zaključek definicije main
funkcije.
[uredi] Glej tudi
- C++
- C#
[uredi] Viri
- Brian Kernighan, Dennis Ritchie, The C Programming Language. Also known as K&R — The original book on C.
- 1st, Prentice Hall 1978; ISBN 0-131-10163-3. Pre-ANSI C.
- 2nd, Prentice Hall 1988; ISBN 0-131-10362-8. ANSI C.
- British Standard Institute, The C Standard, John Wiley & Sons, ISBN 0-470-84573-2. The official ISO standard (C99) in book form.
- Samuel P. Harbison, Guy L. Steele, C: A Reference Manual. This book is excellent as a definitive reference manual, and for those working on C compiler and processors. The book contains a BNF grammar for C.
- 4th, Prentice Hall 1994; ISBN 0-133-26224-3.
- 5th, Prentice Hall 2002; ISBN 0-130-89592-X.
- Robert Sedgewick, Algorithms in C, Addison-Wesley, ISBN 0-201-31452-5 (Part 1–4) and ISBN 0-201-31663-3 (Part 5)
- Al Kelley, Ira Pohl, Knjiga o C-ju: Programiranje v C-ju (A Book on C: Programming in C) (4. izdaja), ISBN 0-201-18399-4.
[uredi] Zunanje povezave
- Stran o programskem jeziku C na eŠtudentu
- http://colos1.fri.uni-lj.si/~sis/COMPUTING/C/TUTOR_C/clist.htm
- http://www.educa.fmf.uni-lj.si/izodel/sola/2001/di/Rupar/izobrazevanje/tutorc/index.html
- comp.lang.c Frequently Asked Questions by Steve Summit
- The Development of the C Language by Dennis M. Ritchie
- Programming in C (document collection at Lysator)
Glavni programski jeziki (več) | |||
Industrijski: ABAP | Ada | C | C++ | C# | COBOL | Delphi | Fortran | Java | JavaScript | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | SAS | sh | SQL | Visual Basic | Zbirnik
|