با سلام

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

4) عملگر های ترکیبی :

از ترکیب عملگر های محاسباتی و عملگر انتساب ( = ) مجموعه دیگری از عملگر های ایجاد می شود که عمل محاسباتی و انتساب را انجام میدهند ، لیست این عملگر ها را در جدول زیر میتوانید مشاهده کنید

عملگر
نام
مثال
معادل
=+ انتساب جمع x += y x = x + y
=- انتساب تفریق x -= y x = x - y
=* انتساب ضرب x *= y x = x * y
=/ انتساب تقسیم x /= y x = x / y
=% انتساب باقیمانده تقسیم x %= y x = x % y

5) عملگر های بیتی :

باتوجه به این که این عملگر کاربرد چندانی ندارد ، فقط به معرفی آن بسنده میکنیم . و در صورت نیاز در قسمت های بعدی آموزش ، مفصل تر به این مبحث خواهیم پرداخت

عملگر
نام
#
& و (AND)
| یا (OR)
^ یای انحصاری (XOR)
~ نقیض (NOT)
<< شیفت به راست (RIGHT SHIFT)
>> شیفت به چپ (LEFT SHIFT)

6) عملگر های متفرقه »

تعدادی از عملگر ها در سی پلاس پلاس وجود دارند که تا جایی که اطلاع دارم در دسته بندی خاصی قرار ندارند و به همین دلیل از آن ها تحت عنوان عملگر های متفرقه یاد خواهیم کرد

این عملگر ها شامل :

  • عملگر های ( & و * )
  • عملگر علامت سئوال ( ? )
  • عملکر کاما ( , )
  • عملگر Sizeof
  • عملگر پردانتز باز و بسته ()


1) عملگر های ( & و * ) :

همان طور که میدانید متغیر ها نامی برای کلمات حافظه هستند و کلمات حافظه نیز دارای شماره ی ردیف می باشند که ما آن ها را آدرس می نامیم .

با استفاده از عملگر & میتوانیم به آدرس متغیر ها دسترسی داشته باشیم .

عملگر * نیز برای دسترسی غیر مستقیم به حافظه مورد استفاده قرار میگیرد .

این عملگر های مربوط به اشاره گر ها هستند که در قسمت های انتهایی سی پلاس پلاس به آن خواهیم پرداخت


2) عملگر علامت سئوال ( ? ):

این عملگر عبارتی را ارزیابی کرده ، بر اساس ارزش آن عبارت ( درستی یا نادرستی ) ، نتیجه ی عبارت دیگری را متغیری قرار می دهد :

مثال :
کد:
عبارت 3 : عبارت 2 ؟ عبارت 1 = متغیر;
توضیحات : اگر "عبارت 1 " دارای ارزش درستی باشد ، مقدار ارزیابی شده ی "عبارت 2 " در متغیر قرار خواهد گرفت و گرنه مقدار ارزیابی شده ی " عبارت 3 " در متغیر قرار خواهد گرفت

به عنوان مثال دستورات زیر را در نظر بگیرید :

کد:
int x,y;
x = 5 ;
y = x > 5 ? x * 2 : x * 5
طبق توضیحات فوق دستورات بالا را بررسی میکنیم

ابتدا " دستور اول ( x > 5 ) " بررسی میشود و با توجه به این که نادرست است از " دستور دوم ( x * 2 ) " صرف نطر میشود ،

در نتیجه " مقدار دستور سوم ( x * 5 ) " در متغییر قرار میگرد و مقدار y برابر 25 میشود


3) عملگر کاما ( , ) :

از این عملگر برای انجام چند عمل در یک دستور استفاده میشود و کاربرد آن به صورت زیر می باشد :
کد:
متغیر = (عبارت 2, عبارت 1);

4) عملگر Sizeof :

این عملگر در واقع یک عملگر زمان ترجمه است و میتواند طول یک متغیر یا نوع داده را بر حسب بایت تعیین کند ، اگر با کامپیوتری کار میکنید و نمی دانید انواع آن مثلا نوع int چند بایتی است ،

با این عملگر میتوانید به آن پی ببرید ، این عملگر به صورت زیر کار میکند
کد:
sizeof متغیر ;
sizeof (نوع داده) ;
5) عملگر پردانتز باز و بسته () :

پرانتز ها عملگر هایی هستند که تقدم عملگر های داخل خود را بالا می برند ، به عنوان مثال ، عبارت زیر را در نظر بگیرید

کد:
y = 4 * 2 / (3 + 1) + (6 + (7-2))
برای ارزیابی این عبارت باید ابتدا عبارت موجود در داخلی ترین پرانتز را ارزیابی کرد ، در عبارت فوق ترتیب انجام عملیات به صورت زیر خواهد بود

ابتدا چهار در دو ضرب میشود ، بعد از آن عملگر تقسیم قرار دارد که عملوند بعدی آن در داخل پرانتز است در نتیجه ابتدا سه و یک با هم جمع میشوند و سپس بر چهار تقسیم میشود که حاصل دو خواهد بود

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

و حاصل آن ها پنج با شش جمع میشود و در نهایت حاصل 13 خواهد شد که در y قرار میگرد

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