Privacy Policy Cookie Policy Terms and Conditions C (programspråk) - Wikipedia, den fria encyklopedin

C (programspråk)

Wikipedia

C är ett av de vanligaste förekommande programspråken idag tillhörande familjen av Algol-baserade språk, utvecklat vid AT&T Bell Labs 1973. C var en utveckling av språket B som i sin tur var en utveckling av BCPL. Drivande bakom utvecklingen var Dennis M. Ritchie, som också är medförfattare till boken The C Programming Language. Av alla programspråk är kanske C det som haft störst inflytande på programvaruindustrin. Det finns knappast någon del av programvaruvärlden där C inte används eller använts. Vid tidpunkten C utvecklades förenade C en tillräckligt hög abstraktionsnivå med effektivitet. Även om grunderna i C inte alltid är enkla att förstå så klarar språket att uttrycka de mesta som andra procedurella programspråk klarar.

Att C utvecklades hand i hand med UNIX gav språket en mycket stark ställning inom UNIX-industrin, vilken hållit i sig sedan dess. C är alltjämt mycket använt i exempelvis GNU/Linux (vars kärna är skriven i C). C blev tidigt det dominerande språket för utveckling på Microsoft Windows-plattformen men har där i stor utsträckning trängts undan av C++ och Visual Basic. För inbyggda system har C alltjämt en mycket stark ställning, och för många hårdvarunära tillämpningar är C fortfarande det dominerande språket. Starkt bidragande är att C-kompilatorer finns tillgängliga för de flesta arkitekturer.

Programspråket C är standardiserat av ISO. Som alla andra ISO-standarder så revideras den regelbundet. Den första standarden blev klar år 1989 och kallas ibland C89 (officiell beteckning "ISO/IEC 9899:1990", eftersom ISO gav ut den först år 1990). År 1999 blev nästa revision av standarden klar, och den brukar kallas C99 (officiell beteckning "ISO/IEC 9899:1999").

C har legat till grunden vid utvecklingen av det objektorienterade språket C++, samt inspirerat till språk som Java, Pike och C#.

[redigera] Programexempel

"Hello, World!" i C:

#include <stdio.h>

int main(void)
{
    printf("Hello, world!");
    return 0;
}

Ett program där vi kan titta på givna intervaller av multiplikation av ett givet tal i:

#include <stdio.h>

int main (int argc, const char * argv[]) {
        int raknare, lagsta, hogsta; 
        /*
        raknare = En räknare för att hålla koll på vilken rad vi är på vid utskriften.
        lagsta = Vårt lägsta värde på i. Med detta värde på i ska utskriften starta.
        hogsta = Vårt högsta värde på i. Efter i = n ska utskriften sluta.
        */
        printf("Ange lägsta värdet på i: ");
        scanf("%i", &lagsta); /* Vad ska största värdet på i vara? */
        printf("Ange högsta värdet på i: ");
        scanf("%i", &hogsta); /* Vad ska största värdet på i vara? */
        
        printf("\n           i          i*i        i*i*i\n"
                 "============ ============ ============\n");
        
        for (raknare = lagsta; raknare <= hogsta; raknare++) { /* Uprepning av utskriften. */
                printf("%12i ", raknare); /* Utmatning av i^1. */
                printf("%12i ", raknare*raknare); /* Utmatning av i^2. */
                printf("%12i\n", raknare*raknare*raknare); /* Utmatning av i^3. */
        }
        
        return 0; /* Allt OK. Avslutar programmet. */
}

Samma program som ovan, men där vi istället anropar funktionerna kvad() och kub() föt att räkna ut i^2 och i^3:

#include <stdio.h>

int kvad(int x) { /* Kvadrerar det värde som funktionen matas med. */
        return (x * x);
}

int kub(int x) { /* Kuberar det värde som funktionen matas med. */
        return (x * x * x);
}

int main (int argc, const char * argv[]) {
        int raknare, lagsta, hogsta, kvadrat, kubik; 
        /*
        raknare = En räknare för att hålla koll på vilken rad vi är på vid utskriften.
        lagsta = Vårt lägsta värde på i. Med detta värde på i ska utskriften starta.
        hogsta = Vårt högsta värde på i. Efter i = n ska utskriften sluta.
        */
        printf("Ange lägsta värdet på i: ");
        scanf("%i", &lagsta); /* Vad ska största värdet på i vara? */
        printf("Ange högsta värdet på i: ");
        scanf("%i", &hogsta); /* Vad ska största värdet på i vara? */
        
        printf("\n           i          i*i        i*i*i\n"
                 "============ ============ ============\n");
        
        for (raknare = lagsta; raknare <= hogsta; raknare++) { /* Uprepning av utskriften. */
                printf("%12i ", raknare); /* Utmatning av i^1. */
                
                kvadrat = kvad(raknare);
                printf("%12i ", kvadrat); /* Utmatning av i^2. */
                
                kubik = kub(raknare);
                printf("%12i\n", kubik); /* Utmatning av i^3. */
        }
        
        return 0; /* Allt OK. Avslutar programmet. */
}

[redigera] Se även

[redigera] Extern länk

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu