C Programmeren van operators
C Programmeren van operators
In deze tutorial leer je aan de hand van voorbeelden over verschillende operators in C-programmering.
Video:rekenkundige operatoren in C
Een operator is een symbool dat werkt op een waarde of een variabele. Bijvoorbeeld:+ is een operator om optellen uit te voeren.
C heeft een breed scala aan operators om verschillende bewerkingen uit te voeren.
C rekenkundige operatoren
Een rekenkundige operator voert wiskundige bewerkingen uit zoals optellen, aftrekken, vermenigvuldigen, delen enz. op numerieke waarden (constanten en variabelen).
Operator | Betekenis van operator |
---|---|
+ | toevoeging of unaire plus |
- | aftrekken of unaire min |
* | vermenigvuldiging |
/ | divisie |
% | rest na deling (modulo deling) |
Voorbeeld 1:rekenkundige operatoren
// Working of arithmetic operators
#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("Remainder when a divided by b = %d \n",c);
return 0;
}
Uitvoer
a+b = 13 a-b = 5 a*b = 36 a/b = 2 Remainder when a divided by b=1
De operators +
, -
en *
berekent respectievelijk optellen, aftrekken en vermenigvuldigen zoals je zou verwachten.
Bij normale berekening, 9/4 = 2.25
. De uitvoer is echter 2
in het programma.
Het is omdat beide variabelen a en b gehele getallen zijn. Daarom is de uitvoer ook een geheel getal. De compiler negeert de term achter de komma en toont antwoord 2
in plaats van 2.25
.
De modulo-operator %
berekent de rest. Wanneer a=9
wordt gedeeld door b=4
, de rest is 1
. De %
operator kan alleen worden gebruikt met gehele getallen.
Stel a = 5.0
, b = 2.0
, c = 5
en d = 2
. Dan in C-programmering,
// Either one of the operands is a floating-point number a/b = 2.5 a/d = 2.5 c/b = 2.5 // Both operands are integers c/d = 2
C Operatoren verhogen en verlagen
C-programmering heeft twee operators increment ++
en verlaag --
om de waarde van een operand (constante of variabele) met 1 te wijzigen.
Verhoog ++
verhoogt de waarde met 1 terwijl --
. wordt verlaagd verlaagt de waarde met 1. Deze twee operatoren zijn unaire operatoren, wat betekent dat ze slechts op één enkele operand werken.
Voorbeeld 2:Operatoren verhogen en verlagen
// Working of increment and decrement operators
#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;
}
Uitvoer
++a = 11 --b = 99 ++c = 11.500000 --d = 99.500000
Hier, de operators ++
en --
worden gebruikt als voorvoegsels. Deze twee operatoren kunnen ook worden gebruikt als postfixes zoals a++
en a--
. Bezoek deze pagina om meer te weten te komen over hoe operatoren voor verhogen en verlagen werken wanneer ze als postfix worden gebruikt.
C-toewijzingsoperators
Een toewijzingsoperator wordt gebruikt om een waarde aan een variabele toe te kennen. 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:Toewijzingsoperators
// Working of assignment operators
#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;
}
Uitvoer
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
C relationele operators
Een relationele operator controleert de relatie tussen twee operanden. Als de relatie waar is, wordt 1 geretourneerd; als de relatie onwaar is, wordt de waarde 0 geretourneerd.
Relationele operatoren worden gebruikt bij besluitvorming en lussen.
Operator | Betekenis van operator | Voorbeeld |
---|---|---|
== | Gelijk aan | 5 == 3 wordt geëvalueerd tot 0 |
> | Groter dan | 5 > 3 wordt geëvalueerd tot 1 |
< | Minder dan | 5 < 3 wordt geëvalueerd tot 0 |
!= | Niet gelijk aan | 5 != 3 wordt geëvalueerd tot 1 |
>= | Groter dan of gelijk aan | 5 >= 3 wordt geëvalueerd tot 1 |
<= | Minder dan of gelijk aan | 5 <= 3 wordt geëvalueerd tot 0 |
Voorbeeld 4:relationele operators
// Working of relational operators
#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;
}
Uitvoer
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 operators
Een expressie die een logische operator bevat, retourneert 0 of 1, afhankelijk van of de expressie waar of onwaar is. Logische operatoren worden vaak gebruikt bij het nemen van beslissingen in C-programmering.
Operator | Betekenis | Voorbeeld |
---|---|---|
&& | Logische EN. Alleen waar als alle operanden waar zijn | Als c =5 en d =2 dan, uitdrukking ((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, uitdrukking ((c==5) || (d>5)) is gelijk aan 1. |
! | Logisch NIET. Alleen waar als de operand 0 is | Als c =5 dan, uitdrukking !(c==5) is gelijk aan 0. |
Voorbeeld 5:Logische operators
// Working of logical operators
#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;
}
Uitvoer
(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 logisch operatorprogramma
(a == b) && (c > 5)
evalueert tot 1 omdat beide operanden(a == b)
en(c > b)
is 1 (waar).(a == b) && (c < b)
evalueert tot 0 omdat operand(c < b)
is 0 (onwaar).(a == b) || (c < b)
evalueert tot 1 omdat(a = b)
is 1 (waar).(a != b) || (c < b)
evalueert tot 0 omdat beide operand(a != b)
en(c < b)
zijn 0 (onwaar).!(a != b)
evalueert tot 1 omdat operand(a != b)
is 0 (onwaar). Daarom is !(a !=b) 1 (waar).!(a == b)
evalueert tot 0 omdat(a == b)
is 1 (waar). Vandaar,!(a == b)
is 0 (onwaar).
C Bitwise-operators
Tijdens de berekening worden wiskundige bewerkingen zoals:optellen, aftrekken, vermenigvuldigen, delen, enz. geconverteerd naar bitniveau, wat de verwerking sneller maakt en energie bespaart.
Bitsgewijze operators worden gebruikt in C-programmering om bewerkingen op bitniveau uit te voeren.
Operators | Betekenis van operators |
---|---|
& | Bitwise EN |
| | Bitgewijs OF |
^ | Bitwise exclusief OF |
~ | Bitsgewijze aanvulling |
<< | Naar links schuiven |
>> | Naar rechts schuiven |
Bezoek de bitsgewijze operator in C voor meer informatie.
Andere operators
Comma-operator
Komma-operators worden gebruikt om verwante uitdrukkingen aan elkaar te koppelen. Bijvoorbeeld:
int a, c = 5, d;
De operator sizeof
De sizeof
is een unaire operator die de grootte van gegevens retourneert (constanten, variabelen, array, structuur, enz.).
Voorbeeld 6:grootte van 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;
}
Uitvoer
Size of int = 4 bytes Size of float = 4 bytes Size of double = 8 bytes Size of char = 1 byte
Andere operators zoals ternaire operator ?:
, referentie-operator &
, dereferentie-operator *
en operator voor ledenselectie ->
wordt in latere tutorials besproken.
C Taal
- Microprocessor-programmering
- C#-operators
- C# Bitsgewijze en Bit Shift-operators
- Naamruimten in C#-programmering
- C++-operators
- Array doorgeven aan een functie in C++-programmering
- Soorten door de gebruiker gedefinieerde functies in C-programmering
- Python-operators
- Java-operators
- C Zelfstudie
- Verilog-operators