Kursinnehåll
Introduktion till C++
Introduktion till C++
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
#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
second_boolaplha_usage
#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
#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
#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
#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!