PDF download Pdf downloaden PDF download Pdf downloaden

C is een van de oudere programmeertalen. Het is ontwikkeld in de jaren '70 maar staat nog steeds bekend als een krachtige taal, omdat het een low-level taal is die dicht in de buurt komt van machinetaal. Het leren van C is een geweldige introductie op het programmeren in meer complexe talen, en de kennis die je vergaart is van nut voor bijna elke programmeertaal, en kan je helpen om uiteindelijk bezig te gaan met app-ontwikkeling. Lees verder om te beginnen met het programmeren in C.

Deel 1
Deel 1 van 6:

De voorbereidingen

PDF download Pdf downloaden
  1. C-code moet eerst worden gecompileerd door een programma dat de code kan interpreteren en omzetten naar een taal die de machine kan begrijpen. Compilers zijn meestal gratis verkrijgbaar, en je kunt verschillende compilers downloaden voor elk besturingssysteem.
    • Voor Windows, Microsoft Visual Studio Express of MinGW.
    • Voor Mac, is XCode een van de beste C compilers.
    • Voor Linux, is gcc een van de meest populaire opties.
  2. C is een van de oudere programmeertalen, maar erg krachtig. Het is in eerste instantie ontworpen voor Unix besturingssysteem, maar is uiteindelijk gangbaar geworden op bijna elk systeem. De "moderne" versie van C is C++.
    • C bestaat uit allemaal functies, en binnen deze functies kun je variabelen gebruiken, voorwaardelijke statements en lussen voor het opslaan en manipuleren van gegevens.
  3. Neem het onderstaande (zeer) eenvoudige programma door om een eerste idee te krijgen over hoe de verschillende onderdelen van de taal samenwerken, en hoe programma's functioneren.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     printf 
     ( 
     "Hello, World! 
     \n 
     " 
     ); 
     getchar 
     (); 
     return 
     0 
     ; 
     } 
    
    [1]
    • De opdracht #include wordt aan het begin van een programma geplaatst, en laadt libraries (code-biblotheken) die de functies bevatten die je nodig hebt. In dit voorbeeld zorgt stdio.h ervoor dat je printf() en getchar() kunt gebruiken.
    • De opdracht int main() vertelt de compiler dat het programma gebruik maakt van de functie "main" en dat het een integer (geheel getal) zal teruggeven na het uitvoeren ervan. Alle C programma's draaien als een "main" functie.
    • De tekens { } geven aan dat alles wat zich erbinnen bevindt onderdeel is van de "main" functie.
    • De functie printf() toont de inhoud van de haakjes op het scherm van de gebruiker. De aanhalingstekens zorgen ervoor dat de tekenreeks letterlijk wordt afgedrukt. De \n vertelt aan de compiler om de cursor naar de volgende regel te verplaatsen.
    • Het teken ; geeft het einde van een regel aan. De meeste regels met code horen afgesloten te worden met een puntkomma.
    • De opdracht getchar() vertelt de compiler om te wachten op een toetsaanslag alvorens verder te gaan. Dit is handig omdat veel compilers het programma uitvoeren en daarna onmiddellijk het venster sluiten. Dit voorkomt dat het programma afsluit totdat een toets wordt ingedrukt.
    • De opdracht return 0 geeft het einde aan van de functie. Merk op dat de "main" functie een int functie is. Dit betekent dat het een geheel getal moet retourneren zodra het programma klaar is. Een "0" geeft aan dat het programma correct is uitgevoerd; elk ander getal geeft aan dat er een fout is geconstateerd.
  4. Voer de code in je code-editor in en bewaar dit als een "*.c"-bestand. Compileer dit nu met je compiler, meestal door op Build of Run te drukken.
  5. Dit hoort een vast onderdeel te zijn van het programma, maar wordt niet gecompileerd. Deze uitleg helpt om te onthouden waar de code voor bedoeld is, en als handleiding voor programmeurs die je code bekijken en/of willen gebruiken.
    • Om in C commentaar toe te voegen plaats je een /* aan het begin van het commentaar en een */ aan het einde.
    • Plaats commentaar overal behalve bij de meest standaard onderdelen van je code.
    • Commentaar kan worden gebruikt om snel delen van de code te verbergen zonder ze te verwijderen. Omgeef de code door deze tussen commentaar-tags te plaatsen en compileer vervolgens het programma. Als je de code weer wilt gebruiken, verwijder dan de tags.
    Advertentie
