خانه / برنامه نویسی / عملگرها در زبان C – آموزش زبان C

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

c operators 3584 عملگرها در زبان C   آموزش زبان C

عملگرها در زبان 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 را مشاهده می کنید. فرض کنید متغیر 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 را مشاهده می کنید. فرض کنید متغیر 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 باشد، آنگاه فرمت باینری آن ها به صورت زیر خواهد بود:

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

عملگر توضیحات مثال
sizeof() اندازه نوع داده را برمی گرداند sizeof(int) مقدار ۴ برمی گرداند.
& آدرس یک متغیر را برمی گرداند &a;  آدرس واقعی یک متغیر را برمی گرداند.
* اشاره به یک متغیر *a;  یک اشاره گر به نام ‘a’ به متغیر a ایجاد می کند.
? : عبارت شرطی اگر شرط درست باشد ؟ مقدار X : در غیر این صورت Y

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

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

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

لينک منبع

درباره ی admin

همچنین ببینید

آموزش سی شارپ از صفر تا صد به همراه منابع آموزشی فارسی و حرفه ای

یکی از خدمات ما در سورس ایران آموزش سی شارپ از صفر تا صد …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *