Tuesday , November 28 2023

অপারেটর (Operator)

অপারেটর (Operator):

প্রোগ্রামিং ভাষায় গাণিতিক ও যৌক্তিক কাজ নিয়ন্ত্রণ করার জন্য কতগুলো বিশেষ চিহ্ন ব্যবহৃত হয়, এগুলোকে অপারেটর বলা হয়। যেমন, +, -, *, /, <, > ইত্যাদি। এই অপারেটরসমূহ না থাকলে সি ভাষায় কখনো গাণিতিক বা যৌক্তিক কাজ করা সম্ভব হতো না। নিচে বিভিন্ন ধরনের অপারেটর সম্পর্কে আলোচনা করা হলো:

 

অ্যারিথমেটিক অপারেটর

সি প্রোগ্রামে বিভিন্ন গাণিতিক কাজ (যেমন: যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি) সম্পন্ন করার জন্য যেসব সিম্বল বা অপারেটর ব্যবহৃত হয়, তাদেরকে অ্যারিথমেটিক বা গাণিতিক অপারেটর বলা হয়। নিচের ছকে বহুল ব্যবহৃত অ্যারিথমেটিক অপারেটরসমূহের তালিকা ও ব্যবহার উল্লেখ করা হলো।

operator-1

 

রিলেশনাল অপারেটর

সি প্রোগ্রামে দু’টো অপারেন্ডের মধ্যে সম্পর্ক (যেমন: ছোট, ছোট বা সমান, বড়, বড় বা সমান ইত্যাদি) বোঝানোর জন্য যে অপারেটর ব্যবহৃত হয়, তাকে রিলেশনাল অপারেটর বলা হয়। বস্তুত এই অপারেটর সংশ্লিষ্ট দুই অপারেন্ডের  মধ্যে তুলনা করে ফলাফল সত্য/মিথ্যা হিসেবে জানিয়ে দেয়। নিম্নের ছকে বহুল ব্যবহৃত রিলেশনাল অপারেটরসমূহের তালিকা ও ব্যবহার উল্লেখ করা হলো:

relational operator

 

লজিক্যাল অপারেটর

সি প্রোগ্রামে লজিক্যাল অপরেশন (যেমন-লজিক্যাল অর, অজিক্যাল অ্যান্ড, অজিক্যাল নট) সম্পন্ন করার জন্য যে অপারেটর ব্যবহৃত হয়, তাকে লজিক্যাল অপারেটর বলা হয়। লজিক্যাল অর ও লজিক্যাল অ্যান্ড অপারেটর হলো বাইনারি অপারেটর এবং এদের উভয় অপারেন্ড int টাইপ হয়। লজিক্যাল অর ( || ) ও লজিক্যাল অ্যান্ড (&&) – এর জন্য দু’টি করে অপারেন্ড থাকে, কিন্তু লজিক্যাল নট (!) এর জন্য একটি অপারেন্ড থাকে। এজন্য লজিক্যাল নট (!) একটি ইউনারি অপারেটর।

logical operator

 

কন্ডিশনাল অপারেটর

সি প্রোগ্রামে শর্ত সাপেক্ষে কোনো ভেরিয়েবল বা এক্সপ্রেশনের মান অন্য কোনো ভেরিয়েবল বা এক্সপ্রেশনের মান হিসেবে নির্ধারণ করার জন্য কন্ডিশনাল অপারেটর (?:) ব্যবহৃত হয়। কন্ডিশনাল অপারেটর ব্যবহারের ফরম্যাট হলো-

conditional operator

এখানে স্টেটমেন্ট প্রথমে Test Condition পরীক্ষিত হবে; এই মান সত্য বা অশূন্য হলে Exp1 = Exp2 নির্ধারিত বা সম্পাদিত হবে, আর এই মান মিথ্যা বা শূন্য হলে Exp1 = Exp3 নির্ধারিত বা সম্পাদিত হবে।

 

ইনক্রিমেন্ট ও ডিক্রিমেন্ট অপারেটর (Increment and Decrement Operator)

ইনক্রিমেন্ট অপারেটর (Increment Operator): প্রোগ্রামে কখনও কখনও ভেরিয়েবলের মান একটা নির্দিষ্ট ইনক্রিমেন্ট বাড়াতে হয়। ভেরিয়েবলের মানকে বধিত (Increment) করার জন্যই মূলত ইনক্রিমেন্ট অপারেটর ব্যবহৃত হয়ে থাকে। এই বর্ধিতকরণ 1 থেকে শুরু করে যে কোনো মান হতে পারে। যেমন: x = x + 1; x = x + 2, x = x + 3 ইত্যাদি। ইনক্রিমেন্টের মান 1 করে বর্ধিত করার জন্য সি এর স্পেশাল ইনক্রিমেন্ট অপারেটর যেমন ++ ব্যবহার করা হয়। এ ধরণের অপারেটর একটিমাত্র অপারেন্ড নিয়ে কাজ করে বলে এদেরকে ইউনারি অপারেটর বলা হয়। যার সাধারণ গঠন (General Syntex) হলো: variable ++ বা ++ variable;

প্রথমটিকে Postfix ইনক্রিমেন্ট আর দ্বিতীয়টিকে Prefix ইনক্রিমেন্ট বলা হয়। সাধারণত while, for ইত্যাদি লুপিং-এর ক্ষেত্রে এ ধরনের ইনক্রিমেন্ট ব্যবহৃত হয়ে থাকে। অবশ্য Postfix ও  Prefix-এর সাথে আলাদা আলাদা অর্থ প্রকাশ করে। যেমন, i = 4 এবং j = i++; এ ক্ষেত্রে i এর মান হবে 5, কিন্তু j এর মান হবে 4; আবার যদি i = 4 এবং j = ++i লেখা হয় তাহলে i ও j উভয়ের মান হবে 5 অর্থাৎ, Prefix প্রথমে বাম প্রান্তের variable-এর সাথে 1 যোগ করে, তারপর ফলাফলকে বাম প্রান্তের ভেরিয়েবল দ্বারা অ্যাসাইন করে। অপরদিকে Postfix প্রথমে বাম প্রান্তের variable-এর মান অ্যাসাইন করে, তারপর অপারেন্ডের মান 1 বর্ধিত করে।

অর্থাৎ i++ এর মানে হলো i এর মান 1 বাড়বে, কিন্তু আগের মানটিই ফেরত দিবে। যেমন-

increment operator

 

ডিক্রিমেন্ট অপারেটর (Decrement Operator): ইনক্রিমেন্ট অপারেটরের বিপরীতে কাজ করে ডিক্রিমেন্ট অপারেটর। অর্থাৎ ভেরিয়েবলের মানকে হ্রাস (Decrement) করার জন্যই মূলত ডিক্রিমেন্ট অপারেটর ব্যবহৃত হয়ে থাকে। এই হ্রাসকরণ 1 থেকে শুরু করে যে কোন মান হতে পারে। যেনম: x = x-1; x = x-2; x = x-3 ইত্যাদি। ডিক্রিমেন্টের মান 1 করে হ্রাস কারার জন্য সি এর স্পেশাল ডিক্রিমেন্ট অপারেটর ব্যবহার করা হয়, যার সাধারণ গঠন (Syntax) হলো:

variable — অথবা –variable

প্রথমটিকে postfix ডিক্রিমেন্ট এবং দ্বিতীয়টিকে prefix ডিক্রিমেন্ট বলা হয়। সাধারণত for, while লুপিং-এর ক্ষেত্রে এ ধরনের ডিক্রিমেন্ট ব্যবহৃত হয়ে থাকে।

Variable ++ ++ variable এর মধ্যে পার্থক্য

operator-6

 

 

===================================

এই অধ্যায়ের সকল পোস্টের লিঙ্কঃ

About admin

Check Also

control-statement-thumb

কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট (Conditional Control Statement)

কন্ট্রোল স্টেটমেন্ট (Control Statement): সি-ল্যাঙ্গুয়েজে লেখা প্রোগ্রামে স্টেটমেন্টগুলো ধারাবাহিকভাবে সাজানো থাকে, যা একের পর এক …

Leave a Reply

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