Programmeren in C/If en loops
If en else
Nog een belangrijk punt in programmeren. We maken nu geen heel nieuw programma, we breiden alleen het vorige een beetje uit.
Voorbeeld
Het Gebruik
Het gebruik van "if" is niet zo moeilijk: -Eerst typ je natuurlijk "if". -Daarna zet je tussen haakjes wanneer het door moet gaan -Curly bracket open -Je code -Curly bracket dicht
Lijst van Vergelijkingsoperatoren
Er zijn natuurlijk nog meer vergelijkingsoperatoren dan alleen '=='. Je wilt bijvoorbeeld ook weten of iets groter is, of kleiner. Hier is een lijst:
Wat Betekenis == is gelijk aan (let op de dubbele =) != is niet gelijk aan < is kleiner dan (links is kleiner dan rechts) > is groter dan <= kleiner dan of gelijk aan >= groter dan of gelijk aan
1 en 0
In C, veel meer talen en zelfs wiskunde is 1 waar en 0 onwaar. Bijvoorbeeld, if(1) gebeurt dus altijd, want 1 is waar. if(0) dus nooit. Het gebeurt dus misschien wel eens dat je in een stukje code if(variabel) tegen komt. Als variabel 1 is, voert het programma het stukje code uit. Als het 0 is niet. In C is alles behalve 0 waar, dus als 'variabel' 3 is, is het ook waar. Meer algemeen beschouwt C elke waarde, verschillend van 0 als true.
Meerdere statements
Het is mogelijk om binnen een if statement meer dan een voorwaarde te verwerken in lijst, dit kan interessant zijn als je bijvoorbeeld een programma maakt, dat een stuk code bevat, dat alleen gedraaid wordt, als de gebruiker, zijn gebruikersnaam en bijbehorend password in tikt. Hiervoor kan men zogenaamde logische operatoren gebruiken, deze zijn and (&&), or (||) en not (!). Sjabloon:Code
Waarheidtabellen
Waarheidtabellen zijn een manier om de werking van een logische operator weer te geven. Zoals hierboven beschreven, betekent 1 waar en 0 onwaar. Als we twee statements ( a en b) nemen en deze testen op hun 'waarheid' hebben we dus twee mogelijke uitkomsten, als we dit samen met het resultaat van de operator zetten hebben we een zogenaamde waarheidstabel.
De eerste waarheidstabel is van de AND- (&&) operator.
| AND |
|---|
|
|
Zoals je ziet is er eigenlijk niets vreemds aan. Laten we het eens testen met een uitspraak. Als ik genoeg geld en tijd heb, ga ik naar Spanje. Als ik níet genoeg tijd of geld heb, dan ga ik niet. Zoals je ziet is het dus ook geldig in onze gewone taal. De drie andere operatoren zijn or, xor en not. Hoewel xor niet in C is ingebouwd is het toch een hele nuttige. Xor, uitgeschreven exlusive or, is gedefinieerd als, of uitspraak 1 is waar of uitspraak 2 is waar, maar niet uitspraak 1 en 2.
| OR | XOR | NOT |
|---|---|---|
|
|
|
|
Switch
Als je iets maakt met heel veel if en else kan het soms verwarrend worden om te lezen. Daarom is er een switch gemaakt. Zie hier het voorbeeld: Sjabloon:Code
Loops
Er zijn drie soorten loops: while, do-while en for. Die zorgen ervoor dat iets blijft gebeuren, zolang de conditie van de loop waar is. De condities zijn eigenlijk precies hetzelfde als in if-condities.
Hoe te gebruiken
De while loop: Sjabloon:Code voorbeeld while loop: Sjabloon:Code De do-while loop: Sjabloon:Code voorbeeld do-while loop: Sjabloon:Code De for loop: Sjabloon:Code
Uitleg
De while loop is simpel. Je geeft een conditie tussen de haakjes en hij voert het uit zolang het waar is. Zorg er wel voor, dat die conditie verandert (of kan veranderen, door input bijv.), als je geen gebruik maakt van een break (zie verder) om de loop vroegtijdig te beëindigen. Anders stopt de loop niet en loopt je programma klem. Als het je bedoeling is om programma's vast te laten lopen en daarmee ook computers, ga dan hier naartoe.
De werking van de do-while loop is identiek aan die van de while loop op volgend verschil na: aangezien de test op de conditie na de uitvoering van de code gebeurt, wordt deze laatste minstens éénmaal uitgevoerd.
De for loop is ingewikkelder. Een voorbeeld van hoe het eruit zou zien: Sjabloon:Code We beginnen tussen de haakjes met int i = 0; De for loop maakt een int die i heet (i is heel gebruikelijk, samen met j en k) en de waarde 0 heeft. Puntkomma. Dan een conditie: zolang i lager is dan 10. Puntkomma weer. Daarna staat i++. Voordat de for-loop opnieuw begint doet hij in dit geval i++. De for loop voert dus de code uit, doet 1 bij i, en begint weer opnieuw zolang i lager is dan 10. Deze for loop doet wat er in de code staat dus 10 keer. Daarna wordt i vernietigd en kan je die dus niet meer gebruiken. In een while loop zou je precies hetzelfde kunnen doen als dat een for loop doet, maar in een for loop zet je alles kort bovenaan en hoef je je er verder geen zorgen meer over te maken.
Break en Continue
Soms kan het gebeuren dat je een loop wil afsluiten voordat de conditie onwaar is geworden of dat je de loop opnieuw wil beginnen. Als je de loop wilt stoppen, gebruik je (drie keer raden..) break. Als je de loop opnieuw wilt beginnen, gebruik je continue.
Een voorbeeld wanneer je de break kan gebruiken, is bij een menu. Sjabloon:Code