عملگرها در زبان C++
عملگر نمادی است که به کامپایلر می گوید تا یک عملیات ریاضی یا منطقی را انجام دهد. در زبان برنامه نویسی C++ مجموعه غنی از عملگرهای پیش ساخته وجود دارد که به صورت زیر دسته بندی شده است.
انواع عملگرها در زبان C++
- عملگرهای ریاضی
- عملگرهای رابطه ای
- عملگرهای منطقی
- عملگرهای بیتی
- عملگرهای انتساب
- عملگرهای متفرقه
در این آموزش عملگرهای بالا را بررسی خواهیم کرد.
عملگرهای ریاضی
در جدول زیر عملگرهای ریاضی پشتیبانی شده در زبان C++ را مشاهده می کنید. فرض کنید متغیر A مقدار 10 و متغیر B مقدار 20 در خود ذخیره کرده است:
عملگر | توضیحات | مثال |
+ | برای جمع دو مقدار استفاده می شود. | A + B = 30 |
– | مقدار عملوند راست را از مقدار عملوند چپ کم می کند. | A – B = -10 |
* | برای ضرب دو مقدار استفاده می شود. | A * B = 200 |
/ | مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند. | B / A = 2 |
% | مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند و باقیمانده را بر می گرداند | B % A = 0 |
++ | یک واحد به مقدار قبلی اضافه می کند. | A++ = 11 |
— | یک واحد از مقدار قبلی کم می کند. | A– = 9 |
برای مشاهده نحوه استفاده از عملگرهای ریاضی در زبان C++ به آموزش مربوطه مراجعه کنید.
عملگرهای رابطه ای
در جدول زیر عملگرهای رابطه ای پشتیبانی شده در زبان C++ را مشاهده می کنید. فرض کنید متغیر A مقدار 10 و متغیر B مقدار 20 در خود ذخیره کرده است:
عملگر | توضیحات | مثال |
== | اگر مقادیر دو عملوند با هم برابر باشد، شرط درست است. | (A == B) is not true. |
!= | اگر مقادیر دو عملوند با هم برابر نباشد، شرط درست است. | (A != B) is true. |
> | اگر مقدار عملوند سمت چپ از مقدار عملوند سمت راست بزرگتر باشد، شرط درست است. | (A > B) is not true. |
< | اگر مقدار عملوند سمت چپ از مقدار عملوند سمت راست کوچکتر باشد، شرط درست است. | (A < B) is true. |
>= | اگر مقدار عملوند سمت چپ بزرگتر یا مساوی مقدار عملوند سمت راست باشد، شرط درست است. | (A >= B) is not true. |
<= | اگر مقدار عملوند سمت چپ کمتر یا مساوی مقدار عملوند سمت راست باشد، شرط درست است. | (A <= B) is true. |
برای مشاهده نحوه استفاده از عملگرهای رابطه ای در زبان 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. |
برای مشاهده نحوه استفاده از عملگرهای منطقی در زبان C++ به آموزش مربوطه مراجعه کنید.
عملگرهای بیتی
از عملگرهای بیتی برای دستکاری بیت ها استفاده می شود. در زیر جدول درستی را برای عملگر های &، | و ^ مشاهده می کنید:
p | q | p & q | p | q | p ^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
فرض کنید A = 60 و B = 13 باشد، آنگاه فرمت باینری آن ها به صورت زیر خواهد بود:
1 2 3 4 5 6 7 | A = 0011 1100 B = 0000 1101 ------------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011 |
در جدول زیر عملگرهای بیتی پشتیبانی شده در زبان C++ را مشاهده می کنید. فرض کنید متغیر A مقدار 60 و متغیر B مقدار 13 در خود ذخیره کرده است:
عملگر | توضیحات | مثال |
& | اگر هر دو عملوند true باشند، یک بیت در نتیجه کپی می کند. | (A & B) = 12 که برابر است با 0000 1100 |
| | اگر یکی از عملوندها true باشند، یک بیت در نتیجه کپی می کند. | (A | B) = 61 که برابر است با 0011 1101 |
^ | اگر مقدار هر دو عملوند یکسان نباشد (یعنی هر دو true یا هر دو false نباشند)، یک بیت در نتیجه کپی می کند. | (A ^ B) = 41که برابر است با 0011 0001 |
~ | عملگر یکانی نقیض می باشد و کارش این است که هر جا 1 بود 0 و هر جا 0 بود 1 می گذارد. | (~A ) = 61 که برابر است با 1100 0011 |
<< | مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به چپ شیفت می دهد. | A << 2 = 240 که برابر است با 1111 0000 |
>> | مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به راست شیفت می دهد. | A >> 2 = 15 که برابر است با 0000 1111 |
برای مشاهده نحوه استفاده از عملگرهای بیتی در زبان C++ به آموزش مربوطه مراجعه کنید.
عملگرهای انتساب
در جدول زیر عملگرهای انتساب پشتیبانی شده در زبان C++ را مشاهده می کنید:
عملگر | توضیحات | مثال |
= | مقدار عملوند سمت راست را در عملوند سمت چپ قرار می دهد. | C = A + B نتیجه جمع دو متغیر A و B را در متغیر C قرار می دهد. |
+= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ جمع کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C += A معادل C = C + A |
-= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ کم کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C -= A معادل C = C – A |
*= | مقدار عملوند سمت راست را با مقدار عملوند سمت چپ ضرب کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C *= A معادل C = C * A |
/= | مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم کرده و نتیجه را در عملوند سمت چپ قرار می دهد. | C /= A معادل C = C / A |
%= | مقدار دو عملوند را بر هم تقسیم کرده و باقیمانده را در عملوند سمت چپ قرار می دهد. | C %= A معادل C = C % A |
<<= | عملگر انتساب شیفت به چپ | C <<= 2 معادل C = C << 2 |
>>= | عملگر انتساب شیفت به راست | C >>= 2 معادل C = C >> 2 |
&= | عملگر AND بیتی | C &= 2 معادل C = C & 2 |
^= | عملگر انتساب exclusive OR بیتی | C ^= 2 معادل C = C ^ 2 |
|= | عملگر انتساب inclusive OR بیتی | C |= 2 معادل C = C | 2 |
برای مشاهده نحوه استفاده از عملگرهای انتساب در زبان C++ به آموزش مربوطه مراجعه کنید.
عملگرهای متفرقه
در جدول زیر سایر عملگرهای مهمی که در زبان C++ پشتیبانی می شوند را مشاهده می کنید:
ردیف | توضیحات |
1 | sizeof اندازه نوع داده را برمی گرداند. |
2 | Condition ? X : Y عملگر شرطی، اگر شرط true باشد، مقدار X را بر میگرداند و اگر false باشد، مقدار Y را بر میگرداند. |
3 | , باعث می شود که یک دنباله از عملیات انجام شود و در نهایت مقداری که در آخرین عملیات جدا شده با کاما تولید شده است را بر میگرداند. |
4 | . (dot) and -> (arrow) عملگرهای عضو، برای دسترسی به اعضای کلاس، struct و union ها استفاده می شود. |
5 | Cast عملگر تبدیل نوع، برای تبدیل انواع داده های مختلف به یک دیگر استفاده می شود. برای مثال int(2.2000) مقدار 2 را بر میگرداند. |
6 | & عملگر اشاره گر، آدرس یک متغیر را برمی گرداند. مثلا &a; آدرسی که متغیر a در آن قرار دارد را بر میگرداند. |
7 | * عملگر اشاره گر، اشاره به یک متغیر. مثلا *var; به متغیر var اشاره می کند. |
برای مشاهده نحوه استفاده از عملگرهای متفرقه در زبان C++ به آموزش مربوطه مراجعه کنید.
تقدم عملگرها در C++
در جدول زیر تقدم عملگرهای موجود در زبان برنامه نویسی C++ را مشاهده می کنید.
دسته بندی | عملگرها | ترتیب |
پسوندی | () [] -> . ++ – – | از چپ به راست |
یگانی | + – ! ~ ++ – – (type)* & sizeof | از راست به چپ |
ضربی | * / % | از چپ به راست |
افزودنی | + – | از چپ به راست |
شیفت | << >> | از چپ به راست |
رابطه ای | < <= > >= | از چپ به راست |
برابری | == != | از چپ به راست |
AND بیتی | & | از چپ به راست |
XOR بیتی | ^ | از چپ به راست |
OR بیتی | | | از چپ به راست |
AND منطقی | && | از چپ به راست |
OR منطقی | || | از چپ به راست |
شرطی | ?: | از راست به چپ |
انتسابی | = += -= *= /= %=>>= <<= &= ^= |= | از راست به چپ |
کاما | , | از چپ به راست |
برای مشاهده نحوه استفاده از تقدم عملگرها در زبان C++ به آموزش مربوطه مراجعه کنید.
هیچ نظری ثبت نشده است