رفتن به مطلب
محفل من
Mostafa

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

پست های پیشنهاد شده

عملگر نمادی است که به کامپایلر می گوید تا یک عملیات ریاضی یا منطقی را انجام دهد. در زبان برنامه نویسی C++ مجموعه غنی از عملگرهای پیش ساخته وجود دارد که به صورت زیر دسته بندی شده است.

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

  • عملگرهای ریاضی
  • عملگرهای رابطه ای
  • عملگرهای منطقی
  • عملگرهای بیتی
  • عملگرهای انتساب
  • عملگرهای متفرقه

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

عملگرهای ریاضی

در جدول زیر عملگرهای ریاضی پشتیبانی شده در زبان C++ را مشاهده می کنید. فرض کنید متغیر A مقدار ۱۰ و متغیر B مقدار ۲۰ در خود ذخیره کرده است :

عملگر توضیحات مثال
 + برای جمع دو مقدار استفاده می شود. A + B = 30
مقدار عملوند راست را از مقدار عملوند چپ کم می کند. A – B = -10
* برای ضرب دو مقدار استفاده می شود. A * B = 200
/ مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند. B / A = 2
% مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند و باقیمانده را بر می گرداند B % A = 0
++ یک واحد به مقدار قبلی اضافه می کند. A++ = 11
یک واحد از مقدار قبلی کم می کند. A– = ۹

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

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

در جدول زیر عملگرهای رابطه ای پشتیبانی شده در زبان C++ را مشاهده می کنید. فرض کنید متغیر A مقدار ۱۰ و متغیر B مقدار ۲۰ در خود ذخیره کرده است:

عملگر توضیحات مثال
== اگر مقادیر دو عملوند با هم برابر باشد، شرط درست است. (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.

 

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

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

p q p & q p | q p ^ q
۰ ۰ ۰ ۰ ۰
۰ ۱ ۰ ۱ ۱
۱ ۱ ۱ ۱ ۰
۱ ۰ ۰ ۱ ۱

فرض کنید 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 مقدار ۱۳ در خود ذخیره کرده است:

عملگر توضیحات مثال
& اگر هر دو عملوند true باشند، یک بیت در نتیجه کپی می کند. (A & B) = 12 که برابر است با ۰۰۰۰ ۱۱۰۰
| اگر یکی از عملوندها true باشند، یک بیت در نتیجه کپی می کند. (A | B) = 61 که برابر است با ۰۰۱۱ ۱۱۰۱
^ اگر مقدار هر دو عملوند یکسان نباشد (یعنی هر دو true یا هر دو false نباشند)، یک بیت در نتیجه کپی می کند.  (A ^ B) = 41که برابر است با ۰۰۱۱ ۰۰۰۱
~ عملگر یکانی نقیض می باشد و کارش این است که هر جا ۱ بود ۰ و هر جا ۰ بود ۱ می گذارد. (~A ) = 61 که برابر است با ۱۱۰۰ ۰۰۱۱
<< مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به چپ شیفت می دهد. A << 2 = 240 که برابر است با ۱۱۱۱ ۰۰۰۰
>> مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به راست شیفت می دهد. A >> 2 = 15 که برابر است با ۰۰۰۰ ۱۱۱۱

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

ردیف توضیحات
۱ sizeofاندازه نوع داده را برمی گرداند.
۲ Condition ? X : Yعملگر شرطی، اگر شرط true باشد، مقدار X را بر میگرداند و اگر false باشد، مقدار Y را بر میگرداند.
۳ ,باعث می شود که یک دنباله از عملیات انجام شود و در نهایت مقداری که در آخرین عملیات جدا شده با کاما تولید شده است را بر میگرداند.
۴ . (dot) and -> (arrow)عملگرهای عضو، برای دسترسی به اعضای کلاس، struct و union ها استفاده می شود.
۵ Castعملگر تبدیل نوع، برای تبدیل انواع داده های مختلف به یک دیگر استفاده می شود. برای مثال int(2.2000) مقدار ۲ را بر میگرداند.
۶ &عملگر اشاره گر، آدرس یک متغیر را برمی گرداند. مثلا &a; آدرسی که متغیر a در آن قرار دارد را بر میگرداند.
۷ *عملگر اشاره گر، اشاره به یک متغیر. مثلا *var; به متغیر var اشاره می کند.

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

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

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

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

 

 

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
    • 1 Posts
    • 0 Views
    • 3 Posts
    • 43 Views
    • 1 Posts
    • 37 Views
    • 1 Posts
    • 45 Views
    • 1 Posts
    • 134 Views
    • 1 Posts
    • 116 Views
    • 1 Posts
    • 141 Views

  • سفارش پروژه برنامه نویسی

×
×
  • اضافه کردن...