Relationelle Operatorer
Relationale operatorer (>
, <
, >=
, <=
, ==
, !=
) bruges til at sammenligne to værdier. De fastslår forholdet mellem værdierne og returnerer true
eller false
.
For at vise true
, når en boolesk værdi udskrives med std::cout
, kan du blot bruge std::cout
med en bool-værdi.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard udskriver std::cout
ét for true
og nul for false
. For at udskrive true
og false
som ord, skal du bruge manipulatoren std::boolalpha
. Den instruerer std::cout
i at vise booleske værdier som ord i stedet for tal.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Brug af operatorer
For at sammenligne om noget er lig med, anvendes operatoren ==
med to lighedstegn. Bemærk, at =
er en anden operator, som bruges til tildeling og ikke til sammenligning.
main.cpp
123456789#include <iostream> int main() { // Imagine you need to verify if the user has entered the correct password std::cout << std::boolalpha; std::cout << ("yw>r'Peq/2d" == "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" == "VzF>.6Qy(UI?") << std::endl; }
Ved brug af de relationelle operatorer >
(større end) og <
(mindre end) kan to værdier sammenlignes for at afgøre, hvilken der er størst eller mindst. Resultatet vil være true
, hvis betingelsen er opfyldt, og false
ellers.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 300 from an account balance of 500 std::cout << (500 > 300) << std::endl; }
Hvis brugeren ønsker at hæve 500, og deres saldo også er 500, vil operatoren >
returnere false
, da den kontrollerer, om saldoen er strengt større end hævebeløbet. Hævningen er dog stadig mulig. I dette tilfælde bør operatoren >=
eller <=
anvendes for at kontrollere, om saldoen er større end eller lig med hævebeløbet, hvilket korrekt vil returnere true
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 500 from an account balance of 500 std::cout << (500 >= 500) << std::endl; }
1. Hvad er standardadfærden for std::cout
, når en boolesk værdi udskrives?
2. Hvordan kan du kontrollere, om to strenge ikke er ens?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you give an example of using relational operators in code?
What does `std::boolalpha` do in practice?
When should I use `>=` instead of `>`?
Awesome!
Completion rate improved to 3.85
Relationelle Operatorer
Stryg for at vise menuen
Relationale operatorer (>
, <
, >=
, <=
, ==
, !=
) bruges til at sammenligne to værdier. De fastslår forholdet mellem værdierne og returnerer true
eller false
.
For at vise true
, når en boolesk værdi udskrives med std::cout
, kan du blot bruge std::cout
med en bool-værdi.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard udskriver std::cout
ét for true
og nul for false
. For at udskrive true
og false
som ord, skal du bruge manipulatoren std::boolalpha
. Den instruerer std::cout
i at vise booleske værdier som ord i stedet for tal.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Brug af operatorer
For at sammenligne om noget er lig med, anvendes operatoren ==
med to lighedstegn. Bemærk, at =
er en anden operator, som bruges til tildeling og ikke til sammenligning.
main.cpp
123456789#include <iostream> int main() { // Imagine you need to verify if the user has entered the correct password std::cout << std::boolalpha; std::cout << ("yw>r'Peq/2d" == "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" == "VzF>.6Qy(UI?") << std::endl; }
Ved brug af de relationelle operatorer >
(større end) og <
(mindre end) kan to værdier sammenlignes for at afgøre, hvilken der er størst eller mindst. Resultatet vil være true
, hvis betingelsen er opfyldt, og false
ellers.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 300 from an account balance of 500 std::cout << (500 > 300) << std::endl; }
Hvis brugeren ønsker at hæve 500, og deres saldo også er 500, vil operatoren >
returnere false
, da den kontrollerer, om saldoen er strengt større end hævebeløbet. Hævningen er dog stadig mulig. I dette tilfælde bør operatoren >=
eller <=
anvendes for at kontrollere, om saldoen er større end eller lig med hævebeløbet, hvilket korrekt vil returnere true
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 500 from an account balance of 500 std::cout << (500 >= 500) << std::endl; }
1. Hvad er standardadfærden for std::cout
, når en boolesk værdi udskrives?
2. Hvordan kan du kontrollere, om to strenge ikke er ens?
Tak for dine kommentarer!