bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/C++/C++ Tutorial
C++•C++ Tutorial

C++ Logical Operators in Conditions

Logical Operators in Conditions

You can combine or reverse conditions using logical operators . These work together with if , else , and else if to build more complex decisions.

  • && (AND) - all conditions must be true
-(OR) - at least one condition must be true
  • ! (NOT) - reverses a condition ( true → false , false → true )

AND ( && )

Use AND ( && ) when both conditions must be true:

a

OR ( || )

Use OR ( || ) when at least one of the conditions can be true:

a

NOT ( ! )

The NOT operator ( ! ) reverses a condition:

  • If a condition is true , ! makes it false .
  • If a condition is false , ! makes it true .

This is useful when you want to check that something is not the case:

a

Real-Life Example

In real programs, logical operators are often used for access control. For example, to get access to a system, there are specific requirements:

You must be logged in, and then you either need to be an admin, or have a high security clearance (level 1 or 2):

Example

bool isLoggedIn = true;
bool isAdmin = false;
int securityLevel = 3; // 1 = highest
if (isLoggedIn && (isAdmin || securityLevel <= 2)) {
  cout << "Access granted.";
} else {
cout << "Access denied.";
}
// Try changing securityLevel and isAdmin to test different outcomes: // securityLevel 1 = Access granted // securityLevel 2 = Access granted // securityLevel 3 = Access denied // securityLevel 4 = Access denied // If isAdmin = true, access is granted.

Previous

C++ Nested If

Next

C++ Switch

This chapter

Overview
64

Lessons

138m

Read time

1. C++ Tutorial2. C++ Introduction3. C++ Getting Started4. C++ Syntax5. C++ Statements6. C++ Output (Print Text)7. C++ Output Numbers8. C++ New Lines9. C++ Comments10. C++ Variables11. C++ Declare Multiple Variables12. C++ Identifiers13. C++ Constants14. C++ User Input15. C++ Data Types16. C++ Numeric Data Types17. C++ Boolean Data Types18. C++ Character Data Types19. C++ String Data Types20. C++ auto21. C++ Operators22. C++ Arithmetic Operators23. C++ Assignment Operators24. C++ Comparison Operators25. C++ Logical Operators26. C++ Operator Precedence27. C++ Strings28. C++ String Concatenation29. C++ Numbers and Strings30. C++ String Length31. C++ Access Strings32. C++ Special Characters33. C++ User Input Strings34. C++ String Namespace35. C++ C-Style Strings36. C++ Math37. C++ Booleans38. C++ Boolean Expressions39. C++ If ... Else40. C++ Else41. C++ Else If42. C++ Short Hand If Else43. C++ Nested If44. C++ Logical Operators in Conditions45. C++ Switch46. C++ While Loop47. C++ Do/While Loop48. C++ For Loop49. C++ Nested Loops50. C++ The foreach Loop51. C++ Break and Continue52. C++ Arrays53. C++ Arrays and Loops54. C++ Omit Array Size55. C++ Array Size56. C++ Multi-Dimensional Arrays57. C++ Structures (struct)58. C++ Enumeration (enum)59. C++ Memory Address60. C++ Pointers61. C++ Dereference62. C++ Modify Pointers63. C++ Memory Management64. C++ new and delete

On this page

Logical Operators in ConditionsAND ( && )OR ( || )NOT ( ! )Real-Life Example