Deel 2
Deel 2 van 6:

Variabelen gebruiken

PDF download Pdf downloaden
  1. Variabelen bieden je de mogelijkheid om gegevens op te slaan, hetzij resultaten van berekeningen of door invoer van de gebruiker. Variabelen moeten worden gedefinieerd voor je ze kunt gebruiken, en er zijn verschillende typen waar je uit kunt kiezen.
    • Een aantal van de meer gangbare variabelen zijn int , char en float . Elk van deze slaat een ander datatype op.
  2. Variabelen moeten eerst een bepaald type worden gegeven, of "gedeclareerd", voor ze in een C-programma kunnen worden gebruikt. Je declareert een variabele door het datatype aan te geven, gevolgd door de naam van de variabele. Bijvoorbeeld, de volgende declaraties zijn allemaal geldig in C:
     float 
     x 
     ; 
     char 
     name 
     ; 
     int 
     a 
     , 
     b 
     , 
     c 
     , 
     d 
     ; 
    
    • Merk op dat je meerdere variabelen op dezelfde regel kunt declareren, zolang ze van hetzelfde type zijn. Het enige is dat je de variabelen scheidt door een komma.
    • Zoals zoveel regels in C, is het verplicht om elke declaratie van een variabele te scheiden door een puntkomma.
  3. Variabelen moeten aan het begin van een code-blok worden gedeclareerd (De delen van code die tussen {} staan). Als je probeert om een variabele later pas te declareren, dan functioneert het programma niet naar behoren.
  4. Nu je de basis kent van de manier waarop variabelen werken, kun je een eenvoudig programma schrijven dat invoer van de gebruiker accepteert en opslaat. Je gebruikt hiervoor een andere functie van C, namelijk scanf . Met deze functie zoek je naar speciale waarden in een tekenreeks.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     x 
     ; 
     printf 
     ( 
     "Voer een getal in: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     x 
     ); 
     printf 
     ( 
     "Het getal is %d" 
     , 
     x 
     ); 
     getchar 
     (); 
     return 
     0 
     ; 
     } 
    
    • De "%d" string/tekenreeks vertelt scanf om te zoeken naar een geheel getal in de invoer van de gebruiker.
    • De & voor de variabele x vertelt scanf waar je de variabele kunt vinden om deze te kunnen veranderen, en slaat de integer op als die variabele.
    • Het laatste commando printf leest de variabele uit en toont het resultaat aan de gebruiker.
  5. Je kunt met behulp van wiskundige expressies de data bewerken die je in de variabelen hebt opgeslagen. Het belangrijkste onderscheid om te onthouden voor de wiskundige expressies is dat een enkele = de waarde vastlegt van de variabele, terwijl == de waarden aan beide zijden van het teken om te controleren of ze gelijk zijn.
     x 
     = 
     3 
     * 
     4 
     ; 
     /* wijs "x" toe aan  3 * 4, of 12 */ 
     x 
     = 
     x 
     + 
     3 
     ; 
     /* dit telt 3 op bij de eerdere waarde van "x", en stelt de nieuwe waarde in als variabele */ 
     x 
     == 
     15 
     ; 
     /* controleert of "x" gelijk is aan 15 */ 
     x 
     < 
     10 
     ; 
     /* controleert of de waarde van  "x" kleiner is dan 10 */ 
    
    Advertentie
Deel 3
Deel 3 van 6:

Voorwaardelijke statements

