عملگرهای منطقی (Logical)
عملگرهای منطقی (Logical Operators) شرط ها را ترکیب می کنند. نتیجه بولی (Boolean) است؛ یعنی 1 برای درست و 0 برای نادرست. مثل آزمون های درست/غلط در مدرسه.
AND یا &&
عملگر AND فقط وقتی 1 می دهد که هر دو شرط درست باشند.
int x = 7;
printf("%d\n", x < 5 && x < 10);
OR یا ||
عملگر OR اگر یکی از شرط ها درست باشد، 1 برمی گرداند.
int x = 4;
printf("%d\n", x < 5 || x < 4);
NOT یا !
عملگر NOT نتیجه شرط را برعکس می کند. درست را نادرست می کند.
int x = 7;
printf("%d\n", !(x < 5 && x < 10));
مثال روزمره: بررسی ورود
با ترکیب شرط ها می توان وضعیت دسترسی را ساده سنجید.
bool isLoggedIn = true;
bool isAdmin = false;
printf("Regular user: %s\n", (isLoggedIn && !isAdmin) ? "true" : "false");
printf("Has access: %s\n", (isLoggedIn || isAdmin) ? "true" : "false");
printf("Not logged in: %s\n", (!isLoggedIn) ? "true" : "false");
گام های عملی
- دو شرط ساده بساز.
- با && یا || آن ها را ترکیب کن.
- با ! نتیجه را برعکس آزمایش کن.
نکته: چاپ نتیجه منطقی معمولاً 1 و 0 است. برای متن، از ? : کمک بگیر.
برای مرور، صفحه عملگرهای منطقی را نگه دار. سپس به عملگرهای مقایسه و تقدم عملگرها سر بزن.
جمع بندی سریع
- && فقط با دو شرطِ درست، 1 می دهد.
- || با یکی درست هم 1 می دهد.
- ! نتیجه را برعکس می کند.
- خروجی معمولاً 1 یا 0 است.