عملگر Operator

عملگر یا Operator چیست؟

عملگر (Operator) در برنامه‌نویسی به ساختاری گفته می‌شود که رفتاری مشابه با تابع دارد اما از نظر سازمان گرامری با آن متفاوت می‌باشد. شاید بتوان از نظر معنایی عملگرها را گونه‌ای از توابع دانست که نحوه قرارگیری پارامترهای آن‌ها (که به عملوند یا Operand موسومند) با حالت رایج توابع (که در اغلب زبان‌های برنامه‌نویسی داخل پرانتز قرار می‌گیرند) متفاوت است.

از سوی دیگر در اکثر زبان‌های برنامه نویسی، اجازه تعریف توابع به برنامه نویس داده می‌شود اما ممکن است تنها استفاده از عملگرهای از پیش تعریف شده در کدنویسی مجاز باشد. به علاوه تعداد عملوندها برخلاف تعداد پارامترهای توابع محدود هستند. اغلب عملگرها در زبان‌های برنامه‌نویسی تنها یک یا دو عملوند دارند و تعداد اندکی از عملگرها از تعداد بیشتری عملوند برخوردار هستند (به عنوان مثال عملگر ?: در زبان C یک عملگر سه عملوندی به شمار می‌رود). با وجود این تفاوت‌ها می‌توان بسیاری از عملگرها نظیر عملگر باقی‌مانده‌ی تقسیم یک عدد بر عددی دیگر را با یک تابع دو پارامتری که چنین عملی را انجام می‌دهد معادل دانست.

Operator ها معمولا با استفاده از یک نماد نمایش داده می‌شوند اما استفاده از نام‌هایی همچون div یا AND و Is نیز در زبان‌های امروزی به عنوان Operator مشاهده می‌شود. عملگرهایی که دارای یک، دو یا سه عملوند هستند را به ترتیب عملگرهای یکانی (Unary Operator)، عملگرهای باینری یا دودویی (Binary Operator) و عملگرهای تِرنِری یا سه‌تایی (Ternary Operator) می‌نامند.

محل قرارگیری عملگر در مقایسه با عملوندها می‌تواند مبتنی بر یکی از حالات پیشوندی، میانوندی و یا پسوندی باشد. به عبارت بهتر ممکن است عملگر پیش از عملوند، مابین عملوندها یا پس از عملوند قرار بگیرد. به عنوان مثال عملگرهای یکانی می‌توانند همانند عملگر منفی (-x) به صورت پیشوندی یا مانند عملگر پساافزایش (x++) به صورت پسوندی ظاهر شوند. عملگرهای دودویی همانند جمع نیز به صورت میانوندی (x + y) ظاهر می‌شوند.

علاوه بر اینکه در برخی زبان‌های برنامه‌نویسی امکان تعریف Operator جدید نیز وجود دارد، در برخی از زبان‌ها می‌توان یک Operator را برای نوع داده‌های تعریف شده توسط کاربر هم  سربارگذاری نمود (سربارگذاری عملگر یا Operator Overloading).

انواع رایج عملگرها

از رایج‌ترین انواع عملگرها در زبان‌های برنامه‌نویسی می‌توان به موارد زیر اشاره نمود (نمادهایی که برای برخی از Operator ها در داخل پرانتز ذکر شده است به همین شکل در بسیاری از زبان‌های برنامه‌نویسی مورد استفاده قرار می‌گیرد):

  • عملگرهای حسابی (Arithmetic Operator) نظیر جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/)، باقیمانده (%)، افزایش (دو علامت +) و کاهش (دو علامت -)
  • عملگرهای رابطه‌ای (Relational Operator) یا مقایسه‌ای (Comparison Operator) نظیر <، >، <=، >=، == و !=
  • عملگرهای منطقی (Logical Operator) نظیر “و منطقی” (&&)، “یای منطقی” (||) و نقیض (Not یا !)
  • عملگرهای انتساب (Assignment Operator) نظیر انتساب ساده (= یا :=انتساب افزوده یا مرکب (مانند += و -= و …)
  • عملگرهای بیتی (Bitwise Operator) نظیر AND و OR و XOR، شیفت به راست، شیفت به چپ و …
  • عملگر دسترسی به فیلد در یک رکورد یا آبجکت که در بسیاری از زبان‌ها از نماد نقطه برای آن استفاده می‌شود
  • عملگر الحاق دو رشته
  • و …

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

پاسخ دهید

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