ইউনারী অপারেটর

Unary Operators: C Programming Language এ যে সকল Operator একটি চলকের উপর কাজ করে নতুন মান দেয় তাদের Unary Operators বলে। সবচেয়ে ব্যবহৃত Unary Operators হচ্ছে – (minus sign). – কোন constant অথবা variable এর আগে বসে শুধু negative মান বুঝায়।

যেখানে x এর মান  -3 ;

তবে প্রধান  দুটি Unary Operators হচ্ছে Increment operator(++) ও Decrement operator(- -) ।

Increment operator: Increment operator কে ++ চিহ্ন দিয়ে প্রকাশ করা হয়। অর্থাত ++ কে increment operator বলে। এটি একটি variable এর উপর বসে এর মান 1 বাড়িয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । ++X এর মান হবে 6 । তেমনি X++ মান ও হবে 6 ।

উপরে আমাদের x এর মান 6, এর পর আমরা এর মধ্যে চ্ছে Increment operator(++) ব্যবহার করেছি। এবং শেষে তা প্রিন্ট করেছি। আমরা আউটপুট পেয়েছি 7.

এখন যদি আমরা x আগে ++ দিয়ে প্রিন্ট দি, তাহলেও আমরা একই মান পাবো।

তবে x++ এবং ++x এর মধ্যে একটু পার্থ্যক্য রয়েছে।
x++ এর মানে হচ্ছে আগে x এর মান এক্সিকিউট হবে এবং তারপর এর মান ১ বাড়বে। আর ++x এর মানে হচ্ছে আগে এর মান এক বাড়বে এবং পরে এক্সিকিউট হবে। এখনো যদি বুঝতে অসুবিধে হয় সমস্যা নেই। নিচের প্রোগ্রামটা দেখিঃ

উপরের প্রোগ্রামটা যদি আমরা রান করি, তাহলে আমরা আউটপুট পাচ্ছি 3 এবং 7। Increment operator ভ্যারিয়েবল এর পরে রয়েছিল, আমাদের printf ফাংশন আগে x এর মানটা প্রিন্ট করেছে, এর পর এর মান এক বাড়িয়েছে। তাই আমরা আউটপুট পাচ্ছি 3.
কিন্তু y এর ক্ষেত্রে আগে y এর মান এক বাড়িয়েছে, এবং পরে এর মান প্রিন্ট করেছে। তাই আমরা আউটপুট পেয়েছি 7
এখানে দুটা ভ্যারিয়েবল নিয়েছি, এবং পরে তাদের প্রিন্ট করেছি। একটার আগে ++ ব্যবহার করেছি একটার পরে।

Decrement operator: – – [Minus Minus] কে Decrement operator বলে। এটি একটি variable এর উপর বসে এর মান 1 কমিয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । – -X এর মান হবে 4 । তেমনি X- – মান ও হবে 4 ।


 

উপরের প্রোগ্রামে আমরা x এর মান সেট করেছি 6 এবং পরে Decrement operator এর উপর প্রয়োগ করেছি। এর পরে এর মান এক কমে গিয়েছে। আমরা পরে x এর মান প্রিন্ট করেছি এবং এর মান পেয়েছি 5.


Leave a Reply

Your email address will not be published. Required fields are marked *