عملگرهای منطقی
آشنایی با عملگرهای منطقی در C++ برای ترکیب شرطها
عملگرهای منطقی
عملگرهای منطقی (Logical Operators) برای ترکیب چند شرط استفاده میشوند.
انواع عملگرهای منطقی
| عملگر | نام | توضیح | مثال |
|---|---|---|---|
| && | AND | هر دو true باشند | x > 5 && x < 10 |
| || | OR | حداقل یکی true باشد | x < 5 || x > 10 |
| ! | NOT | معکوس کردن | !(x > 5) |
عملگر AND (&&)
نتیجه true است اگر هر دو شرط true باشند.
| A | B | A && B |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
int age = 25;
bool hasLicense = true;
bool canDrive = (age >= 18 && hasLicense); // true
عملگر OR (||)
نتیجه true است اگر حداقل یکی از شرطها true باشد.
| A | B | A || B |
|---|---|---|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
int age = 16;
bool hasParentConsent = true;
bool canDrive = (age >= 18 || hasParentConsent); // true
عملگر NOT (!)
نتیجه معکوس مقدار ورودی است.
| A | !A |
|---|---|
| true | false |
| false | true |
bool isStudent = false;
bool isNotStudent = !isStudent; // true
ترکیب عملگرهای منطقی
int age = 25;
bool hasLicense = true;
bool hasInsurance = false;
bool canRentCar = (age >= 21 && hasLicense && hasInsurance); // false
ارزیابی کوتاهمدت (Short-circuit)
C++ شرطها را از چپ به راست ارزیابی میکند و به محض مشخص شدن نتیجه، ارزیابی را متوقف میکند.
int x = 5;
bool result = (x > 10 && x / 0 > 0); // خطا نمیدهد چون x > 10 false است
بهترین شیوهها
- از پرانتز برای وضوح استفاده کنید
- از ارزیابی کوتاهمدت به نفع خود استفاده کنید
- شرطهای ساده را اول بنویسید
نکات مهم
- عملگرها از چپ به راست ارزیابی میشوند
- ارزیابی کوتاهمدت میتواند از خطا جلوگیری کند
- همیشه نتیجه true یا false است
این مبحث بخشی از دوره آموزش کامل C++ است.