Relational Operatorer
Relational operators (>
, <
, >=
, <=
, ==
, !=
) används för att jämföra två värden. De bestämmer relationen mellan värdena och ger true
eller false
.
För att skriva ut true
när du skriver ut ett booleskt värde med std::cout
, kan du helt enkelt använda std::cout
med ett bool-värde.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard skriver std::cout
ut ett för true
och noll för false
. För att skriva ut true
och false
som ord, behöver du använda std::boolalpha
manipulatorn. Den instruerar std::cout
att visa booleska värden som ord istället för siffror.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Använda operatorer
För att jämföra om något är lika, använd ==
operatorn med två likhetstecken. Kom ihåg, =
är en annan operator som används för tilldelning, inte jämförelse.
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; }
När du använder de relaterade operatorerna >
(större än) och <
(mindre än), kan du jämföra två värden för att kontrollera vilket som är större eller mindre. Resultatet blir true
om villkoret uppfylls, och false
annars.
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; }
Om användaren vill ta ut 500 och deras saldo också är 500, kommer >
-operatorn att returnera false
, eftersom den kontrollerar om saldot är strikt större än uttagsbeloppet. Uttaget är dock fortfarande möjligt. I detta fall bör du använda >=
eller <=
-operatorn för att kontrollera om saldot är större än eller lika med uttagsbeloppet, vilket korrekt skulle returnera 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. Vad är standardbeteendet för std::cout
när den skriver ut ett booleskt värde?
2. Hur kan du kontrollera om två strängar inte är lika?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4
Relational Operatorer
Svep för att visa menyn
Relational operators (>
, <
, >=
, <=
, ==
, !=
) används för att jämföra två värden. De bestämmer relationen mellan värdena och ger true
eller false
.
För att skriva ut true
när du skriver ut ett booleskt värde med std::cout
, kan du helt enkelt använda std::cout
med ett bool-värde.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard skriver std::cout
ut ett för true
och noll för false
. För att skriva ut true
och false
som ord, behöver du använda std::boolalpha
manipulatorn. Den instruerar std::cout
att visa booleska värden som ord istället för siffror.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Använda operatorer
För att jämföra om något är lika, använd ==
operatorn med två likhetstecken. Kom ihåg, =
är en annan operator som används för tilldelning, inte jämförelse.
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; }
När du använder de relaterade operatorerna >
(större än) och <
(mindre än), kan du jämföra två värden för att kontrollera vilket som är större eller mindre. Resultatet blir true
om villkoret uppfylls, och false
annars.
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; }
Om användaren vill ta ut 500 och deras saldo också är 500, kommer >
-operatorn att returnera false
, eftersom den kontrollerar om saldot är strikt större än uttagsbeloppet. Uttaget är dock fortfarande möjligt. I detta fall bör du använda >=
eller <=
-operatorn för att kontrollera om saldot är större än eller lika med uttagsbeloppet, vilket korrekt skulle returnera 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. Vad är standardbeteendet för std::cout
när den skriver ut ett booleskt värde?
2. Hur kan du kontrollera om två strängar inte är lika?
Tack för dina kommentarer!