korektoj; forigis la frazon lastan frazon pri kopio de FOLDOC-enhavoj post ekzameno; aprobis la paĝon
[nekontrolita versio] | [kontrolita revizio] |
Doesle (diskuto | kontribuoj) komputillingvo -> programlingvo |
Doesle (diskuto | kontribuoj) korektoj; forigis la frazon lastan frazon pri kopio de FOLDOC-enhavoj post ekzameno; aprobis la paĝon |
||
Linio 25:
* uzo de la [[C-antaŭtraktilo]] por taskoj kiel difini makroojn kaj heredi plurajn dosierojn de fontkodo.
Kvankam C estas meznivela programlingvo, ĝi dividas similaĵojn kun [[asembla programlingvo]] kaj estas malpli altnivela ol
Kelkaj el la "mankoj" de C jam
== Historio ==
La komenca prilaboro de C okazis inter 1969 kaj 1973 (laŭ Ritchie, la plej kreema periodo estis dum 1972). Ĝi nomiĝis "C", ĉar multaj propraĵoj devenas de pli frua lingvo, kiu nomiĝis [[B (programlingvo)|B]].
Antaŭ 1973, la programlingvo C estis fariĝinta sufiĉe kapabla, kaj pro tio la plejparto de la kerno de la operaciumo [[Unikso]] estis reverkita per C. Ĉi tio estis la unua fojo, ke la kerno de operaciumo estis implementita en lingvo pli altnivela ol asembla lingvo
En 1978, Ritchie kaj [[Brian Kernighan]] eldonis la libron ''The C Programming Language'' (ankaŭ konata kiel "la blanka libro", aŭ K&R.) Dum multaj jaroj, ĉi tiu libro servis kiel la normo de la lingvo; eĉ hodiaŭ, ĝi estas tre populara kiel referenco kaj lernilo.
C fariĝis tre ege populara ekster Bell Labs dum la 1980-aj jaroj, kaj ĝi estis dum iom da tempo la ĉefa lingvo en programado de aplikaĵoj. Estas ankaŭ la plej uzata lingvo en programado de sistemoj, kaj estas unu el la plej ofte uzataj lingvoj en komputila edukado.▼
▲C fariĝis
En la malfruaj 1980-aj jaroj, [[Bjarne Stroustrup]] kaj aliaj ĉe Bell Labs laboris por aldoni [[objektema programo|objektemajn]] ilojn al C. La rezulta lingvo nomiĝas [[C Plus Plus|C++]]. C++ estas nun la programlingvo plej uzata por komercaj aplikaĵoj ĉe la operaciumo [[Vindozo]]. Tamen, C restas pli populara en la Uniksa mondo. La plejparto de Linuksa sistemo, inkluzive de la kerno, estas verkita en C.
Linio 52 ⟶ 54:
* La <code>=+</code> operaciilo estis ŝanĝita al <code>+=</code>, kaj tiel plu (<code>=+</code> konfuzis la leksikan analizilon de la C-tradukilo).
Dum multaj jaroj, la unua eldono de ''The C Programming Language'' estas vaste uzata kiel
Tamen, ANSI-C estas nun subtenata de preskaŭ ĉiuj vaste uzataj tradukiloj. Multe da C-kodo nuntempe skribata uzas ilojn de la lingvoj, kiuj estas preter la originala K&R-normo.
Linio 58 ⟶ 60:
=== ANSI-C kaj ISO-C ===
En 1989, C estis unuafoje oficiale normigita de [[ANSI]] en ANSI X3.159-1989 "Programming Language C". Unu el la celoj de la ANSI-C-normigado estis produkti
* funkcioj kun rezulto <code>void</code>
Linio 66 ⟶ 68:
* datumtipo <code>void *</code> (sentipa referenco)
* valorizo por <code>struct</code>-datumtipoj
* la biblioteko <code>stdio</code> kaj
Aliaj iloj estis aldonitaj dum la ANSI-C-normigo mem, plej rimarkinde funkciaj prototipoj (prenitaj de [[C plus plus|C++]]). La ANSI-C-normo ankaŭ bazigis norman aron de bibliotekaj funkcioj.
Linio 78 ⟶ 80:
La novaj ecoj aldonitaj al C99 estas inter alia:
* ''inline functions'' (funkcioj vokataj per tekstokopio),
* libera lokado de deklaroj de variabloj (laŭ la ekzemplo de C++),
* aldono de pluraj novaj datentipoj, inkluzive de <code>long long int</code> (por pli glata transiro de 32-bitaj al 64-bitaj maŝinaroj), eksplicita [[buleo|bulea]] datentipo kaj tipo reprezentanta [[kompleksaj nombroj|kompleksajn nombrojn]]
* tabeloj de variaj longecoj,
* oficiala subteno por komentoj, kiuj komenciĝas per // kiel en C++ (jam subtenitaj de multe da C89-tradukiloj kiel ne-ANSI-a etendigo,
* <code>snprintf</code>.
== Anatomio de C-programo ==▼
C-programo konsistas el funkcioj kaj variabloj. C-funkcioj estas kiel la subrutinoj kaj funkcioj de [[Fortran (programlingvo)|Fortran]] aŭ la ordonoj kaj funkcioj de [[Pascal]]. La funkcio <code>main</code> estas speciala en tio, ke la programo komencas plenumiĝi ĉe la komenco de <code>main</code>. Ĉi tio signifas, ke ĉiu C-programo devas enhavi funkcion <code>main</code>.▼
La funkcio <code>main</code> kutime vokos aliajn funkciojn por helpi fari sian taskon, ekz. <code>printf</code> en la supra ekzemplo. La programisto povas verki iujn funkciojn kaj vokos aliajn el bibliotekoj. En la ĉi-supra ekzemplo <code>return 0</code> donas la elirstaton de la funkcio <code>main</code>. Ĉi tio signifas sukcesan plenumon de la programo al vokinta ŝelo.▼
C-funkcio konsistas el elirtipo, nomo, listo de parametroj (aŭ <code>void</code> en krampoj se estas neniu) kaj funkcia bloko. La sintakso de la funkcia bloko egalas al parenteza ordono.▼
== "Saluton, mondo!" en C ==
La jena simpla aplikaĵo printas "Saluton, mondo!" al
<syntaxhighlight lang="c">
#include <stdio.h>
Linio 100 ⟶ 110:
}
</syntaxhighlight>
▲== Anatomio de C-programo ==
▲C-programo konsistas el funkcioj kaj variabloj. C-funkcioj estas kiel la subrutinoj kaj funkcioj de [[Fortran (programlingvo)|Fortran]] aŭ la ordonoj kaj funkcioj de [[Pascal]]. La funkcio <code>main</code> estas speciala en tio, ke la programo komencas plenumiĝi ĉe la komenco de <code>main</code>. Ĉi tio signifas, ke ĉiu C-programo devas enhavi funkcion <code>main</code>.
▲La funkcio <code>main</code> kutime vokos aliajn funkciojn por helpi fari sian taskon, ekz. <code>printf</code> en la supra ekzemplo. La programisto povas verki iujn funkciojn kaj vokos aliajn el bibliotekoj. En la ĉi-supra ekzemplo <code>return 0</code> donas la elirstaton de la funkcio <code>main</code>. Ĉi tio signifas sukcesan plenumon de la programo al vokinta ŝelo.
▲C-funkcio konsistas el elirtipo, nomo, listo de parametroj (aŭ <code>void</code> en krampoj se estas neniu) kaj funkcia bloko. La sintakso de la funkcia bloko egalas al parenteza ordono.
== Vidu ankaŭ ==
|