عملگر نمادی است که به کامپایلر دستور می دهد تا عملیات ریاضی را انجام دهد. در زبان برنامه نویسی C++ مجموعه کاملی از این عملگرها وجود دارد که شامل موارد زیر است:
در این آموزش عملگرهای بالا را به ترتیب توضیح خواهیم داد.
عملگر های ریاضی که در C++ پشتیبانی می شوند در جدول زیر قرار گرفته است:
فرض کنید که متغیر A حاوی مقدار ۱۰ و متغیر B حاوی مقدار 20 باشد:
عملگر | توضیحات | مثال |
---|---|---|
+ | برای جمع دو مقدار مورد استفاده قرار می گیرد | A +B = 30 |
- | مقدار عملوند دوم را از مقدار عملوند اول کم می کند | A –B = -10 |
* | مقدار عملوند دوم را از مقدار عملوند اول کم می کند | A *B = 200 |
/ | دو عملوند را در هم ضرب می کند | B / A = 2 |
% | باقیمانده تقسیم مقدار عملوند دوم بر مقدار عملوند اول را برمی گرداند | B % A = 0 |
++ | به مقدار قبلی عملوند یک واحد اضافه می کن | A++ = 11 |
-- | از مقدار قبلی عملوند یک واحد کم می کند | A-- = 9 |
عملگر های رابطه ای زیر در C++ پشتیبانی می شوند:
فرض کنید متغیر A دارای مقدار 10 و متغیر B دارای مقدار 20 باشد:
عملگر | توضیحات | مثال |
---|---|---|
== | بررسی می کند که مقدار دو عملوند با هم برابر است یا نه و اگر برابر باشد شرط درست است | (A == B) is not true |
!= | در صورت برابر نبودن مقدار دو عملوند شرط درست است | (A != B) is true. |
> | در صورتی که مقدار عملوند A (سمت چپ) از B(سمت راست) بزرگتر باشد شرط درست است | (A > B) is not true. |
< | اگر مقدار عملوند A (سمت چپ) از B (سمت راست) کمتر باشد شرط درست است | (A < B) is true. |
>= | در صورتی که مقدار عملوند A (سمت چپ) بزرگتر یا برابر مقدار عملوند B(سمت راست) باشد شرط درست است | (A >= B) is not true. |
<= | در صورتی که مقدار عملوند A (سمت چپ) کمتر یا برابر مقدار عملوند B(سمت راست) باشد شرط درست است | (A <= B) is true. |
عملگرهای منطقی زیر در C++ پشتیبانی می شود.
فرض کنید متغیر A دارای مقدار 10 و متغیر B دارای مقدار 20 باشد:
عملگر | توضیحات | مثال |
---|---|---|
&& | عملگر AND (و منطقی) در صورتی که هر دو عملوند true باشند شرط true است. | (A && B) is false. |
|| | عملگر OR (یا منطقی) در صورتی که فقط یکی از دو عملوند ها true باشد شرط true است. | (A || B) is true. |
! | برای تغییر وضعیت منطعی عملوند و برع آن استفاده می شود. برای مثال اگر شرط برابر true باشد آن را false می کند. | !(A && B) is true. |
عملگرهای بیتی بر روی بیت ها کار می کنند. جداول حقیقی برای &، |، و ^ به شرح زیر است
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 باشد، در حال حاضر فرمت باینری آنها به شرح زیر خواهد بود:
A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011
عملگر های بیتی پشتیبانی شده در C++ در جدول زیر شرح داده شده است:
فرض کنید متغیر A دارای مقدار ۶۰ و متغیر B دارای مقدار ۱۳ باشد:
عملگر | توضیحات | مثال |
---|---|---|
& | عملگر باینری AND که اگر هر دو عملوند true باشند یک بیت را در نتیجه کپی می کند. | (A & B) که برابر با 12 است و می شود 00001100 |
| | عملگر باینری OR که اگر یکی از عملوند ها true باشد یک بیت را در نتیجه کپی می کند. | (A | B) که برابر با 61 است و می شود 00111101 |
^ | عملگر باینری XOR که اگر هر دو عملوند true یا false نباشند یک بیت در نتیجه کپی می کند. | (A ^ B) will give 49 which is 0011 0001 |
~ | به عملگر یکانی نقیض معروف است و کار آن برع مقدار است. هر جا 1 بود 0 می کند و بلعکس. | ( A ^ B) که برابر است با 49 و می شود 00110001 |
<< | عملگر باینری شیفت چپ | A << 2 که برابر است با 240 و می شود 11110000 |
>> | عملگر باینری شیفت راست | A >> 2 که برابر است با 15 و می شود 0000111 |
عملگر های انتسابی پشتیبانی شده در C++:
عملگر | توضیحات | مثال |
---|---|---|
= | عملگر انتساب ساده که مقدار عملوند راست را در عمولند سمت چپ قرار می دهد | A + B = C که مقدار 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++:
ردیف | عملگرها و توضیحات |
---|---|
1 | sizeof اندازه متغیر را بر می گرداند |
2 | Condition ? X : Y اگر شرط درست باشد مقدار متغیر x و اگر غلط باشد مقدار متغیر y را بر می گرداند |
3 | , برای انجام دنباله ای از عملیات مورد استفاده قرار می گیرد و مقداری که تولید شده در آخرین عملیاتی که کاما آن را جدا کرده است را بر می گرداند |
4 | . (dot) and -> (arrow) برای دسترسی به اعضای کلاس، union ها و struct ها مورد استفاده قرار می گیرد. |
5 | Cast برای تبدیل نوع انواع داده ها مورد استفاده قرار می گیرد. |
6 | & این عملگر اشاره گر آدرس یک متغیر را بر میگرداند. |
7 | * این عملگر اساره گر به یک متغیر اشاره می کند. مثلا *var; به متغیر var اشاره می کند |
اولویت یک عملگر ترتیب اجرای آن را در یک عبارت تعیین میکند که بر نتیجه عبارت تاثیر گذار است. برخی اولویت بالاتری نسبت به سایر آن ها دارند. برای مثال عملگر ضرب دارای اولویت بالاتری نسبت به عملگر به علاوه است.
برای مثال در عبارت x = 7 + 3 * 2، مقدار x برابر با ۱۳ است و مقدار آن ۲۰ نمی باشد زیرا * اولویت بالاتری نسبت به + دارد. بنابراین ابتدا 2*3 انجام می شود و سپس مقدار آن با 7 جمع می شود. در جدول زیر اولویت عملگرها به ترتیب بیشترین اولویت قرار گرفته است. آن هایی که اولویت کمتری دارند در انتهای جدول قرار داده شدهاند. در یک عبارت ابتدا اجرای عملگری انجام میشود که اولویت بالاتری دارند.
دسته بندی | عملگرها | ترتیب |
---|---|---|
پسوند | () [] -> . ++ - - | چپ به راست |
یگانی | + - ! ~ ++ - - (type)* & sizeof | راست به چپ |
ضربی | * / % | چپ به راست |
افزودنی | + - | چپ به راست |
شیفت | << >> | چپ به راست |
رابطه ای | < <= > >= | چپ به راست |
برابری یا تساوی | == != | چپ به راست |
بیتی AND | & | چپ به راست |
بیتی XOR | ^ | چپ به راست |
بیتی OR | | | چپ به راست |
منطقیAND | && | چپ به راست |
منطقی OR | || | چپ به راست |
شرطی | ?: | راست به چپ |
انتسابی | = += -= *= /= %=>>= <<= &= ^= |= | راست به چپ |
کاما | , | چپ به راست |
از اینکه سایت برنامه نویسان را انتخاب کردید متشکریم با تشکر از سایتilikephp.
آموزش برنامه نویسی قسمت چهاردهم
آموزش برنامه نویسی قسمت سیزدهم
آموزش برنامه نویسی قسمت دوازدهم
عملوند ,های ,متغیر ,a ,عملگر ,برابر ,مقدار عملوند , چپ به ,شرط درست ,b is ,استفاده قرار ,باشد مقدار متغیر
درباره این سایت