Programmeren in C/Inhoudsopgave

  1. De compiler
    1. Wat is en doet een compiler? (preprocessor, linking, etc.)
    2. Hallo wereld
      1. Introductieprogramma demonstreert strings, functies en commentaar
      2. De verschillende statements
    3. GNU C Compiler
      1. Installatie (Windows)
      2. Installatie (Linux)
      3. Programma compileren en uitvoeren
      4. Foutmeldingen lezen
    4. Oefeningen:
      1. Foutmeldingen lezen
      2. Meerdere bestanden
      3. Bestanden uit verschillende mappen
    5. Meer informatie
  1. Stijl en structuur Goed ontwikkeld. Revisiedatum: 3 november 2009
  1. Variabelen
    1. Wat zijn variabelen?
      1. Naamgeving
      2. Definieren
      3. Const
      4. Waarde toewijzen (literals)
      5. Bereik van een variabele (scope)
      6. Conversie
    2. Oefeningen:
      1. Is dit een geldige variabelenaam? (keywords, ongeldige tekens, cijfers als eerste, spaties)
  1. Wat is een datatype?
    1. (long, short) int, char
    2. Signed en unsigned
    3. (Floating points)
    4. String
      1. Speciale karakters (bijv. tabs, newlines en ")
      2. Afbreken en aan elkaar plakken van strings
    5. Hoe wordt het opgeslagen?
      1. 2s-complement signed integer
      2. Sizeof
    6. Oefeningen:
      1. Mag deze toewijzing?
      2. Mag deze conversie?
      3. Wat gaat er verloren bij deze conversie/wat is de waarde nu?
      4. Hoe wordt deze string afgedrukt? (speciale tekens)
    7. Meer informatie
  1. Functies aanroepen
    1. Wat is een functie?
      1. Void
      2. Zichtbaar maken (include)
      3. Aanroepen
        1. Math functies?
        2. Tekst weergeven
      4. Functie binnen een functie
      5. Bereik van een functie (scope)
      6. Recursie
      7. Static functions
      8. Variabele argumentenlijsten
    2. De main() functie
    3. Een eigen functie maken
      1. Variabele argumentenlijsten
    4. Programma: Van Farenheit naar Celcius
    5. Oefeningen:
      1. Wat is de waarde van (lokale variabelen)
    6. Meer informatie
  1. In-en uitvoer met de console
    1. Placeholder codes (%d)
    2. Formatting
    3. printf, scanf, puts, getch
    4. Meer informatie
  1. Operatoren, Exprssies
    1. Basisoperatoren
      1. Optellen, aftrekken, vermenigvuldigen, delen
      2. ++prefix, postfix++
      3. Operatorvolgorde
      4. Haakjes
    2. Oefeningen:
      1. Operatorvolgorde
      2. Haakjesgebruik
      3. Pre-en post optellen etc...
    3. Meer informatie
  1. Condities
    1. IF-statement
      1. Wat is waar (!= 0) en onwaar (== 0) in C
      2. Then
      3. Else
      4. Elseif
      5. Korte ifs (a == b ? c : d)
      6. Meerdere ifs, geneste ifs en haakjes
      7. Switch
        1. Break
    2. Vergelijkingen en logische operatoren
      1. ==, !=, <, >, <=, >= (niet =< of =>)
      2. &&, ||, !
      3. Haakjes en aaneenrijgen
    3. DeMorgan's law
    4. Oefeningen:
      1. Wat is de uitkomst van...
      2. Wat wordt er afgedrukt (korte en lange IFs)
      3. Curly haakjes if .. else verwarring
    5. Meer informatie
  1. Arrays
    1. Arrays
      1. Definitie
      2. Werking
      3. Algemene toepassing op pointers
      4. String als array van characters
      5. Meerdimensionale arrays
    2. Oefeningen:
      1. ...
    3. Meer informatie
  1. Loops
    1. Soorten loops
      1. WHILE-loop
      2. DO-WHILE-loop
      3. FOR-loop
    2. Break en Continue
    3. Loop unraveling
    4. Oefeningen:
      1. Hoe vaak wordt X uitgevoerd...
    5. Meer informatie
  1. Pointers en arrays
    1. Wat is een pointer
      1. Pointers definieren
      2. Waarde toewijzen
      3. NULL
      4. Pointers naar pointers
      5. Pointer dereferencing
      6. Relatie pointer <-> array
      7. Pointers in functieargumenten
      8. Pointers en strings
      9. Sizeof van een pointer
      10. Pointer vrij maken (op NULL zetten)
    2. Operaties
      1. Adres van
      2. Rekenen met pointers
      3. Conversie
    3. Functiepointers
    4. Programma: Nette zinnen maken van input (hALlo wEreLD! -> Hallo wereld!)
    5. Oefeningen:
      1. Pointerrekenen
      2. Pointertypes
      3. Buffer overflow
    6. Meer informatie
  1. Bitsgewijze operatoren
    1. Wat doen bitsgewijze operatoren?
      1. &, |, ^, ~, <<, >>, <<<, >>>
      2. &=, |=, ~=, ^=, <<=, >>=
      3. D e waardetabellen
    2. Meer informatie
  1. Floating point
    1. Wat is een floating point getal?
      1. float, double
      2. Notatie (1.0 i.p.v. 1)
      3. Hoe wordt het opgeslagen.
      4. Conversies
      5. Inexact. Hoe ermee rekenen.
    2. Oefeningen:
      1. Hoeveel is ??? (waarbij er bijv. exactheid wordt verloren).
      2. Is het volgende gelijk: ??? (waarbij twee berekeningen op het oog hetzelfde zijn, maar qua representatie niet)
    3. Meer informatie
  1. Speciale dataconstructies
    1. Enum (equiv. aan meerdere defines)
      1. Gebruik in variabele
      2. Sizeof van een enum
    2. Struct
      1. Gebruik in variabele
      2. Sizeof van een struct
    3. Union
      1. Sizeof van een union
    4. Meer informatie
  1. Geheugenbeheer
    1. Malloc, realloc, calloc, free
    2. Oefeningen:
      1. ...?
    3. Meer informatie
  1. Header files, includes en libraries
    1. Includes
    2. Header files
      1. Gebruik van dataconstructies en variabelen
      2. Dubbel invoegen
    3. Standard libraries
      1. ANSI C, C99 library verschillen
    4. Je eigen libraries
    5. Oefeningen:
      1. Welke include heb ik nodig voor functie X uit de standaardlibrary?
      2. Welke van de twee gelijknamige functies wordt gebruikt bij deze twee includes?
    6. Meer informatie
  1. Preprocessor
    1. Wat is een preprocessor directive?
      1. Schrijfwijze (#HOOFDLETTERS, geen ';')
      2. Defines, ifndef, defines via command line
    2. Macro's
      1. Voorgedefinieerde (__FILE__, __LINE__)
    3. Oefeningen:
      1. Wat is de resulterende C code (nadat de preprocessor z'n werk heeft gedaan)
    4. Meer informatie
  1. File Input/output
    1. Streams
    2. Standaard streams
    3. Stream (FILE) operaties
      1. FILE pointers
      2. Open/close file
      3. FLush
      4. Set(V)buffer
      5. seek, tell, getpos, setpos
      6. rewind
    4. Error handling
    5. File operaties
      1. remove
      2. rename
      3. tmpfile
      4. tmpnam
      5. fgets
      6. fgetc
      7. formatted input
    6. Oefeningen:
      1. ...
    7. Meer informatie
  1. Netwerk I/O


  1. C code aanroepen vanuit een andere taal
    1. C++
    2. Assembler
    3. Java
    4. C#/VB.Net
    5. ...


  1. GOTO niet bespreken
  1. Referentie
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.