PDF download Pdf downloaden
  1. Voorwaardelijke statements is datgene wat de kern vormt van de meeste programma's. Dit zijn statements die of TRUE of FALSE zijn, en aan de hand daarvan een resultaat geven. De meest eenvoudige van deze statements is het if statement.
    • TRUE en FALSE werken anders in C dan wat je misschien gewend bent. TRUE statements eindigen altijd met het gelijk maken van een getal dat niet nul is. Wanneer je vergelijkingen uitvoert en het resultaat is TRUE, dan wordt er een "1" geretourneerd. Is het resultaat FALSE, dan wordt er een "0" geretourneerd. Dit begrijpen helpt bij het kunnen werken met IF statements.
  2. Voorwaardelijke statements draaien rond het gebruik van wiskundige operatoren die waarden vergelijken. De volgende lijst bevat de meest gebruikte voorwaardelijke operatoren.
     > 
     /* groter dan */ 
     < 
     /* kleiner dan */ 
     >= 
     /* groter dan of gelijk aan */ 
     <= 
     /* kleiner dan of gelijk aan */ 
     == 
     /* gelijk aan */ 
     != 
     /* niet gelijk aan */ 
    


     10 
     > 
     5 
     TRUE 
     6 
     < 
     15 
     TRUE 
     8 
     >= 
     8 
     TRUE 
     4 
     <= 
     8 
     TRUE 
     3 
     == 
     3 
     TRUE 
     4 
     != 
     5 
     TRUE 
    
  3. Je kunt IF statements gebruiken om vast te stellen wat het programma moet doen nadat het statement is geëvalueerd. Je kunt dit combineren met andere voorwaardelijke statements voor het maken van krachtige, complexe functies, maar we houden het nu eenvoudig om te wennen.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     if 
     ( 
     3 
     < 
     5 
     ) 
     printf 
     ( 
     "3 is kleiner dan 5" 
     ); 
     getchar 
     (); 
     } 
    
  4. Je kunt verder bouwen op de IF statements door ELSE en ELSE IF statements te gebruiken en zo verschillende resultaten te kunnen verwerken. ELSE statements worden alleen dan uitgevoerd, als het IF statement FALSE is. ELSE IF statements geven je de mogelijkheid om meerdere IF statements binnen hetzelfde code-blok te gebruiken en zodoende complexere voorwaarden te creëren. Zie het onderstaande voorbeeldprogramma om te ontdekken hoe dit werkt.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     age 
     ; 
     printf 
     ( 
     "Vul je leeftijd in: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     age 
     ); 
     if 
     ( 
     age 
     <= 
     12 
     ) 
     { 
     printf 
     ( 
     "Je bent nog een kind! 
     \n 
     " 
     ); 
     } 
     else 
     if 
     ( 
     age 
     < 
     20 
     ) 
     { 
     printf 
     ( 
     "Het is geweldig om tiener te zijn! 
     \n 
     " 
     ); 
     } 
     else 
     if 
     ( 
     age 
     < 
     40 
     ) 
     { 
     printf 
     ( 
     "Je bent nog steeds jong van geest! 
     \n 
     " 
     ); 
     } 
     else 
     { 
     printf 
     ( 
     "Met de jaren komt de wijsheid. 
     \n 
     " 
     ); 
     } 
     return 
     0 
     ; 
     } 
    
    [2]
    • Het programma neemt de invoer van de gebruiker en voert dit door een aantal IF statements. Als het getal voldoet aan het eerste statement, dan wordt het eerste printf statement geretourneerd. Als het niet voldoet aan het eerste statement, dan wordt bekeken of een van de volgende ELSE IF statements voldoen, tot je iets vindt dat werkt. Als geen van de statements voldoet, dan wordt het laatste ELSE statement uitgevoerd.
    Advertentie
Deel 4
Deel 4 van 6:

Lussen

PDF download Pdf downloaden
  1. Lussen behoren tot een van de meest belangrijke aspecten van het programmeren, omdat je er blokken code mee kunt herhalen tot er aan bepaalde voorwaarden wordt voldaan. Hierdoor wordt het implementeren van zich herhalende acties erg makkelijk, en is het niet nodig om nieuwe voorwaardelijke statements te schrijven, elke keer als je wilt dat iets gebeurt.
    • Er zijn drie verschillende lussen: FOR, WHILE en DO...WHILE.
  2. Dit is het meest gangbare en handige lus-type. Hierdoor blijf een functie doorgaan met draaien tot er aan bepaalde voorwaarden wordt voldaan, zoals aangegeven in de FOR lus. FOR lussen vereisen 3 voorwaarden: het initialiseren van de variabele, de voorwaarde waaraan moet worden voldaan, en de variabele die wordt bijgewerkt. Als je al deze voorwaarden niet nodig hebt, dan zal je wel een lege ruimte moeten plaatsen met een puntkomma, anders zal de lus eeuwig blijven doorgaan. [3]
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     for 
     ( 
     y 
     = 
     0 
     ; 
     y 
     < 
     15 
     ; 
     y 
     ++ 
     ;){ 
     printf 
     ( 
     "%d 
     \n 
     " 
     , 
     y 
     ); 
     } 
     getchar 
     (); 
     } 
    
    • In het bovenstaande programma wordt y ingesteld op 0, en de lus blijft doorgaan zolang als de waarde van y kleiner is dan 15. Elke keer dat de waarde van y wordt afgedrukt op het scherm, wordt er 1 toegevoegd aan de waarde van y en wordt de lus herhaald. Geldt dat y = 15, dan zal de lus worden onderbroken.
  3. WHILE lussen zijn wat eenvoudiger dan FOR lussen. Deze hebben maar 1 voorwaarde en de lus gaat door, zolang aan die voorwaarde wordt voldaan. Het is niet nodig om een variabele te initialiseren of bijwerken, maar dat kun je wel in de lus zelf doen.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     while 
     ( 
     y 
     <= 
     15 
     ){ 
     printf 
     ( 
     "%d 
     \n 
     " 
     , 
     y 
     ); 
     y 
     ++ 
     ; 
     } 
     getchar 
     (); 
     } 
    
    • De y++ opdracht voegt 1 toe aan de variabele y , elke keer als de lus wordt uitgevoerd. Als y bij 16 is aangekomen (vergeet niet dat deze lus doorgaat zolang y "kleiner is dan of gelijk aan" 15), zal de lus worden gestopt.
  4. Deze lus is erg handig voor lussen waarvan je zeker wilt weten dat ze in ieder geval 1 keer doorlopen worden. In FOR en WHILE loops wordt de voorwaarde gecontroleerd aan het begin van de lus, wat inhoudt dat de lus wel of niet doorlopen wordt. DO...WHILE lussen controleren pas aan het eind of aan de voorwaarde wordt voldaan en worden dus in ieder geval 1 keer uitgevoerd.
     #include 
     <stdio.h> 
      
     int 
     main 
     () 
     { 
     int 
     y 
     ; 
     y 
     = 
     5 
     ; 
     do 
     { 
     printf 
     ( 
     "De lus draait! 
     \n 
     " 
     ); 
     } 
     while 
     ( 
     y 
     != 
     5 
     ); 
     getchar 
     (); 
     } 
    
    • Deze loop zal het bericht tonen, ook al is de voorwaarde FALSE. De variabele y is ingesteld op 5 en de WHILE-lus zal doorgaan zolang y niet gelijk is aan 5, waarna de lus eindigt. Het bericht was al op het scherm getoond, omdat pas aan het eind wordt gecontroleerd of aan de voorwaarde wordt voldaan.
    • De WHILE-lus in DO...WHILE moet wel eindigen op een puntkomma. Dit is de enige keer dat een lus eindigt op een puntkomma.
    Advertentie
Deel 5
Deel 5 van 6:

Functies gebruiken

PDF download Pdf downloaden
  1. Functies zijn op zichzelf staande blokken met code die kunnen worden aangeroepen vanuit een ander deel van een programma. Het wordt daardoor een stuk gemakkelijker om code te herhalen en programma's worden er eenvoudiger door, zowel om te lezen als om te wijzigen. Functies maken gebruik van alle hierboven beschreven technieken, en zelfs van andere functies.
    • De regel main() aan het begin van alle eerdere voorbeelden is een functie, evenals getchar()
    • Functies zijn bedoeld om het lezen en schrijven van code efficiënter te maken. Maak goed gebruik van functies om je programma te stroomlijnen.
  2. Functies kun je het best ontwerpen door eerst te omschrijven wat je wilt bewerkstelligen, voor je begint met het daadwerkelijke coderen. De basis syntax van een functie in C is "return_type name ( argument1, argument2, etc.);". Bijvoorbeeld, om een functie te maken die twee getallen optelt, doe je het volgende:
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ); 
    
    • Hiermee maak je een functie voor het optellen van twee integers ( x en y ), en de som retourneert als integer.
  3. Je kunt de korte omschrijving gebruiken om een programma te maken voor het optellen van twee door de gebruiker ingevoerde gehele getallen. Het programma zal definiëren hoe de "add"-functie werkt en dit gebruiken voor het verwerken van de ingevoerde getallen.
     #include 
     <stdio.h> 
      
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ); 
     int 
     main 
     () 
     { 
     int 
     x 
     ; 
     int 
     y 
     ; 
     printf 
     ( 
     "Vul twee getallen in om op te tellen: " 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     x 
     ); 
     scanf 
     ( 
     "%d" 
     , 
     & 
     y 
     ); 
     printf 
     ( 
     "De som van de getallen is %d 
     \n 
     " 
     , 
     add 
     ( 
     x 
     , 
     y 
     ) 
     ); 
     getchar 
     (); 
     } 
     int 
     add 
     ( 
     int 
     x 
     , 
     int 
     y 
     ) 
     { 
     return 
     x 
     + 
     y 
     ; 
     } 
    
    • Merk op dat de korte omschrijving aan het begin van het programma staat. Hiermee vertel je de compiler wat te verwachten wanneer de functie wordt aangeroepen en wat het zal teruggeven. Dit is alleen noodzakelijk wanneer je de functie later in het programma wilt definiëren. Je kunt ook add() definiëren voor de functie main() waardoor het resultaat hetzelfde is als zonder de korte omschrijving.
    • De werking van de functie wordt aan het eind van het programma gedefinieerd. De functie main() verkrijgt de integers van de gebruiker en stuurt ze vervolgens door naar de functie add() om te worden verwerkt. De functie add() retourneert vervolgens het resultaat aan main()
    • Nu add() is gedefinieerd, kan het overal binnen het programma worden aangeroepen.
    Advertentie
