Logical operators help you combine or change true/false values to make decisions in your program.
Checking if two conditions are both true before running some code.
Deciding if at least one condition is true to continue an action.
Reversing a true or false value to test the opposite.
Making complex decisions by combining multiple true/false checks.
Syntax
C Sharp (C#)
condition1 && condition2 // AND: true if both are true
condition1 || condition2 // OR: true if at least one is true
!condition // NOT: reverses true/false
Use && to check if both conditions are true.
Use || to check if at least one condition is true.
Use ! to reverse a condition's true/false value.
Examples
AND returns true only if both sides are true.
C Sharp (C#)
bool a = true && false; // a is false
OR returns true if at least one side is true.
C Sharp (C#)
bool b = true || false; // b is true
NOT reverses the value from true to false.
C Sharp (C#)
bool c = !true; // c is false
Combining OR and NOT to get the opposite result.
C Sharp (C#)
bool d = !(false || true); // d is false
Sample Program
This program decides if you should take an umbrella based on weather and if you have one.
C Sharp (C#)
using System;
class Program
{
staticvoid Main()
{
bool isSunny = true;
bool haveUmbrella = false;
if (isSunny && !haveUmbrella)
{
Console.WriteLine("Go outside without umbrella.");
}
elseif (!isSunny || haveUmbrella)
{
Console.WriteLine("Take umbrella just in case.");
}
}
}
OutputSuccess
Important Notes
Logical operators work with boolean values: true or false.
Use parentheses to group conditions and control order.
Short-circuiting: && stops if first is false, || stops if first is true.
Summary
Logical operators combine true/false values to help make decisions.
&& means AND, || means OR, and ! means NOT.
Use them to write clear and simple conditions in your code.
Practice
(1/5)
1. Which logical operator in C# means AND and returns true only if both conditions are true?
easy
A. !
B. ||
C. &&
D. &
Solution
Step 1: Understand the meaning of logical AND
The AND operator returns true only if both conditions it connects are true.
Step 2: Identify the C# symbol for AND
In C#, the logical AND operator is written as &&, which checks both sides for true.
Final Answer:
&& -> Option C
Quick Check:
AND operator = && [OK]
Hint: AND is &&, OR is ||, NOT is ! [OK]
Common Mistakes:
Confusing & (bitwise AND) with && (logical AND)
Mixing OR (||) with AND (&&)
Using ! as AND operator
2. Which of the following is the correct syntax to negate a boolean variable isActive in C#?
easy
A. isActive = !!isActive;
B. isActive = !isActive;
C. isActive = ~isActive;
D. isActive = isActive!;
Solution
Step 1: Understand the NOT operator syntax
The NOT operator in C# is ! and it negates a boolean value.
Step 2: Check the correct usage
Using ! before the variable negates it, so isActive = !isActive; is correct.
Final Answer:
isActive = !isActive; -> Option B
Quick Check:
NOT operator = ! [OK]
Hint: Use ! before variable to negate boolean [OK]
Common Mistakes:
Using double !! which is invalid in C#
Using bitwise NOT ~ on booleans
Placing ! after the variable
3. What is the output of this C# code?
bool a = true; bool b = false; Console.WriteLine(a || b && !a);
medium
A. True
B. False
C. Compilation error
D. Null
Solution
Step 1: Evaluate the expression inside WriteLine
Operator precedence: ! has highest, then &&, then ||. Calculate !a = !true = false. Then b && !a = false && false = false. Finally a || (b && !a) = true || false = true.
Step 2: Determine output
The expression evaluates to true, so Console.WriteLine prints True.
bool x = true; bool y = false; if (x || && y) { Console.WriteLine("Yes"); }
medium
A. No error, code is correct
B. Incorrect use of || operator
C. Missing parentheses around conditions
D. Missing variable before && operator
Solution
Step 1: Analyze the if condition syntax
The condition is written as x || && y, which is invalid because && needs two operands.
Step 2: Identify the missing operand
Between || and && operators, there is no variable or expression before &&, causing syntax error.
Final Answer:
Missing variable before && operator -> Option D
Quick Check:
Logical operators need operands on both sides [OK]
Hint: Each operator needs two conditions [OK]
Common Mistakes:
Writing operators without operands
Assuming || and && can be chained without variables
Missing parentheses but that is not the main error here
5. You want to check if a number n is between 10 and 20 inclusive in C#. Which condition correctly uses logical operators?
hard
A. if (n >= 10 && n <= 20)
B. if (n >= 10 || n <= 20)
C. if (n > 10 && n < 20)
D. if (!(n < 10 && n > 20))
Solution
Step 1: Understand the range condition
To check if n is between 10 and 20 inclusive, n must be greater or equal to 10 AND less or equal to 20.
Step 2: Evaluate each option
if (n > 10 && n < 20) excludes 10 and 20 because it uses > and <. if (n >= 10 || n <= 20) uses OR, which is true for almost all numbers. if (n >= 10 && n <= 20) correctly uses >= and <= with AND. if (!(n < 10 && n > 20)) negates an impossible condition and is incorrect.
Final Answer:
if (n >= 10 && n <= 20) -> Option A
Quick Check:
Inclusive range needs >= and <= with AND [OK]
Hint: Use && with >= and <= for inclusive range [OK]
Common Mistakes:
Using || instead of && for range checks
Using > and < instead of >= and <=
Negating wrong conditions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.