آموزش عملگرهای برنامه‌نویسی با 4 نوع اصلی آن

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

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

معمولاً مفهوم و نماد عملگرهای پایه در زبان‌ها ثابت است. خارج از دنیای برنامه‌نویسی هم با عملگرها سر و کار داشته‌ایم؛ برای مثال عملگرهای ریاضی (مثل جمع و ضرب).

عملگر (operator) یک نماد است که یک یا چند عملوند (operand) دارد. این نماد مشخص می‌کند که کامپایلر یا مفسر زبان برنامه‌نویسی باید چه کاری با عملوندها انجام دهد.

انواع عملگر در برنامه‌نویسی

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

در این تقسیم‌بندی، چهار نوع عملگر در برنامه نویسی داریم:

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

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

عملگر انتساب

یک عملگر عمومی که در همه زبان ها وجود دارد و به نوعی در هیچ کدام از دسته‌بندی‌های بالا قرار نمی‌گیرد، عملگر انتساب (assignment) است. اپراتور انتساب به شکل = نمایش داده شده و دو عملوند دارد.

یکی از عملوندها در سمت راست تساوی قرار گرفته و مقدار آن در عملوند سمت چپی ریخته می‌شود. از این عملگر در تعریف متغیر برنامه‌نویسی استفاده می‌کنیم. همچنین با علامت انتساب می‌توان مقدار متغیرها را در برنامه تغییر داد.

در قطعه کد تصویر زیر، در خط اول مقدار متغیر x را برابر با 17 و در خط دوم متغیر y را 25 در نظر گرفته‌ام. در خط سوم، این دو مقدار را با هم جمع کرده و نتیجه را در متغیری به نام result قرار داده‌ایم.

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

عملگرهای ریاضی در برنامه نویسی

محاسبات در برنامه‌های کامپیوتری یک جزء و عملیات جدانشدنی است. در ساده‌ترین حالت می‌توانیم یک برنامه برای جمع دو عدد بنویسیم (مشابه خط سوم تصویر بالا) و یا یک برنامه بسیار پیچیده برای حل مسائل ریاضی سنگین ایجاد کنیم.

در هر صورت باید برای انجام عملیات‌های پایه، از عملگرهای ریاضی (mathematical operators) در آن استفاده کنیم. قطعاً با بیشتر عملگرهای ریاضی از دوران مدرسه آشنایی دارید. عملگرهای جمع، تفریق، ضرب، تقسیم، توان و … .

هر کدام از این عملگرها با نمادی شبیه به آنچه تا به حال استفاده کرده‌ایم در زبان‌های برنامه‌نویسی استفاده می‌شوند. در جدول زیر عملگرهای ریاضی که دو عملوند می‌پذیرند را مشاهده می‌کنید.

نماد عملگرعملیاتمثال
+جمع دو مقدار17 + 5
تفریق دو مقدار از هم7 – 29
*ضرب دو عملوند در هم7 * 11
/تقسیم دو مقدار3 / 26
٪باقی‌مانده تقسیم صحیح5 ٪ 34
**اولی به توان دومین مقدار4 ** 3
عملگرهای ریاضی در برنامه‌نویسی

از علامت باقی‌مانده تقسیم در ریاضیات روزمره کمتر استفاده کرده‌ایم. همان مثالی که در جدول آورده شده را در نظر بگیرید. اگر عدد 34 را بر 5 تقسیم کنیم، حاصل صحیح ما برابر 6 شده و در 4 باقی می‌ماند. در این‌صورت می‌گوییم 4 باقی‌مانده تقسیم صحیح 34 بر 5 است.

هر کدام از عملوندهای یک عملگر می‌توانند مقدار مشخص یا یک متغیر باشند. در نتیجه می‌توانیم مقدار دو متغیر را با هم جمع کرده یا یک مقدار ثابت را به متغیری اضافه کنیم. در بخش‌های بعدی مثال‌های بیشتری از عملوندهای متغیری خواهید دید.

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

در بسیاری از زبان‌ها یکسری عملگرهای ریاضی ترکیبی برای ساده‌نویسی بیشتر در برنامه‌نویسی وجود دارد. فرض کنید دو متغیر x و y داریم. می‌خواهیم این دو را با هم جمع کرده و نتیجه را در متغیر x جایگزین مقدار قبلی کنیم.

اولین چیزی که به ذهنمان می‌رسد این است که بنویسیم: x = x + y

این عبارت کاملاً صحیح است. اما اگر دقت کنید، ما دو بار نام متغیر x را نوشته‌ایم. عملگرهای ترکیبی ریاضی، عملگر ریاضی و عملگر انتساب را با هم ترکیب کرده و یک عملگر جدید به ما می‌دهد. به کمک این اپراتورها، به جای عبارت بالا می‌نویسیم: x += y

در جدول زیر پنج عملگر ترکیبی را مشاهده می‌کنید.

+=انتساب جمع
-=انتساب تفریق
*=انتساب ضرب
/=انتساب تقسیم
٪=انتساب تقسیم
عملگرهای ترکیبی ریاضی برنامه نویسی

