Het huiswerk
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
De vorige keer gaf ik een eerste opdracht om zelf te gaan programmeren. Niet heel ingewikkeld misschien, maar wel een goede eerste stap om te snappen hoe programmeren werkt. De opdracht was een programma te maken dat op het scherm zet: 1+1=2. En je moet het programma laten uitrekenen hoeveel 1+1 is.
Samen met wat hulp van AI zou je daar uit moeten kunnen komen. C kan vrij makkelijk basis rekenkundige bewerkingen uitvoeren. Als je 1+1 wil uitrekenen, dan schrijf je gewoon "1+1". Het probleem hier is meer hoe je dat op je beeldscherm krijgt. Wie bijvoorbeeld al eens Basic heeft gebruikt, denkt wellicht dat dit werkt:
#include <stdio.h>
int main() {
printf(“1+1=“;1+1);
return 0;
}
Maar dat geeft direct een foutmelding van de compiler. Die ; is een einde van een statement, de compiler snapt hier niet wat je wilt. Maak er een komma van en je houdt warnings. De manier van denken is kennelijk niet goed.
En dat klopt. Printf verwacht één string, een reeks van karakters, om op het scherm te zetten; niet twee en geen getallen. Dus we moeten het getal, 1+1, in die string terecht laten komen. Dat doen we via een placeholder in de string. Zoals de speciale tekens beginnen met een \, zo beginnen de placeholders met een %. Voor getallen gebruik je %d. Zie het als een invulformulier: de string is het formulier met lege vakjes en de getallen achter de komma zijn de waarden die in die vakjes worden ingevuld, van links naar rechts.
Dan krijg je:
#include <stdio.h>
int main() {
printf(“1+1=%d\n”,1+1);
return 0;
}
Het printf statement weet nu dat in de af te drukken string nog een getal moet worden ingevoegd en wel na het = teken en voor het \n ofwel new line-teken. Je kan meerdere placeholders hebben, die worden dan van links naar rechts gevuld door de getallen die na de string door komma's gescheiden zijn opgenomen. Om dat wat absurd te illustreren, dit werkt ook:
#include <stdio.h>
int main() {
printf(“%d+%d=%d\n”,1,1,1+1);
return 0;
}
De 1, maar ook de 1+1, is een constante in C. 1 is altijd 1, daar kan je programma niets aan veranderen. Maar vaak is het handig om met waarden te werken die wel kunnen veranderen, die dus variabel zijn. Dat heet in C dan ook een variabele. Een variabele heeft een naam en een type en kan een waarde krijgen. Zo kan je bijvoorbeeld dit krijgen:
#include <stdio.h>
int main() {
int teller = 1;
printf(“%d+1=%d\n”,teller++, teller);
return 0;
}
Je ziet hier een paar dingen. Als je deze code in VSCode invoert en runt, zal je waarschijnlijk (!!) zien dat de uitkomst weer is: 1+1=2. Ik zeg nadrukkelijk "waarschijnlijk", want eigenlijk is dit een gevaarlijke manier van programmeren. Volgende keer ga ik daar op in.
NB: mijn tekstverwerker past aanhalingstekens aan. Gebruik altijd en alleen de zelf getypte aanhalingstekens in VSCode. Dus niet knippen en plakken van mijn tekst, tenzij je graag frustraties oploopt.
Gerelateerd
De basisopbouw en een eerste opdracht
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
Wat hebben we gedaan, wat gaan we doen?
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
De computer klaar maken
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
We gaan iets echt nuttigs doen
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal nu over een andere boeg.
Weet wat je hebt
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gaat aan de slag met Pascal.
