math.h includen
Link de math-bibliotheek en gebruik haar.
math.h includen is een gratis C Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C Academy bevat in totaal 4 lessen.
Waarom math.h bestaat
C houdt de kerntaal klein. Bewerkingen zoals vierkantswortels, machten en goniometrie zijn niet in de taal zelf ingebouwd.
In plaats daarvan staan ze in een headerbestand van de standaardbibliotheek met de naam math.h. Om deze functies te gebruiken, moet je het headerbestand bovenaan je programma invoegen.
Het headerbestand invoegen
Voeg deze regel bovenaan je bestand toe, naast stdio.h:
#include <stdio.h>voor invoer en uitvoer#include <math.h>voor wiskundige functies
Hoekige haakjes vertellen de compiler dat hij in de standaard systeemmappen moet zoeken.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("math.h is ready\n");
return 0;
}Je eerste aanroep van math.h
Nadat je math.h hebt ingevoegd, kun je functies zoals sqrt (vierkantswortel) aanroepen.
De meeste wiskundige functies accepteren en retourneren waarden van het type double. Daarom drukken we resultaten af met de opmaakspecificatie %f.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(16.0);
printf("sqrt(16) = %f\n", r);
return 0;
}De wiskundebibliotheek linken
Op sommige systemen (vooral Linux met gcc) staan wiskundige functies in een apart bibliotheekbestand.
Als je een foutmelding over een ongedefinieerde verwijzing krijgt, voeg je tijdens het compileren de optie -lm toe:
gcc program.c -lm
-lm betekent "de wiskundebibliotheek linken".
Alles is double
Standaard werken functies uit math.h met het type double. Ze accepteren argumenten van het type double en retourneren resultaten van het type double.
Je kunt ook een int meegeven. C converteert dit automatisch naar double voordat de functie wordt aangeroepen.
#include <stdio.h>
#include <math.h>
int main(void) {
int n = 25;
double root = sqrt(n);
printf("root = %f\n", root);
return 0;
}Wiskundige resultaten afdrukken
Gebruik %f om een double af te drukken. Je kunt het aantal decimalen instellen met %.2f (twee decimalen).
Zo blijven lange decimale waarden overzichtelijk en leesbaar.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(2.0);
printf("%f\n", r);
printf("%.2f\n", r);
return 0;
}Handige constanten
Veel systemen definiëren nuttige constanten in math.h, zoals M_PI voor pi.
Deze maken geen deel uit van de strikte standaard, maar komen wel veel voor. Als M_PI ontbreekt, kun je zelf een constante definiëren.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("pi is about %.5f\n", M_PI);
return 0;
}Een rondleiding door de inhoud
De header math.h biedt veel hulpmiddelen, gegroepeerd naar doel:
- Machten en wortels:
pow,sqrt - Goniometrie:
sin,cos,tan - Logaritmen:
log,log10 - Afronden:
floor,ceil,round
In de volgende lessen bekijken we elke groep.
Wiskunde combineren met logica
Resultaten uit math.h zijn normale getallen die je kunt vergelijken en in if-instructies kunt gebruiken.
Hier controleren we of een getal een volkomen kwadraat is door de wortel ervan met een geheel getal te vergelijken.
#include <stdio.h>
#include <math.h>
int main(void) {
double root = sqrt(49.0);
if (root == 7.0) {
printf("49 is a perfect square\n");
}
return 0;
}Veelgemaakte fouten
Let op deze fouten die beginners vaak maken:
- Vergeten van
#include <math.h> - Vergeten van
-lmbij het linken op Linux - Een
doubleafdrukken met%din plaats van%f
Elk hiervan veroorzaakt een verwarrende foutmelding of onjuiste uitvoer.
Alles samenvoegen
Hier is een klein, compleet programma dat twee wiskundige functies samen gebruikt.
Let op de invoegingen bovenaan en de variabelen van het type double waarin de resultaten worden opgeslagen.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = sqrt(81.0);
double b = pow(2.0, 5.0);
printf("sqrt=%.1f pow=%.1f\n", a, b);
return 0;
}Korte controle
Welk headerbestand moet je invoegen om functies zoals sqrt en pow te gebruiken?
Samenvatting
Je hebt geleerd dat wiskundige functies in math.h staan, dat je invoegt met #include <math.h>.
Deze functies gebruiken het type double, worden afgedrukt met %f en hebben op Linux mogelijk de linkoptie -lm nodig. Vervolgens bekijken we machten en wortels in detail.
Leer C met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 39
- Lessen
- 144
Veelgestelde vragen
Is de les “math.h includen” gratis?
Ja — de volledige tekst van “math.h includen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C Academy bevat in totaal 4 lessen.
Wat leer ik in “math.h includen”?
Link de math-bibliotheek en gebruik haar. Je oefent met C Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met C Academy te beginnen?
Ervaring vooraf is niet nodig. C Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “math.h includen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over C Academy?
Ja. Elke les over C Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.