C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
C Programmeeroperatoren
In deze tutorial leer je over verschillende operatoren in C programmeren met behulp van voorbeelden.
Video: Rekenkundige Operatoren in C
Een operator is een symbool dat op een waarde of variabele werkt. Bijvoorbeeld: + is een operator voor optelling.
C heeft een breed scala aan operatoren om verschillende operaties uit te voeren.
C Rekenkundige Operatoren
Een rekenkundige operator voert wiskundige operaties uit zoals optelling, aftrekking, vermenigvuldiging, deling etc op numerieke waarden (constanten en variabelen).
| Operator | Betekenis van Operator |
|---|---|
| + | optelling of unaire plus |
| - | aftrekking of unaire min |
| * | vermenigvuldiging |
| / | deling |
| % | rest na deling (modulo deling) |
Voorbeeld 1: Rekenkundige Operatoren
// Werking van rekenkundige operatoren #include <stdio.h> int main() { int a = 9,b = 4, c; c = a+b; printf("a+b = %d \n",c); c = a-b; printf("a-b = %d \n",c); c = a*b; printf("a*b = %d \n",c); c = a/b; printf("a/b = %d \n",c); c = a%b; printf("Rest bij a gedeeld door b = %d \n",c); return 0; }
Output
a+b = 13 a-b = 5 a*b = 36 a/b = 2 Rest bij a gedeeld door b=1
De operatoren +, - en * berekenen optelling, aftrekking en vermenigvuldiging respectievelijk zoals je zou verwachten.
In normale berekening is 9/4 = 2,25. Echter, de output is 2 in het programma.
Dit is omdat beide variabelen a en b integers zijn. Daarom is de output ook een integer. De compiler negeert het deel na de decimaalpunt en toont antwoord 2 in plaats van 2,25.
De modulo operator % berekent de rest. Wanneer a=9 gedeeld wordt door b=4, is de rest 1. De % operator kan alleen met integers gebruikt worden.
Stel a = 5,0, b = 2,0, c = 5 en d = 2. Dan in C programmeren,
// Één van de operanden is een drijvende-komma getal a/b = 2,5 a/d = 2,5 c/b = 2,5 // Beide operanden zijn integers c/d = 2
C Increment en Decrement Operatoren
C programmeren heeft twee operatoren increment ++ en decrement -- om de waarde van een operand (constante of variabele) met 1 te veranderen.
Increment ++ verhoogt de waarde met 1 terwijl decrement -- de waarde met 1 verlaagt. Deze twee operatoren zijn unaire operatoren, wat betekent dat ze alleen op een enkel operand werken.
Voorbeeld 2: Increment en Decrement Operatoren
// Werking van increment en decrement operatoren #include <stdio.h> int main() { int a = 10, b = 100; float c = 10,5, d = 100,5; printf("++a = %d \n", ++a); printf("--b = %d \n", --b); printf("++c = %f \n", ++c); printf("--d = %f \n", --d); return 0; }
Output
++a = 11 --b = 99 ++c = 11.500000 --d = 99.500000
Hier worden de operatoren ++ en -- als prefixen gebruikt. Deze twee operatoren kunnen ook als postfixen gebruikt worden zoals a++ en a--. Bezoek deze pagina om meer te leren over hoe increment en decrement operatoren werken wanneer ze als postfix gebruikt worden.
C Toewijzingsoperatoren
Een toewijzingsoperator wordt gebruikt om een waarde aan een variabele toe te wijzen. De meest voorkomende toewijzingsoperator is =
| Operator | Voorbeeld | Hetzelfde als |
|---|---|---|
| = | a = b | a = b |
| += | a += b | a = a+b |
| -= | a -= b | a = a-b |
| *= | a *= b | a = a*b |
| /= | a /= b | a = a/b |
| %= | a %= b | a = a%b |
Voorbeeld 3: Toewijzingsoperatoren
// Werking van toewijzingsoperatoren #include <stdio.h> int main() { int a = 5, c; c = a; // c is 5 printf("c = %d\n", c); c += a; // c is 10 printf("c = %d\n", c); c -= a; // c is 5 printf("c = %d\n", c); c *= a; // c is 25 printf("c = %d\n", c); c /= a; // c is 5 printf("c = %d\n", c); c %= a; // c = 0 printf("c = %d\n", c); return 0; }
Output
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
C Relationele Operatoren
Een relationele operator controleert de relatie tussen twee operanden. Als de relatie waar is, retourneert het 1; als de relatie onwaar is, retourneert het 0.
Relationele operatoren worden gebruikt in besluitvorming en lussen.
| Operator | Betekenis van Operator | Voorbeeld |
|---|---|---|
| == | Gelijk aan | 5 == 3 evalueert naar 0 |
| > | Groter dan | 5 > 3 evalueert naar 1 |
| < | Kleiner dan | 5 < 3 evalueert naar 0 |
| != | Niet gelijk aan | 5 != 3 evalueert naar 1 |
| >= | Groter dan of gelijk aan | 5 >= 3 evalueert naar 1 |
| <= | Kleiner dan of gelijk aan | 5 <= 3 evalueert naar 0 |
Voorbeeld 4: Relationele Operatoren
// Werking van relationele operatoren #include <stdio.h> int main() { int a = 5, b = 5, c = 10; printf("%d == %d is %d \n", a, b, a == b); printf("%d == %d is %d \n", a, c, a == c); printf("%d > %d is %d \n", a, b, a > b); printf("%d > %d is %d \n", a, c, a > c); printf("%d < %d is %d \n", a, b, a < b); printf("%d < %d is %d \n", a, c, a < c); printf("%d != %d is %d \n", a, b, a != b); printf("%d != %d is %d \n", a, c, a != c); printf("%d >= %d is %d \n", a, b, a >= b); printf("%d >= %d is %d \n", a, c, a >= c); printf("%d <= %d is %d \n", a, b, a <= b); printf("%d <= %d is %d \n", a, c, a <= c); return 0; }
Output
5 == 5 is 1 5 == 10 is 0 5 > 5 is 0 5 > 10 is 0 5 < 5 is 0 5 < 10 is 1 5 != 5 is 0 5 != 10 is 1 5 >= 5 is 1 5 >= 10 is 0 5 <= 5 is 1 5 <= 10 is 1
C Logische Operatoren
Een expressie met logische operator retourneert 0 of 1 afhankelijk van of de expressie resulteert in waar of onwaar. Logische operatoren worden veel gebruikt in besluitvorming in C programmeren.
| Operator | Betekenis | Voorbeeld |
|---|---|---|
| && | Logische EN. Alleen waar als alle operanden waar zijn | Als c = 5 en d = 2 dan, expressie ((c==5) && (d>5)) is gelijk aan 0. |
| || | Logische OF. Alleen waar als een van de operanden waar is | Als c = 5 en d = 2 dan, expressie ((c==5) || (d>5)) is gelijk aan 1. |
| ! | Logische NIET. Alleen waar als de operand 0 is | Als c = 5 dan, expressie !(c==5) is gelijk aan 0. |
Voorbeeld 5: Logische Operatoren
// Werking van logische operatoren #include <stdio.h> int main() { int a = 5, b = 5, c = 10, result; result = (a == b) && (c > b); printf("(a == b) && (c > b) is %d \n", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) is %d \n", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) is %d \n", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) is %d \n", result); result = !(a != b); printf("!(a != b) is %d \n", result); result = !(a == b); printf("!(a == b) is %d \n", result); return 0; }
Output
(a == b) && (c > b) is 1 (a == b) && (c < b) is 0 (a == b) || (c < b) is 1 (a != b) || (c < b) is 0 !(a != b) is 1 !(a == b) is 0
Uitleg van logische operator programma
(a == b) && (c > 5)evalueert naar 1 omdat beide operanden(a == b)en(c > b)1 is (waar).(a == b) && (c < b)evalueert naar 0 omdat operand(c < b)0 is (onwaar).(a == b) || (c < b)evalueert naar 1 omdat(a = b)1 is (waar).(a != b) || (c < b)evalueert naar 0 omdat beide operand(a != b)en(c < b)0 zijn (onwaar).!(a != b)evalueert naar 1 omdat operand(a != b)0 is (onwaar). Dus, !(a != b) is 1 (waar).!(a == b)evalueert naar 0 omdat(a == b)1 is (waar). Dus,!(a == b)is 0 (onwaar).
C Bitwise Operatoren
Tijdens berekening worden wiskundige operaties zoals: optelling, aftrekking, vermenigvuldiging, deling, etc geconverteerd naar bit-niveau wat verwerking sneller maakt en stroom bespaart.
Bitwise operatoren worden in C programmeren gebruikt om bit-niveau operaties uit te voeren.
| Operators | Betekenis van operators |
|---|---|
| & | Bitwise AND |
| | | Bitwise OR |
| ^ | Bitwise exclusieve OR |
| ~ | Bitwise complement |
| << | Shift links |
| >> | Shift rechts |
Bezoek bitwise operator in C om meer te leren.
Overige Operatoren
Komma Operator
Komma operatoren worden gebruikt om gerelateerde expressies aan elkaar te koppelen. Bijvoorbeeld:
int a, c = 5, d;
De sizeof Operator
De sizeof is een unaire operator die de grootte van data retourneert (constanten, variabelen, array, structuur, etc).
Voorbeeld 6: sizeof Operator
#include <stdio.h> int main() { int a; float b; double c; char d; printf("Size of int=%lu bytes\n",sizeof(a)); printf("Size of float=%lu bytes\n",sizeof(b)); printf("Size of double=%lu bytes\n",sizeof(c)); printf("Size of char=%lu byte\n",sizeof(d)); return 0; }
Output
Size of int = 4 bytes Size of float = 4 bytes Size of double = 8 bytes Size of char = 1 byte
Overige operatoren zoals ternary operator ?:, referentie operator &, dereferentie operator * en lidselectie operator -> zullen in latere tutorials besproken worden.
C Taal
- Microprocessor programmeringsfundamenten
- C# Operators – Uitgebreide gids voor operators in C#
- C# Bitwise en Bit Shift Operators: Een Uitgebreide Gids
- Namespaces in C#: organisatie, scope en best practices
- C++ operators: complete gids met praktische voorbeelden
- Arrays doorgeven aan functies in C++: een praktische gids
- Vier bewaarde patronen voor gebruiksgedefinieerde functies in C
- C-programmeren leren: Uitgebreide tutorial voor beginners
- Verilog operatoren: Essentiële rekenkundige & controle operatoren voor synthetise
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Java-operators beheersen: typen, syntax en praktische voorbeelden