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