Aller au contenu

C/Fampidirana

Avy amin'i Wikibooks
< C

Tantara

[hanova]

Fiforonana

[hanova]

Ny fiteny C dia noforonina tao amin'ny Bells Labs tamin'ny taona 1972 nataon'i Dennis Ritchie mba hamelana ny fanoratana ny rafitra fiasana UNIX, izay novolavolain'i Ken Thompson sy Dennis Ritchie.

Ny rafitra fiasana UNIX, izay teraka tamin'ny faran'ny taona 1960 - fiandohan'ny taona 1970, dia nosoratana mivantana tamin'ny fiteny assembler ho an'ny milina izay natao ho azy. Na dia ahafahana manoratra rafitra toy izany aza ny fiteny assembler, dia mbola sarotra ny nampiasa azy. Io fiteny io dia mifamatotra amin'ny karazana processeur iray, ka noho izany, tsy maintsy nosoratana indray ny rafitra manontolo mba hahafahana mampiasa azy amin'ny maritrano vaovao. Izany no nahatonga ny mpamorona lehibe azy, Ken Thompson, te hampiasa fiteny mandroso kokoa mba hanoratana indray ny UNIX.

Amin'ireo fiteny nisy tamin'izany fotoana izany, ny BCPL (ho an'ny Basic Combined Programming Language, izay fanatsorana ny Combined Programming Language), noforonin'i Martin Richards tamin'ny 1966, dia nisy tombony. Tsy miditra amin'ny fanazavana amin'ny antsipiriany, ny BCPL dia fiteny tsotra, procedurale, ary tsy misy karazana. Ny fahatsorany dia nahafahana namorona mora foana ny mpandika BCPL tamin'ireo milina tamin'izany fotoana izany, izay mbola tena voafetra ny loharanon-karena (ny ordinatera voalohany nampiasain'i Ken Thompson hanombohana ny Unix dia PDP-7, izay nanana fitadidiana 4000 teny 18 bits, na latsaky ny 9 Ko). I Ken Thompson dia nampivelatra azy mba hamorona ny fiteny B, izay nampihariny tamin'ireo milina UNIX voalohany. Na izany aza, ny fetra sasany tamin'ny fiteny B no nahatonga ny UNIX tsy ho voasoratra indray tamin'izany fiteny izany.

Nanomboka tamin'ny 1971, Dennis Ritchie dia nampivelatra ny B, mba hamahana ireo olana ireo. Toy ny mpandrindra programa izay mampiakatra ny dikan-teny amin'ny programa-ndry zareo, Ritchie dia "nampiakatra" ny taratasy B ho amin'ny fiteny vaovao C. Io fampivoarana io dia "niorina" manodidina ny taona 1973, izay taona nanoratana indray tamin'ny C ny UNIX sy ny fitaovana UNIX rehetra.

Fampandrosoana

[hanova]

Avy eo tamin'ny 1978, Brian W. Kernighan dia nandrakitra mavitrika ny fiteny, ary farany namoaka niaraka tamin'i Ritchie ny boky fototra The C Programming Language. Matetika antsoina hoe C K&R ny fiteny araka ny voalaza ao amin'ny dikan-teny voalohany amin'io boky io.

Tao anatin'ny taona manaraka, ny fiteny C dia naparitaka tamin'ny milina maro hafa. Ireo fanapariahana ireo dia matetika natao tamin'ny voalohany, avy amin'ny mpandika pcc an'i Steve Johnson, fa taty aoriana, mpandika vaovao no novolavolaina tsy miankina. Nandritra ireo taona ireo, ny mpandika C tsirairay dia nosoratana nanaraka ny fepetra napetraky ny K&R, saingy ny sasany dia nanampy fanitarana, toy ny karazana angona na fiasa fanampiny, na nandinika fomba hafa ireo faritra sasany amin'ny boky (izay mety tsy mazava tsara). Noho izany, lasa sarotra kokoa ny manoratra programa amin'ny C izay afaka miasa amin'ny karazana maritrano maro.

Fampanarahan-dalana

[hanova]