Deel 6
Deel 6 van 6:

Blijf leren

PDF download Pdf downloaden
  1. Dit artikel gaat slechts in op de basis, en dat is niet meer dan het topje van de ijsberg die C heet en alles wat erbij hoort. Een goed boek helpt bij het oplossen van problemen en kan je veel van de hoofdpijn in een later stadium besparen.
  2. Er zijn veel groepen, zowel online als in de echte wereld, die toegewijd zijn aan programmeren en allerhande programmeertalen. Zoek een paar gelijkgestemde C programmeurs om code en ideeën mee uit te wisselen, en je zal merken dat je in korte tijd veel meer hebt geleerd dan je voor mogelijk had gehouden.
    • Ga naar een aantal hack-a-thons, indien mogelijk. Dit zijn evenementen waarbij teams en individuele personen binnen een bepaalde tijd met de oplossing en het bijbehorende programma voor een probleem moeten komen, iets wat veel creativiteit vraagt. Je kunt er veel goede programmeurs ontmoeten, en hack-a-thons worden overal ter wereld georganiseerd.
  3. Je hoeft echt niet terug te gaan naar school om een opleiding te volgen tot programmeur, maar het kan geen kwaad om een cursus te volgen en je leertempo enorm op te schroeven. Niets kan op tegen directe hulp van mensen die zeer goed thuis zijn in een bepaalde materie. Vaak kun je wel een cursus vinden in de buurt, of probeer te zoeken naar een online cursus.
  4. Heb je eenmaal C onder de knie, dan kan het geen kwaad om verder te gaan met C++. Dit is de meer moderne variant van C, en biedt veel meer flexibiliteit. C++ is ontworpen voor het werken met objecten, en het kunnen werken met C++ zorgt ervoor dat je voor bijna elke besturingssysteem krachtige programma's kunt schrijven.
    Advertentie

Tips

  • Plaats altijd commentaar bij je programma's. Niet alleen helpt dit anderen om je broncode te begrijpen, maar het is ook om je te helpen herinneren wat je hebt gecodeerd en waarom. Misschien weet je nu wel wat je aan het doen bent, maar na een maand of 2-3 is de kans groot dat je daar geen idee meer van hebt.
  • Vergeet niet om een statement zoals printf(), scanf(), getch(), etc af te sluiten met een puntkomma (;) maar plaats deze nooit achter statements als 'if', 'while' of 'for' lussen.
  • Wanneer je een syntax error tegenkomt tijdens het compileren en je loopt vast, zoek dan met je favoriete zoekmachine wat de foutmelding betekent. Groot kans dat iemand anders voor hetzelfde probleem al een oplossing heeft geplaatst.
  • De broncode moet een *.c extensie hebben, zodat de compiler weet dat het gaat om een C-bestand.
  • Vergeet niet: oefening baart kunst. Hoe meer je oefent met het schrijven van programma's, des te beter zal je worden. Dus begin met eenvoudige, korte programma's tot je vast voet aan de grond hebt gekregen, en ga daarna verder met de meer complexe programma's.
  • Leer meer over logica. Dit helpt bij het oplossen van verschillende problemen terwijl je aan het coderen bent.
Advertentie

Over dit artikel

Deze pagina is 11.551 keer bekeken.

Was dit artikel nuttig?

Advertentie