এই বিস্তারিত নির্দেশিকায়, আমরা C প্রোগ্রামিং-এর অপারেটর এবং তাদের প্রকারগুলি নিয়ে আলোচনা করব।
সি প্রোগ্রামিং-এ অপারেটর এবং তাদের ধরন
অপারেটর হল প্রতীক, যা নির্দিষ্ট গাণিতিক কাজ সম্পাদন করতে ব্যবহৃত হয়। এগুলি ডেটা এবং ভেরিয়েবলগুলি পরিচালনা করতে ব্যবহৃত হয়। সি প্রোগ্রামিং এর বিভিন্ন ধরনের অপারেটর নিচে দেওয়া হল:
- পাটিগণিত অপারেটর
- ইউনারি অপারেটর
- অ্যাসাইনমেন্ট অপারেটর
- লজিক্যাল বা বুলিয়ান অপারেটর
- রিলেশনাল অপারেটর
- শর্তসাপেক্ষ অপারেটর
- বিটওয়াইজ অপারেটর
1: পাটিগণিত অপারেটর
এই অপারেটরগুলি যোগ, বিয়োগ বা গুণের মতো মৌলিক গাণিতিক ফাংশন সম্পাদন করতে ব্যবহৃত হয়। আপনি এই অপারেটরগুলি প্রায় সমস্ত বিল্ট-ইন ডেটা ধরণের সি প্রোগ্রামিং-এ ব্যবহার করতে পারেন। সি প্রোগ্রামিংয়ে ব্যবহৃত পাটিগণিত অপারেটরগুলি নিম্নরূপ:
অপারেটর | ফাংশন |
+ | 2 অপারেন্ড যোগ করুন |
- | 2 অপারেন্ড বিয়োগ করুন |
* | 2 অপারেন্ড গুণ করুন |
/ | 2টি অপারেন্ড ভাগ করুন |
% | মডুলাস অপারেটর বিভাগের অবশিষ্টাংশ দেয় |
উদাহরণ
নীচের উদাহরণে, আমরা X এবং ভেরিয়েবল Y এর উপর উল্লিখিত গাণিতিক ক্রিয়াকলাপগুলি সম্পাদন করেছি। চলক X মান 20 এবং Y মান 5 ধারণ করে:
# অন্তর্ভুক্ত করুন
int প্রধান ( )
{
int এক্স = বিশ ;
int এবং = 5 ;
int ফলাফল ;
ফলাফল = এক্স + এবং ;
printf ( 'X এবং Y এর যোগ হল: %d৷ \n ' , ফলাফল ) ;
ফলাফল = এক্স - এবং ;
printf ( 'X এবং Y-এর বিয়োগ হল: %d \n ' , ফলাফল ) ;
ফলাফল = এক্স * এবং ;
printf ( 'X এবং Y এর গুন হল: %d \n ' , ফলাফল ) ;
ফলাফল = এক্স / এবং ;
printf ( 'X এবং Y এর বিভাজন হল: %d \n ' , ফলাফল ) ;
ফলাফল = এক্স % এবং ;
printf ( 'X এবং Y এর মডুলাস বিভাগ হল: %d \n ' , ফলাফল ) ;
প্রত্যাবর্তন 0 ;
}
2: ইউনারি অপারেটর
দুটি অনন্য ইউনারি অপারেটর রয়েছে যেগুলি শুধুমাত্র সি ভাষা, বৃদ্ধি ++ এবং হ্রাস - অপারেটর দ্বারা সমর্থিত। ইনক্রিমেন্ট অপারেটর অপারেন্ডে 1 যোগ করে এবং ডিক্রিমেন্ট অপারেটর অপারেন্ড থেকে 1 বিয়োগ করে।
ইনক্রিমেন্ট অপারেটর এভাবে লেখা হয়:
++ a বা a ++
হ্রাস অপারেটর হল:
-- a বা a --আমরা যদি ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটরটিকে একটি উপসর্গ হিসাবে ব্যবহার করি তবে এটি প্রথমে ভেরিয়েবলের মান যোগ বা বিয়োগ করে এবং তারপর ফলাফলটি বাম দিকের ভেরিয়েবলের জন্য নির্ধারিত হয়। অপারেটরগুলি আগে যোগ করা হলে, এটি প্রথমে মূল মান প্রদান করে এবং তারপর অপারেন্ডটি 1 দ্বারা যোগ বা বিয়োগ করা হয়।
উদাহরণ
নীচে আমরা a এবং b দুটি ভেরিয়েবলের মান নির্ধারণ করেছি এবং তাদের উপর বৃদ্ধি এবং হ্রাস অপারেটর প্রয়োগ করেছি:
# অন্তর্ভুক্ত করুনint প্রধান ( )
{
int ক = পনের , খ = 10 ;
printf ( '++a = %d \n ' , ++ ক ) ;
printf ( 'a++ = %d \n ' , ক ++ ) ;
প্রত্যাবর্তন 0 ;
}
3: অ্যাসাইনমেন্ট অপারেটর
একটি নিয়োগ অপারেটর (=) প্রোগ্রামে ভেরিয়েবলের মান নির্ধারণের জন্য ব্যবহৃত হয়। নিচে অ্যাসাইনমেন্ট অপারেটরদের উল্লেখ করা হল:
অপারেটর | ফাংশন |
= | অপারেন্ডে মান নির্ধারণ করুন |
+= | বাম অপারেন্ডের ডানদিকে উপস্থিত অপারেন্ডের মান যোগ করুন |
-= | বাম অপারেন্ড থেকে ডান অপারেন্ডের মান বিয়োগ করুন |
*= | ডান অপারেন্ডের মানকে বাম অপারেন্ডে গুণ করুন |
/= | ডান অপারেন্ডের মানকে বাম অপারেন্ডে ভাগ করুন |
%= | দুটি মানের মডুলাস নিন এবং বাম অপারেন্ডে মান নির্ধারণ করুন |
উদাহরণ
আমরা নিচের উদাহরণে X এবং Y দুটি অপারেন্ডে অ্যাসাইনমেন্ট অপারেটরদের কাজ প্রদর্শন করেছি:
# অন্তর্ভুক্ত করুনint প্রধান ( )
{
int এক্স = 10 ;
int ফলাফল ;
ফলাফল = এক্স ;
printf ( 'ফলাফলের মান = %d \n ' , ফলাফল ) ;
ফলাফল += এক্স ;
printf ( 'ফলাফলের মান = %d \n ' , ফলাফল ) ;
ফলাফল -= এক্স ;
printf ( 'ফলাফলের মান = %d \n ' , ফলাফল ) ;
ফলাফল *= এক্স ;
printf ( 'ফলাফলের মান = %d \n ' , ফলাফল ) ;
ফলাফল /= এক্স ;
printf ( 'ফলাফলের মান = %d \n ' , ফলাফল ) ;
প্রত্যাবর্তন 0 ;
}
4: রিলেশনাল অপারেটর
দুটি ভেরিয়েবলের মধ্যে সম্পর্ক পরীক্ষা করতে সি প্রোগ্রামিং-এ রিলেশনাল অপারেটর ব্যবহার করা হয়। এটি আইটেমগুলির দাম বা দুই ব্যক্তির বয়সের তুলনা করতে ব্যবহার করা যেতে পারে। সি প্রোগ্রামিং-এ নিম্নলিখিত রিলেশনাল অপারেটরগুলি ব্যবহার করা হয়েছে:
অপারেটর | ফাংশন |
== | সমান |
> | অপেক্ষা বৃহত্তর |
< | থেকে কম |
>= | সমানের চেয়ে বড় |
<= | সমান থেকে কম |
!= | অসমান |
উদাহরণ
নীচের উদাহরণটি সি প্রোগ্রামিং-এ রিলেশনাল অপারেটরদের কাজ দেখাচ্ছে:
# অন্তর্ভুক্ত করুনint প্রধান ( )
{
int ক = 9 ;
int খ = 10 ;
printf ( '%d == %d হল %d৷ \n ' , ক , খ , ক == খ ) ;
printf ( '%d > %d হল %d৷ \n ' , ক , খ , ক > খ ) ;
printf ( '%d < %d হল %d৷ \n ' , ক , খ , ক < খ ) ;
printf ( '%d != %d হল %d৷ \n ' , ক , খ , ক != খ ) ;
printf ( '%d >= %d হল %d৷ \n ' , ক , খ , ক >= খ ) ;
printf ( '%d <= %d হল %d৷ \n ' , ক , খ , ক <= খ ) ;
প্রত্যাবর্তন 0 ;
}
5: লজিক্যাল অপারেটর
চারটি লজিক্যাল অপারেটর রয়েছে যা C ভাষা দ্বারা সমর্থিত:
অপারেটর | ফাংশন |
যৌক্তিক এবং (&&) | সব শর্ত পূরণ হলেই সত্য |
যৌক্তিক বা (||) | শুধুমাত্র একটি শর্ত সন্তুষ্ট হলে ফলাফলটি সত্য |
যৌক্তিক নয়(!) | Operand 0 হলে ফলাফলটি সত্য |
বিটওয়াইজ নয় (~)। | অপারেন্ডের সমস্ত বিট উল্টে দেয় |
উদাহরণ
নীচের উদাহরণ কোডটি সি-তে লজিক্যাল অপারেটরদের কাজ ব্যাখ্যা করে:
# অন্তর্ভুক্ত করুনint প্রধান ( )
{
int এক্স = 10 , এবং = 4 , সঙ্গে = 10 , ফলাফল ;
ফলাফল = ( এক্স == এবং ) && ( সঙ্গে > এবং ) ;
printf ( '(X == Y) && (Z > Y) হল %d \n ' , ফলাফল ) ;
ফলাফল = ( এক্স == এবং ) && ( সঙ্গে < এবং ) ;
printf ( '(X == Y) && (Z < Y) হল %d৷ \n ' , ফলাফল ) ;
ফলাফল = ( এক্স == এবং ) || ( সঙ্গে < এবং ) ;
printf ( '(X == Y) || (Z < Y) হল %d৷ \n ' , ফলাফল ) ;
ফলাফল = ( এক্স != এবং ) || ( সঙ্গে < এবং ) ;
printf ( '(X != Y) || (Z < Y) হল %d৷ \n ' , ফলাফল ) ;
ফলাফল = ! ( এক্স != এবং ) ;
printf ( '!(X != Y) হল %d৷ \n ' , ফলাফল ) ;
ফলাফল = ! ( এক্স == এবং ) ;
printf ( '!(X == Y) হল %d৷ \n ' , ফলাফল ) ;
ফলাফল = ! ( এক্স > এবং ) ;
printf ( '!(X > Y) হল %d৷ \n ' , ফলাফল ) ;
প্রত্যাবর্তন 0 ;
}
6: শর্তসাপেক্ষ অপারেটর
C-তে শর্তসাপেক্ষ অপারেটর নামেও পরিচিত টার্নারি অপারেটর কারণ এতে তিনটি অপারেন্ড লাগে - শর্ত, বিবৃতি 1 এবং বিবৃতি 2। এটি শর্ত মূল্যায়ন করে এবং একটি প্রদত্ত শর্তের ফলাফলের উপর নির্ভর করে বিবৃতি 1 বা বিবৃতি 2 প্রদান করে যা সত্য বা মিথ্যা হতে পারে।
অবস্থা ? বিবৃতি 1 : বিবৃতি 2- শর্ত: একটি বুলিয়ান অভিব্যক্তি যা সত্য বা মিথ্যা চেক করে।
- বিবৃতি 1: শর্তটি সত্য হলে মূল্যায়ন করা হয় এমন একটি অভিব্যক্তি।
- বিবৃতি 2: শর্ত মিথ্যা হলে মূল্যায়ন করা হয় যে একটি অভিব্যক্তি.
উদাহরণ
নীচের উদাহরণে, আমি সংখ্যাটির মান নির্ধারণ করেছি এবং তারপর শর্তটি প্রয়োগ করেছি, যদি শর্তটি সত্য হয় তবে বিবৃতি 1 হবে আউটপুট এবং যদি শর্তটি মিথ্যা হয় তবে বিবৃতি দুইটি আউটপুট হবে:
# অন্তর্ভুক্ত করুনint প্রধান ( )
{
int সংখ্যা = 10 ;
( সংখ্যা < বিশ ) ? ( printf ( 'এটি 20 নম্বরের চেয়ে কম!' ) ) : ( printf ( 'এটি সংখ্যা 20 এর চেয়ে বড়!' ) ) ;
প্রত্যাবর্তন 0 ;
}
7: বিটওয়াইজ অপারেটর
বিটওয়াইজ অপারেটর সি-তে বিট লেভেলে ডেটা ম্যানিপুলেট করে, যার মানে তারা পূর্ণসংখ্যার মতো ডেটা টাইপের মধ্যে পৃথক বিটগুলিতে কাজ করে। এগুলি ডাবল এবং ফ্লোটে প্রয়োগ করা যায় না এবং বিটগুলি পরীক্ষা করার জন্য এবং তাদের ডান বা বামে স্থানান্তরের জন্য ব্যবহৃত হয়।
সি প্রোগ্রামিং-এ বিটওয়াইজ অপারেটরগুলি নীচের টেবিলে দেওয়া হয়েছে:
অপারেটর | ফাংশন |
এবং | বিটওয়াইজ এবং |
| | বিটওয়াইজ বা |
^ | বিটওয়াইজ এক্সক্লুসিভ বা |
<< | বামে স্থানান্তর করুন |
>> | ডানদিকে সরান |
~ | একজনের পরিপূরক |
উদাহরণ
নিম্নলিখিত উদাহরণটি একটি সি প্রোগ্রাম দেখায় যা বিটওয়াইজ অপারেটর ব্যবহার করে:
# অন্তর্ভুক্ত করুনint প্রধান ( ) {
int ক = 13 ; // বাইনারি 1101
int খ = 7 ; // বাইনারি 0111
int ফলাফল ;
// বিটওয়াইজ এবং
ফলাফল = ক এবং খ ; // 1101 এবং 0111 = 0101 (দশমিক 5)
printf ( 'a & b = %u \n ' , ফলাফল ) ;
// বিটওয়াইজ বা
ফলাফল = ক | খ ; // 1101 | 0111 = 1111 (দশমিক 15)
printf ( 'a | b = %u \n ' , ফলাফল ) ;
// বিটওয়াইজ XOR
ফলাফল = ক ^ খ ; // 1101 ^ 0111 = 1010 (দশমিক 10)
printf ( 'a ^ b = %u \n ' , ফলাফল ) ;
// বিটওয়াইজ বাম শিফট
ফলাফল = ক << 2 ; // 1101 << 2 = 110100 (দশমিক 52)
printf ( 'a << 2 = %u \n ' , ফলাফল ) ;
// বিটওয়াইজ ডান শিফট
ফলাফল = ক >> 2 ; // 1101 >> 2 = 0011 (ডেসিমেল 3)
printf ( 'a >> 2 = %u \n ' , ফলাফল ) ;
// বিটওয়াইজ না
ফলাফল = ~ ক ; // ~1101 = 0010 (দশমিক 2 এর পরিপূরক উপস্থাপনা -14)
printf ( '~a = %d \n ' , ফলাফল ) ;
প্রত্যাবর্তন 0 ;
}
বিঃদ্রঃ: বিটওয়াইজ অপারেটরগুলি বিট স্তরে কাজ সম্পাদন করতে ব্যবহৃত হয়, যার অর্থ তারা একটি বাইনারি সংখ্যার মধ্যে পৃথক বিটগুলিতে কাজ করে। অন্যদিকে, বুলিয়ান অপারেটরগুলি যৌক্তিক মানগুলিতে ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়। এগুলি বুলিয়ান মানগুলিতে কাজ করে (সত্য/মিথ্যা বা 1/0) এবং সাধারণত সিদ্ধান্ত নেওয়ার প্রক্রিয়া বা শর্তসাপেক্ষ বিবৃতিতে ব্যবহৃত হয়।
শেষের সারি
একটি অপারেটর হল একটি প্রতীক যা কম্পাইলারকে নির্দিষ্ট ফাংশন চালানোর নির্দেশ দেয়। সি ল্যাঙ্গুয়েজে পাটিগণিত, ইউনারী, অ্যাসাইনমেন্ট, লজিক্যাল, রিলেশনাল, কন্ডিশনাল, বুলিয়ান এবং বিটওয়াইজ সহ বেশ কিছু অন্তর্নির্মিত অপারেটর রয়েছে। আমরা তাদের বিস্তারিত আলোচনা করেছি এবং উদাহরণ আউটপুট দিয়ে তাদের প্রদর্শন করেছি। এই অপারেটর সম্পর্কে বিস্তারিত তথ্য পেতে গাইডের উপরের বিভাগটি পড়ুন।