Mba hamahana io olana io, sy hampiditra fahafahana vaovao ilaina tao amin'ny C (ary efa nisy tamin'ny mpandika teny sasany), tamin'ny 1989, ny fikambanana nasionaly momba ny fanamarinana any Etazonia (ANSI) dia nanamafy ny C. Ny anarana feno amin'io fitsipika io dia ANSI X3.159-1989 Programming Language C, saingy fantatra (ary mbola fantatra) amin'ny anarana ANSI C na C89. Avy eo ny ANSI dia nanolotra io fitsipika io tamin'ny Fikambanana Iraisam-pirenena momba ny Fanamarinana (na ISO), izay nanaiky azy tamin'ny endriny teo ary namoaka azy ny taona manaraka tamin'ny laharana ISO/IEC 9899:1990 (ny antontan-taratasy dia fantatra amin'ny anarana hoe ISO C90, na C90). Noho ny filana maika dia maika ny fanamarinana tamin'izany fotoana izany, saika ny mpanoratra mpandika teny C rehetra tamin'izany fotoana izany dia nanomboka nanova ny mpandika teny azy ireo mba hifanaraka amin'ny fitsipika (ary tsy niandry akory ny famoahana ofisialy vao nanomboka ireo fanovana ireo), ary noho izany dia saika ny fampiharana rehetra misy ankehitriny dia ahitana ireo fitsipika ireo. Namoaka fitambaran-panitsiana roa ny ISO tamin'ny taona manaraka, ary fanitsiana iray ho an'ny fitantanana ny litera iraisam-pirenena. Noho ny fahasamihafana lehibe tamin'ireo fampiharana nisy tamin'ny fotoana namolavolana ny fitsipika, ary ny foto-kevitry ny fifanarahana izay mifototra amin'ny dingana fanamarinana, ny fitsipika C dia fifanarahana. Ny tanjony dia indrindra roa: ny voalohany dia ny miantoka araka izay azo atao ny azo afindrafindra amin'ny kaody C, mba hanamora ny fampifanarahana ny fandaharana C amin'ny fampiharana iray mankany amin'ny iray hafa (izay matetika dia nofy ratsy ny fanatanterahana azy), ary ny faharoa dia ny manome fahalalahana ho an'ireo mpanoratra mba hanolotra fanampiny manokana. Mba hanatanterahana izany, ny fitsipika dia namaritra ambaratonga fifanarahan-dalàna ho an'ny fandaharana C sy ny fampiharana, manomboka amin'ny fandaharana mifanaraka tanteraka, izay tsy maintsy ekena amin'ny fampiharana rehetra, ary hiasa mitovy tanteraka, hatramin'ny fandaharana miankina amin'ny fanampiny. Azo marihina fa ny bokin'i Kernighan sy Ritchie dia naverina navoaka tamin'ny famoahana faharoa, mba hanehoana ny fiovana tao amin'ny C89.

Torolàlana Fototra amin'ny Fiteny C

[hanova]

Ny fiteny C dia fiteny fandaharana ambany-fomba, ary dia iray amin'ireo fiteny fandaharana fototra izay mbola ampiasaina betsaka amin'ny rindrambaiko sy rafitra. Ity pejy ity dia manome topi-maso fohy momba ny endri-javatra fototra amin'ny fiteny C.

Firafitry ny Fandaharana C

[hanova]

Fandaharana tsotra amin'ny C dia ahitana ny fanambarana #include, ny fanambarana main(), ary ny kaody anatiny.

#include <stdio.h>

int main() {
    printf("Salama, izao tontolo izao!\\n");
    return 0;
}

ova sy Karazana Angona

[hanova]

Ny ova dia ampiasaina hitahirizana sanda, ary ny karazana angona dia mamaritra ny karazana angon-drakitra izay azo tehirizina ao amin'ny fanova.

  • isa : Ho an'ny isa manontolo.
  • float : Ho an'ny isa desimaly.
  • tarehintsoratra : Ho an'ny tarehintsoratra tokana.
  • lehibe : Ho an'ny isa desimaly manana mazava tsara kokoa.
int isa = 10;
float hafanana = 36.6;
char tarehintsoratra = 'A';
double lehibe = 123.456;

Fanehoana Hafatra amin'ny Ecran

[hanova]

Mampiasa ny printf() ianao amin'ny fampisehoana hafatra amin'ny efijery.

printf("Ny isa dia %d\\n", isa);
printf("Ny hafanana dia %f\\n", hafanana);
printf("Ny tarehintsoratra dia %c\\n", tarehintsoratra);

Fepetra sy Fanapahan-kevitra

[hanova]

C dia manohana ny fanapahan-kevitra amin'ny alalan'ny fampiasana raha, raha-tsy izany, ary raha hafa koa.

int isa = 20;

if (isa > 10) {
    printf("Lehibe ny isa.\\n");
} else {
    printf("Kely ny isa.\\n");
}

Verimberina amin'ny C

[hanova]

Ny boribory dia ampiasaina amin'ny famerimberenana ny asa iray na maro. Ny C dia manana ho an'ny, mbola, ary raha mbola boribory.

for (int i = 0; i < 5; i++) {
    printf("Isan'ny: %d\\n", i);
}
int i = 0;
while (i < 5) {
    printf("Isan'ny: %d\\n", i);
    i++;
}
int i = 0;
do {
    printf("Isan'ny: %d\\n", i);
    i++;
} while (i < 5);

Lefa (Functions)

[hanova]

Fomba dia ampiasaina hamoronana asa iray na maro izay azo ampiasaina imbetsaka.

int fanampiana(int a, int b) {
    return a + b;
}

int main() {
    int valiny = fanampiana(3, 4);
    printf("Ny valiny dia: %d\\n", valiny);
    return 0;
}

Andian-tsoratra (Arrays)

[hanova]

Andian-tsoratra dia lisitra na andian-tsoratra mitovitovy karazana.

int isa[5] = {1, 2, 3, 4, 5};
printf("Ny voalohany dia %d\\n", isa[0]);

Mpampitohy (Pointers)

[hanova]

Mpampitohy dia fanova izay mitahiry ny adiresin'ny fanova hafa.

int isa = 10;
int *p = &isa;
printf("Ny sanda dia %d\\n", *p);

Fehiny

[hanova]

Ny fiteny C dia fototra sy matanjaka izay miasa tsara amin'ny fananganana rindrambaiko sy rafitra. Ny fahatakarana ny fototry ny fiteny C dia zava-dehibe amin'ny famoronana rindranasa tsara sy mahomby.