Relational Operatorer
Relationala operatorer (>
, <
, >=
, <=
, ==
, !=
) används för att jämföra två värden. De avgör relationen mellan värdena och returnerar true
eller false
.
För att skriva ut true
när ett booleskt värde skrivs ut med std::cout
, kan du helt enkelt använda std::cout
med ett booleskt 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 manipulatorn std::boolalpha
. 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ändning av operatorer
För att jämföra om något är lika, använd operatorn ==
med två likhetstecken. Observera att =
är en annan operator som används för tilldelning, inte för 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; }
Vid användning av de relationella operatorerna >
(större än) och <
(mindre än) kan två värden jämföras för att avgöra vilket som är större eller mindre. Resultatet blir true
om villkoret uppfylls, annars false
.
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 saldot 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 operatorn >=
eller <=
användas 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 ett booleskt värde skrivs ut?
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 3.85
Relational Operatorer
Svep för att visa menyn
Relationala operatorer (>
, <
, >=
, <=
, ==
, !=
) används för att jämföra två värden. De avgör relationen mellan värdena och returnerar true
eller false
.
För att skriva ut true
när ett booleskt värde skrivs ut med std::cout
, kan du helt enkelt använda std::cout
med ett booleskt 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 manipulatorn std::boolalpha
. 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ändning av operatorer
För att jämföra om något är lika, använd operatorn ==
med två likhetstecken. Observera att =
är en annan operator som används för tilldelning, inte för 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; }
Vid användning av de relationella operatorerna >
(större än) och <
(mindre än) kan två värden jämföras för att avgöra vilket som är större eller mindre. Resultatet blir true
om villkoret uppfylls, annars false
.
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 saldot 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 operatorn >=
eller <=
användas 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 ett booleskt värde skrivs ut?
2. Hur kan du kontrollera om två strängar inte är lika?
Tack för dina kommentarer!