Programmeren in C/Stijl en structuur: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Nijdam (overleg | bijdragen)
DimiC88 (overleg | bijdragen)
kGeen bewerkingssamenvatting
Regel 6:
== Statements en blokken ==
De programmeertaal C leunt sterk op het samenspel van statements en blokken. Een statement is een enkele programmeeropdracht en eindigt ''altijd'' met een [[w:Puntkomma|punt-komma]] (<code>;</code>). Het volgende is bijvoorbeeld een enkel statement:
<sourcesyntaxhighlight lang="c">
printf("Hallo wereld!");
</syntaxhighlight>
</source>
 
Daarnaast is er in C een manier om een of meer statements te groeperen in een ''blok''. Dit is vaak nodig na bepaalde taalconstructies, zoals loops en functies om de statements bij elkaar te houden. Een blok begint altijd met een open-[[w:Accolade|accolade]] (<code>{</code>) en eindigt met een sluit-accolade (<code>}</code>). Dit is een voorbeeld van een blok met een paar statements in een functie:
<sourcesyntaxhighlight lang="c">
int main()
{
Regel 17:
return 0;
}
</syntaxhighlight>
</source>
 
Een blok zonder statements, dus <code>{ }</code>, mag ook als een enkele punt-komma geschreven worden. Andersom geldt niet.
<sourcesyntaxhighlight lang="c">
int main();
</syntaxhighlight>
</source>
 
== Overzichtelijkheid ==
Regel 30:
 
De volgende code is correct ingesprongen, met inspringingen van 4 spaties (of één tab) breed:
<sourcesyntaxhighlight lang="c">
void main()
{
Regel 45:
}
}
</syntaxhighlight>
</source>
 
=== Uitlijnen ===
Binnen regels code is het soms handig om delen uit te lijnen, zodat de code overzichtelijker wordt. ''Uitlijnen'' gaat altijd met spaties, nooit met tabs. Een voorbeeld van uitgelijnde code is de volgende set gerelateerde statements, waarbij de namen allemaal onder elkaar komen te staan:
<sourcesyntaxhighlight lang="c">
unsigned int aantal;
int score;
char naam[255];
struct Resultaat *volgende;
</syntaxhighlight>
</source>
 
=== Lege regels ===
Ten slotte is het voor de overzichtelijkheid erg goed om delen van de code met een lege regel van elkaar te scheiden.
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
 
Regel 75:
return 0;
}
</syntaxhighlight>
</source>
 
=== Lijnbreedte ===
Regel 85:
=== Enkele regel commentaar ===
Vaak beslaat het commentaar slechts een enkele regel. Dit soort commentaar start bij <code>//</code> en eindigt aan het eind van de regel. In het volgende voorbeeld zijn de commentaarregels voor de overzichtelijkheid uitgelijnd (maar dit is niet noodzakelijk).
<sourcesyntaxhighlight lang="c">
// Hier volgen enkele variabelen:
unsigned int aantal; // Het aantal kandidaten.
Regel 91:
char naam[255]; // Naam van het tentamen.
struct Resultaat *volgende; // Pointer naar het volgende tentamenresultaat.
</syntaxhighlight>
</source>
 
=== Meerdere regels commentaar ===
Commentaar tussen <code>/*</code> en <code>*/</code> kan meerdere regels beslaan. Dit is vooral handig bij meerdere zinnen commentaar, of bijvoorbeeld een opsomming. In het volgende voorbeeld wordt dit soort commentaar ook toegepast aan het begin van het broncode bestand. Programmeurs doen dit vaak om het doel van een specifiek bestand te beschrijven, licentievoorwaarden neer te zetten en de wijzigingen bij te houden. Behalve in <code>/*</code> en <code>*/</code> zijn de sterretjes (<code>*</code>) aan het begin van elke commentaarregel niet noodzakelijk en alleen gebruikt vanwege de uitlijning:
<sourcesyntaxhighlight lang="c">
/* BESTAND : hello_world.c
* AUTEUR : Pietje Puk <p.puk@nowhere.net>
Regel 117:
dat er zich geen fouten hebben voorgedaan. */
}
</syntaxhighlight>
</source>
 
{{Bericht
Regel 127:
 
'''Variant A'''
<sourcesyntaxhighlight lang="c" line>
#include <stdio.h>
int main(){if(true){printf("Hallo wereld!");}return 0;}
</syntaxhighlight>
</source>
<hr />
'''Variant B'''
<sourcesyntaxhighlight lang="c" line>
#include <stdio.h>
int main()
Regel 143:
return 0;
}
</syntaxhighlight>
</source>
<hr />
'''Variant C'''
<sourcesyntaxhighlight lang="c" line>
#include <stdio.h>
/**********************************************************
Regel 161:
return 0; /* Geeft 0 terug. */
}
</syntaxhighlight>
</source>
Beantwoord nu de volgende vragen:
{{Toggletext
Regel 180:
|hoofdtekst=
De commentaarregel had ook als enkele regel commentaar kunnen worden geschreven:
<sourcesyntaxhighlight lang="c" line>
return 0; // Geeft 0 terug.
</syntaxhighlight>
</source>
}}
{{Toggletext
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.