The C Programming Language

ANSI C

Brian W. Kernighan, Dennis M. Ritchie

Publisher: Prentice Hall, 1989, 283 pages

ISBN: 91-970296-45

Keywords: Programming

Last modified: April 12, 2022, 9:30 p.m.

Från förordet

Vi har försökt att behålla den första utgåvans korthet. C är inget "tungt" språk och tjänar inget på en tung bok. Vi har även förbättrat behnadlingen av för C-programmering centrala egenskaper, som t ex pekare. Vi har förfinat exemplenoch i flera kapitel lagt till nya. Behandlingen av komplicerade deklarationer är förbättrad med program som omvandlar deklarationer till klartext, och vice versa.

Som vi sade i den första utgåvan så tillåts man växa med C. Med ett årtiende av mer erfarenhet står vi fortfarande fast vid detta. Vi hoppas att denna bok skall hjälpa dig att lära C och bruka det väl.

Texten i denna svenska utgåva ansluter sig till den slutliga ANSI standarden för C. Referenshandboken i appendix A är dock inte själva standarden, utan vårt försök att överföra väsentligheterna till en mer kompakt form. Den är avsedd att vara lättläst av programmerare, men inte som en definition för kompilatorutvecklare — den rollen tillfaller själva standarden.

  1. En orientering
    1. Komma ihåg
    2. Variabler och aritmetiska uttryck
    3. For-satsen
    4. Symboliska konstanter
    5. In- och utmatning av tecken
      1. Filkopiering
      2. Att räkna tecken
      3. Att räkna rader
      4. Att räkna ord
    6. Vektorer
    7. Funktioner
    8. Argument — Värdeanrop
    9. Teckenvektorer
    10. Externa variabler och räckvidd
  2. Typer, operatorer och uttryck
    1. Variabelnamn
    2. Datatyper och storlekar
    3. Konstanter
    4. Deklarationer
    5. Aritmetiska operatorer
    6. Relationsoperatorer och logiska operatorer
    7. Typomvandlingar
    8. Öknings- och minskningsoperatorer
    9. Bitvisa Operatorer
    10. Tilldelningsoperatorer och uttryck
    11. Villkorsuttryck
    12. Precedens och evalueringsordning
  3. Flödeskontroll
    1. Satser och block
    2. If-else
    3. Else-if
    4. Switch
    5. Slingor While och For
    6. Slingor Do - while
    7. Break och Continue
    8. Goto och etiketter
  4. Funktioner och programstruktur
    1. Introducktion till funktioner
    2. Funktioner som returnerar icke-heltal
    3. Externa variabler
    4. Regler för räckvidd
    5. Huvudfiler
    6. Statiska variabler
    7. Registervariabler
    8. Blockstruktur
    9. Initiering
    10. Rekursion
    11. C-preprocessorn
      1. Filinkludering
      2. Makrosubstitution
      3. Villkorlig inkludering
  5. Pekare och vektorer
    1. Pekare och adresser
    2. Pekare och funktionsargument
    3. Pekare och vektorer
    4. Adressaritmetik
    5. Teckenpekare och funktioner
    6. Vektorer av pekare, pekare till pekare
    7. Flerdimensionella vektorer
    8. Initiering av pekarvektorer
    9. Pekare kontra flerdimensionella vektorer
    10. Kommandoradsargument
    11. Pekare till funktioner
    12. Komplicerade deklarationer
  6. Poster
    1. Grundläggande om poster
    2. Poster och funktioner
    3. Vektorer av poster
    4. Pekare till poster
    5. Självrefererande poster
    6. Tabellslagning
    7. Typedef
    8. Unioner
    9. Bitfält
  7. In- och utmatning
    1. Standard in- och utmatning
    2. Formaterad utmatning — printf
    3. Argumentlistor va variabel längd
    4. Formaterad inmatning — scanf
    5. Komma åt filer
    6. Felhantering stderr och exit
    7. In- och utmatning av rader
    8. Diverse funktioner
      1. Strängoperationer
      2. Test av teckenklass och teckenomvandling
      3. Ungetc
      4. Kommandoexekvering
      5. Lagringshantering
      6. Matematiska funktioner
      7. Slumptalsgenerering
  8. Gränssnittet mot UNIX
    1. Fildeskriptorer
    2. In/ut på lågnivå — Read och Write
    3. Open, Creat, Close, Unlink
    4. Godtycklig åtkomst — Lseek
    5. Exempel ­— en implementation av fopen och getc
    6. Exempel — att lista kataloger
    7. Exempel — en utrymmestilldelare
  1. Referenshandbok
    1. Introduktion
    2. Lexikaliska konventioner
      1. Symboler
      2. Kommentarer
      3. Identifierare
      4. Nyckelord
      5. Konstanter
      6. Heltalskonstanter
      7. Teckenkonstyanter
      8. Flyttalkonstanter
      9. Uppräkningskonstanter
      10. Strängliteraler
    3. Syntaxnotation
    4. Betydelsen av identifierare
      1. Lagringsklasser
      2. Grundläggande datatyper
      3. Härledda datatyper
      4. Kvalificerare för datatyper
    5. Objekt och Lvärden
    6. Typomvandlingar
      1. Heltalsbefordring
      2. Heltalsomvandling
      3. Heltal och flyttal
      4. Flyttalsdatatyper
      5. Aritmetiska omvandlingar
      6. Pekare och heltal
      7. Void
      8. Pekare till void
    7. Uttryck
      1. Pekargenerering
      2. Primära uttryck
      3. Postfix-uttryck
        1. Vektorreferenser
        2. Funktionsanrop
        3. Postreferenser
        4. Postfixa ökningsoperatorer
      4. Unära operatorer
        1. Prefixa ökningsoperatorer
        2. Adressoperatorer
        3. Indirekt referensoperator
        4. Unär plusoperator
        5. Unär minusoperator
        6. Ett-komplementsoperator
        7. Logisk negationsoperator
        8. Sizeof-operator
      5. Typomvandlare
      6. Multiplikativa operatorer
      7. Additativa operatorer
      8. Skiftoperatorer
      9. Relationsoperatorer
      10. Likhetsoperatorer
      11. Bitvis OCH-operator
      12. Bitvis exkluderande ELLER-operator
      13. Bitvis inkluderande ELLER-operator
      14. Logisk OCH-operator
      15. Logisk ELLER-operator
      16. Villkorsoperator
      17. Tilldelningsuttryck
      18. Kommaoperator
      19. Konstanta uttryck
    8. Deklarationer
      1. Lagringsklasspecificerare
      2. Datatypspecificerare
      3. Post- och unionsdeklarationer
      4. Uppräkningar
      5. Deklaratorer
      6. Betydelsen av deklaratorer
        1. Pekardeklaratorer
        2. Vektordeklaratorer
        3. Funktionsdeklaratorer
      7. Initiering
      8. Typnamn
      9. Typedef
      10. Typ-ekvivalens
    9. Satser
      1. Etikett-satser
      2. Uttryckssatser
      3. Sammansatta satser
      4. Urvalssatser
      5. Iterativa satser
      6. Hoppsatser
    10. Externa deklarationer
      1. Funktionsdefinitioner
      2. Externa deklarationer
    11. Giltighetsområde och koppling
      1. Lexikalt giltighetsområde
      2. Koppling
    12. Preprocessning
      1. Trigrafer
      2. Radskarvning
      3. Makrodefinition och expansion
      4. Filinkludering
      5. Villkorlig kompilering
      6. Radkontroll
      7. Felgenerering
      8. Pragma
      9. Null-direktiv
      10. Fördefinierade namn
    13. Grammatik
  2. Standardbiblioteket
    1. In- och utmatning: <stdio.h>
      1. Filoperationer
      2. Formaterad utmatning
      3. Formaterad inmatning
      4. In- och utmatningsfuktioner för tecken
      5. Direkta in- och utmatningsfunktioner
      6. Filpositioneringsfunktioner
      7. Felfunktioner
    2. Tester på teckenklass: <ctype.h>
    3. Strängfunktioner: <string.h>
    4. Matematiska funktioner: <math.h>
    5. Nytto-funktioner: <stdlib.h>
    6. Diagnostik: <assert.h>
    7. Variable argumentlistor: <stdarg.h>
    8. Icke-lokala hopp: <setjmp.h>
    9. Signaler: <signal.h>
    10. Datum- och tidsfunktioner: <time.h>
    11. Implementationsdefinierade gränser: <limits.h> <float.h>
  3. Sammanfattning av ändringar

Reviews

The C Programming Language - Swedish translation

Reviewed by Roland Buresund

Decent ****** (6 out of 10)

Last modified: April 12, 2022, 9:34 p.m.

Considering the age of the book, and the relatively Ok translation (even if the typography gets you sometimes), I have to give it an OK rating.

But if you really need to learn C, read the original instead.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required