آموزش C++

مباحث پایه زبان C++

عملگرها در زبان C++ – آموزش C++

  • چهارشنبه ۱۴ شهریور ۱۳۹۷
  • بازدید ۳,۹۷۱ نفر

تصویر cpp-operators_3904 عملگرها در زبان C++ - آموزش C++

عملگرها در زبان 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++ به آموزش مربوطه مراجعه کنید.

عملگرهای بیتی

از عملگرهای بیتی برای دستکاری بیت ها استفاده می شود. در زیر جدول درستی را برای عملگر های &، | و ^ مشاهده می کنید:

pqp & qp | qp ^ q
00000
01011
11110
10011

فرض کنید A = 60 و B = 13 باشد، آنگاه فرمت باینری آن ها به صورت زیر خواهد بود:

در جدول زیر عملگرهای بیتی پشتیبانی شده در زبان 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++ پشتیبانی می شوند را مشاهده می کنید:

ردیفتوضیحات
1sizeof

اندازه نوع داده را برمی گرداند.

2Condition ? X : Y

عملگر شرطی، اگر شرط true باشد، مقدار X را بر میگرداند و اگر false باشد، مقدار Y را بر میگرداند.

3,

باعث می شود که یک دنباله از عملیات انجام شود و در نهایت مقداری که در آخرین عملیات جدا شده با کاما تولید شده است را بر میگرداند.

4. (dot) and -> (arrow)

عملگرهای عضو، برای دسترسی به اعضای کلاس، struct و union ها استفاده می شود.

5Cast

عملگر تبدیل نوع، برای تبدیل انواع داده های مختلف به یک دیگر استفاده می شود. برای مثال int(2.2000) مقدار 2 را بر میگرداند.

6&

عملگر اشاره گر، آدرس یک متغیر را برمی گرداند. مثلا &a; آدرسی که متغیر a در آن قرار دارد را بر میگرداند.

7*

عملگر اشاره گر، اشاره به یک متغیر. مثلا *var; به متغیر var اشاره می کند.

برای مشاهده نحوه استفاده از عملگرهای متفرقه در زبان C++ به آموزش مربوطه مراجعه کنید.

تقدم عملگرها در C++

در جدول زیر تقدم عملگرهای موجود در زبان برنامه نویسی C++ را مشاهده می کنید.

دسته بندیعملگرهاترتیب
پسوندی() [] -> . ++ – –از چپ به راست
یگانی+ – ! ~ ++ – – (type)* & sizeofاز راست به چپ
ضربی* / %از چپ به راست
افزودنی+ –از چپ به راست
شیفت<< >>از چپ به راست
رابطه ای< <= > >=از چپ به راست
برابری== !=از چپ به راست
AND بیتی&از چپ به راست
XOR بیتی^از چپ به راست
OR بیتی|از چپ به راست
AND منطقی&&از چپ به راست
OR منطقی||از چپ به راست
شرطی?:از راست به چپ
انتسابی= += -= *= /= %=>>= <<= &= ^= |=از راست به چپ
کاما,از چپ به راست

برای مشاهده نحوه استفاده از تقدم عملگرها در زبان C++ به آموزش مربوطه مراجعه کنید.

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است