عملگرهای منطقی در زبان C
در جدول زیر عملگرهای منطقی در زبان C را مشاهده می کنید. فرض کنید متغیر A مقدار true و متغیر B مقدار false در خود ذخیره کرده است:
عملگر | توضیحات | مثال |
&& | عملگر AND (و منطقی) اگر هر دو عملوند true باشند نتیجه شرط نیز true خواهد بود. | (A && B) is false. |
|| | عملگر OR (یا منطقی) اگر فقط یکی از دو عملوند true باشند نتیجه شرط نیز true خواهد بود. | (A || B) is true. |
! | عملگر NOT (نقیض منطقی) وضعیت منطقی عملوند را برعکس می کند (یعنی اگر true باشد، آن را false می کند و بلعکس). | !(A && B) is true. |
عملگر && (AND منطقی)
در عملگر && اگر مقدار همه عملوندها true باشد، نتیجه true می شود. اما اگر فقط یکی از عملوندها false باشد، نتیجه false می شود. در زیر جدول درستی مربوط به عملگر AND در زبان C را مشاهده می کنید.
مثال:
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> int main() { int a = 5; int b = 20; int c ; if ( a && b ) { printf("Condition is true\n" ); } return 0; } |
بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.
1 | Condition is true |
عملگر || (OR منطقی)
نتیجه عملگر || فقط زمانی false می شود که همه عملوندها false باشند، در غیر این صورت true می شود. در زیر جدول درستی مربوط به عملگر OR در زبان C را مشاهده می کنید.
مثال:
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> int main() { int a = 5; int b = 20; int c ; if ( a || b ) { printf("Condition is true\n" ); } return 0; } |
بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.
1 | Condition is true |
عملگر ! (NOT منطقی)
در عملگر ! اگر مقدار عملوند برابر true باشد نتیجه false و اگر مقدار عملوند false باشد نتیجه true را بر می گرداند. عملگر ! برخلاف سایر عملگرها، فقط بر روی یک عملوند کار می کند. در زیر جدول درستی مربوط به عملگر NOT در زبان C را مشاهده می کنید.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main() { int a = 5, b = 5, c = 10, result; result = (a == b) && (c > b); printf("(a == b) && (c > b) equals to %d \n", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) equals to %d \n", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) equals to %d \n", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) equals to %d \n", result); result = !(a != b); printf("!(a == b) equals to %d \n", result); result = !(a == b); printf("!(a == b) equals to %d \n", result); return 0; } |
بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.
1 2 3 4 5 6 | (a == b) && (c > b) equals to 1 (a == b) && (c < b) equals to 0 (a == b) || (c < b) equals to 1 (a != b) || (c < b) equals to 0 !(a != b) equals to 1 !(a == b) equals to 0 |
هیچ نظری ثبت نشده است