عملگر ریاضی افزایش یا کاهش

فرقی ندارد در ابتدای راه برنامه‌نویسی باشید یا سال‌ها تجربه داشته باشید، همیشه نیاز دارید مقادیر بعضی از متغیرها را یک واحد افزایش یا کاهش دهید. معمولاً در دستورهای تکرار یا بخش‌های دیگر برنامه که نیاز به شمارش تعداد دفعات تکرار دارید از این نوع عملیات‌ها بیشتر انجام می‌شود.

تا به اینجا دو روش برای افزایش یک واحدی یک متغیر یاد گرفتیم.

x = x + 1
x += 1

یک دستور کوتاه‌تر برای افزایش یا کاهش یک واحدی مقدار متغیر، استفاده از عملگرهای ++ یا است. (بخوانید plus plus یا minus minus)

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

x++
x--

در بعضی زبان‌ها، می‌توانیم این عملگر را قبل از نام متغیر نیز صدا بزنیم؛ به گونه‌ای که داشته باشیم --x یا ++x .

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

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

عملگرهای رابطه‌ای در برنامه‌نویسی

عملگرهای دیگری که در برنامه‌نویسی از آن‌ها زیاد استفاده می‌کنیم، عملگرهای رابطه‌ای یا relational operators هستند. همانطور که از نامش مشخص است، از این عملگرهای برای بررسی رابطه میان دو مقدار استفاده می‌شود.

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

فرض کنید دو متغیر عددی به نام‌های a و b داریم. می‌خواهیم مقادیر این دو را با هم مقایسه کنیم. در علائم ریاضی از = برای مساوی بودن، > برای بزرگ‌تری و < برای کوچک‌تری استفاده می‌کنیم.

برای عملگر رابطه‌ای هم از همین علائم استفاده می‌کنیم با یک تفاوت: چون علامت = برای عملگر انتساب استفاده شده است، از == برای بررسی تساوی دو مقدار استفاده می‌شود.

==بررسی تصاویر دو مقدار
!=بررسی عدم تساوی دو مقدار
>بررسی بزرگ‌تری مقدار سمت چپ
<بررسی کوچک‌تری مقدار سمت چپ
>=مقایسه بزرگ‌تر مساوی
<=مقایسه کوچک‌تر مساوی

معمولاً از این عملگرها در دستورهای شرطی استفاده می‌کنیم.

عملگرهای منطقی

تقریباً مهم‌ترین عملگر در برنامه‌نویسی کامپیوتر، عملگرهای منطقی یا logical operators هستند. این عملگرها برای انجام عملیات‌های منطقی بین مقادیر مختلف استفاده می‌شوند.

منظور از عملیات منطقی، همان عملیات‌های AND و OR و NOT هست. معمولاً عملوندهای یک عملگر منطقی، یک مقدار منطقی است. اما بنا به تعریف هر نوع داده‌ای در زبان‌های مختلف، می‌توانیم از سایر انواع داده هم استفاده کنیم. البته این کار خیلی منطقی و درست به نظر نمی‌رسد.

منظور من از داده منطقی همان مقادیر true و false هست.

نماد سه عمل منطقی را در جدول زیر می‌بینید. دو عملگر اول می‌توانند به تعداد زیاد و پشتِ سرِ هم استفاده شوند. برای مثال می‌توانیم ۴ مقدار را با هم AND منطقی کنیم.

&&عملیات AND منطقی
||عملیات OR منطقی
!عملیات NOT منطقی

عملیات not روی یک عملوند اجرا شده و علامت آن پیش از نام عملوند قرار می‌گیرد.

در جدول زیر به صورت کلی، نتیجه انجام عملیات منطقی روی دو داده با مقادیر مختلف (true یا false) نمایش داده شده است.

جدول درستی عملگر منطقی روی داده‌ها
جدول درستی عملگر منطقی روی داده‌ها
انواع داده ها در برنامه نویسی مستقل از زبان

انواع داده ها در برنامه نویسی مستقل از زبان

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

در بعضی از زبان‌های برنامه‌نویسی، برای انجام عملیات روی بیت‌ها، عملگرهایی در نظر گرفته شده است. به عملوندهای اپراتورهای بیتی به شکل یک رشته 0 و 1 یا همان مبنای دودویی نگاه می‌شود.

مثلاً نتیجه اجرای and بین دو مقدار 0110 و 1010 مقدار 0010 خواهد شد.

&and بیتی
|or بیتی
~not بیتی

در برخی زبان‌های برنامه نویسی مثل C، فقط برای مقادیر یک بایتی (مثل کاراکتر یا int) مجاز به استفاده از عملگرهای بیتی هستید. اما در برخی زبان‌های دیگر، اگر از bitwise operator ها بین دو عملوند غیر دودویی استفاده کنید، مقدار آن عملوندها به رشته بیتی تبدیل شده و سپس عملیات روی آن‌ها انجام می‌شود.

نکته مهم این است که باید هر دو عملوند در عملگرهای بیتی، دارای طول یکسان باشند.

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