Unary Operators: C Programming Language এ যে সকল Operator একটি চলকের উপর কাজ করে নতুন মান দেয় তাদের Unary Operators বলে। সবচেয়ে ব্যবহৃত Unary Operators হচ্ছে – (minus sign). – কোন constant অথবা variable এর আগে বসে শুধু negative মান বুঝায়।
তবে প্রধান দুটি Unary Operators হচ্ছে Increment operator(++) ও Decrement operator(- -) ।
Increment operator: Increment operator কে ++ চিহ্ন দিয়ে প্রকাশ করা হয়। অর্থাত ++ sign কে increment operator বলে। এটি একটি variable এর উপর বসে এর মান 1 বাড়িয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । ++X এর মান হবে 6 । তেমনি X++ মান ও হবে 6 ।
Decrement operator: তেমনি – - Decrement operator বলে। এটি একটি variable এর উপর বসে এর মান 1 কমিয়ে দেয়। এটি variable এর আগে ও বসতে পারে পরেও বসতে পারে। যেমনঃ মনে করি x একটি variable যার মান 5 । – -X এর মান হবে 4 । তেমনি X- – মান ও হবে 4 ।
তবে Increment ও Decrement দুটির ক্ষেত্রেই Variable এর আগে বসলে ও পরে বসলে Out put ভিন্ন হবে। এটা একটু বুঝতে সবার ই সমস্যা। উদাহরনে ই বুঝিয়ে বলি।
নিচের উদাহরনটা ভালো করে লক্ষ করলেই সহজে বুঝা যাবে।
আমি প্রধান কথা গুলোই আলোচনা করি।
#include stdio.h
main()
{
int i=5; OutPut
printf(“%d\n”,i++); 5
printf(“%d\n”,i); 6
printf(“%d\n”,++i); 7
printf(“%d\n”,i); 7
printf(“%d\n”,i–); 7
printf(“%d\n”,i); 6
printf(“%d\n”,–i); 5
printf(“%d\n”,i); 5
}
এ প্রোগ্রামে একটি integer variable নেওয়া হয়েছে। যার মান ধরা হয়েছে 5। প্রতেক line এর পাশে এর মান দেওয়া হল।প্রথম LINE(printf(“%d\n”,i++);): এখন প্রথম printf কমান্ড এ I++ দ্বারা একটি increment operator বুঝানো হয়েছে। এখনে আগে I বসানো হয়েছে এবং পরে increment operator বসানো হয়েছে। তাই প্রথমে I এর মান প্রিন্ট হয়েছে। কিন্তু I মান 1 বেড়ে র্যামে জমা হবে।
দ্বিতীয় Line(printf(“%d\n”,i);): এখনে I এর মান প্রিন্ট করতে বলছে । আগের line এ আমাদের I মান প্রিন্ট হয়েছে 5 কিন্তু পরে increment operator এর কারনে i এর মান 1 বেড়ে 6 হয়েছে কিন্তু কোন out put দেয় নি র্যামে জমা ছিল। পরে তাই তা এ লাইনে I এর মান প্রিন্ট করেছে 6 ।
তৃতীয় line(printf(“%d\n”,++i);): এ line এ আগে increment operator কাজ করে I এর মান হয় 7 পরে I এর মান প্রিন্ট করে। তাই এই line এর out put হবে 7।
চতুর্থ line(printf(“%d\n”,i);): এখনে I এর মান প্রিন্ট করতে বলছে।আগের line এ আমাদের I মান প্রিন্ট হয়েছে 7। আর কোন পরিবর্তন হয়নি তাই তাই এই line এর out put হবে 7।
পঞম line(printf(“%d\n”,i–);): এখনে আগে I বসানো হয়েছে এবং পরে discernment operator বসানো হয়েছে। তাই প্রথমে I এর মান প্রিন্ট হয়েছে। কিন্তু I মান 1 কমে র্যামে জমা রয়েছে।
ষষ্ট line(printf(“%d\n”,i);): এখনে I এর মান প্রিন্ট করতে বলছে। এ line এর আগে decrement operator কাজ করে I এর মান কমে হয় 6 পরে। । আর কোন পরিবর্তন হয়নি। তাই এই line এর out put হবে 6।
সপ্তম line(printf(“%d\n”,–i);): এ line এ আগে decrement operator কাজ করে I er মান হয় 5 পরে I এর মান প্রিন্ট করে। তাই এই line এর out put হবে 5।
অষ্টম line(printf(“%d\n”,i);): এখনে I এর মান প্রিন্ট করতে বলছে। আগের line এ আমাদের I মান প্রিন্ট হয়েছে 5। আর কোন পরিবর্তন হয়নি তাই তাই এই line এর out put হবে 5।
কেমন হল জানাবেন। সবাইকে ধন্যবাদ।
0 comments:
Post a Comment