অপারেটর এবং অপারেন্ড- লেকচার- ৫
অপারেটর এবং অপারেন্ড
অপারেটর:
আমরা সমান সমান চিহ্ন ব্যবহার করেছি। এই সমান সমান চিহ্ন হচ্ছে অপারেটর, যাকে বলা হয় Equal to অপারেটর। Equal to ছাড়াও আরো অনেক ধরণের অপারেটর রয়েছে। অপারেটর হল একটি প্রতীক, যা কাজ করে একটি ভ্যালু এর উপর অথবা একটি ভেরিয়েবল এর উপর। উদাহরণরুপঃ + একটি অপারেটর যা এর কাজ করে।
অপারেন্ড:
অপারেটর গুলো যে ভ্যারিয়েবল বা যে ডেটার উপর কাজ করে, তাকে আমরা বলি অপারেন্ড(Operand)। কিছু কিছু অপারেটরের জন্য একটা অপারেন্ড লাগে। কিছু কিছু অপারেটরের জন্য লাগে দুইটা অপারেন্ড।
সি প্রোগ্রামিং অপারেটর:
সি প্রোগ্রামিং এ অনেক অপারেটর আছে যা বিভিন্ন ধরনের কাজ করে থাকে। ভাল করে বুঝতে এদের কে বিভিন্ন শ্রেণীতে বিভক্ত করা হয়েছে।
Arithmetic Operators:
অপারেটর অপারেটর এর অর্থ
+ যোগ
- বিয়োগ
* গুন
/ ভাগ
% বিভাজন করার পর ভাগশেয(মডুলাস বিভাজন )
এরিথমেটিক অপারেটর প্রোগ্রামিং সি তে কিভাবে কাজ করে তা নিচের প্রোগ্রামে দেখানো হল
#include <stdio.h>
main() {
int a = 21;
int b = 10;
int c ;
c = a + b;
printf("a+b= %d\n", c );
c = a - b;
printf("a-b= %d\n", c );
c = a * b;
printf("a*b= %d\n", c );
c = a / b;
printf("a/b= %d\n", c );
c = a % b;
printf("Remainder when a divided by b= %d\n", c );
return 0;
}
Output:
a+b=31
a-b=11
a*b=210
a/b=2
Remainder when a divided by b=1
Increment and Decrements Operators:
এখানে আপনারা বৃদ্ধি(increment) এবং হ্রাস(decrement) অপারেটর সম্মন্ধে জানবেন। প্রোগ্রামিং এ increment (++) অপারেটর ভ্যারিয়েবলের ভ্যালু ১ করে বৃদ্ধি করে এবং decrement(--) অপারেটর ভ্যারিয়েবলের ভ্যালু ১ করে হ্রাস করে। increment এবং decrement উভয় অপারেটর সিঙ্গেল অপারেন্ড ব্যবহৃত হয়। তাই ইহাকে ইউনারি(unary) অপারেটর বলা হয়। ইউনারি অপারেটর সর্বোচ্চ অগ্রাধিকার বহন করায় অন্য সকল অপারেটরের আগে ইউনারি অপারেটর সম্পাদিত(executed) হয়।
সিনট্যাক্সঃ
++ // increment operator
-- // decrement operator
increment এবং decrement অপারেটর এর ব্যবহার
মনেকরি, a = 3 তাহলে,
++a; // হবে 4
a++; // হবে 5
--a; // হবে 4
a--; // হবে 3
এখন পর্যন্ত অনেক সহজ মনে হচ্ছে। কিন্তু কিছু গুরুত্বপূর্ণ পার্থক্যও রয়েছে যা আপনাকে জানতে হবে। বিশেষ করে আপনি যখন এই অপারেটর দুটিকে prefix এবং postfix অপারেটর হিসাবে ব্যবহার করবেন তখন আপনার কাছে পার্থক্য প্রতীয়মান হবে।
নোটঃ কনস্ট্যান্টে increment এবং decrement অপারেটর ব্যবহার করা যায় না
উদাহরনঃ
a= 5++; // কম্পাইলার error দেখাবে কারণ এখানে 4 হলো constant
Increment অপারেটর এর প্রকারভেদ
pre-increment
post-increment
pre-increment (++ভ্যারিয়েবল) অপারেটর:
pre-increment এর ক্ষেত্রে প্রথমে ভ্যালু এক বৃদ্ধি পায় তারপরে ক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয়।
সিনট্যাক্স
++ variable;
উদাহরনঃ সি প্রোগ্রামিং এ pre-increment (++ভ্যারিয়েবল) অপারেটর এর ব্যবহার
#include<stdio.h>
#include<conio.h>
void main()
{
int a,count;
count=5;
a=++i;
printf("the value of a: %d",a);
printf("the value of i: %d",count);
return 0;
}
আউটপুট
the value of a: 6
the value of count: 6
উপরের প্রোগ্রামে প্রথমে count এর ভ্যালু এক বৃদ্ধি পেয়েছে এবং তারপরে count এর ভ্যালু এক্সপ্রেশনে ব্যবহৃত হয়েছে।
post-increment (ভ্যারিয়েবল++) অপারেটর:
post-increment এর ক্ষেত্রে ভ্যারিয়েবলের ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয় এবং তারপরে ভ্যালু এক বৃদ্ধি পায়।
সিনট্যাক্স
variable++;
উদাহরনঃ সি প্রোগ্রামিং এ post-increment (ভ্যারিয়েবল++) অপারেটর এর ব্যবহারঃ
#include<stdio.h>
#include<conio.h>
void main()
{
int a,i;
i=5;
a=i++;
printf("the value of a: %d",a);
printf("the value of i: %d",i);
return 0;
}
আউটপুট
the value of a: 5
the value of i: 6
উপরের প্রোগ্রামে count এর ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয়েছ তারপরে count এর ভ্যালু এক বৃদ্ধি পেয়েছে
pre-decrement (--ভ্যারিয়েবল) অপারেটর:
pre-decrement এর ক্ষেত্রে প্রথমে ভ্যালু এক হ্রাস পায় তারপরে ক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয়।
সিনট্যাক্স
--variable;
উদাহরনঃ সি প্রোগ্রামিং এ pre-increment (--ভ্যারিয়েবল) অপারেটর এর ব্যবহার
#include<stdio.h>
#include<conio.h>
void main()
{
int a,count;
count=5;
a=--i;
printf("the value of a: %d",a);
printf("the value of i: %d",count);
return 0;
}
আউটপুট
the value of a: 4
the value of count 4
উপরের প্রোগ্রামে প্রথমে count এর ভ্যালু এক হ্রাস পেয়েছে এবং তারপরে count এর ভ্যালু এক্সপ্রেশনে ব্যবহৃত হয়েছে।
post-decrement (ভ্যারিয়েবল--) অপারেটর:
post-increment এর ক্ষেত্রে ভ্যারিয়েবলের ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয় এবং তারপরে ভ্যালু এক হ্রাস পায়।
সিনট্যাক্স
variable--;
উদাহরনঃ সি প্রোগ্রামিং এ post-decrement (ভ্যারিয়েবল--) অপারেটর এর ব্যবহারঃ
#include<stdio.h>
#include<conio.h>
void main()
{
int a,i;
i=5;
a=i--;
printf("the value of a: %d",a);
printf("the value of i: %d",i);
return 0;
}
আউটপুট
the value of a: 5
the value of i: 4
উপরের প্রোগ্রামে count এর ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয়েছ তারপরে count এর ভ্যালু এক হ্রাস পেয়েছে।
Assignment Operators:
ভ্যারিয়েবলে ভ্যালু এসাইন করা বা জমা রাখার জন্য এসাইনমেন্ট(assignment) অপারেটর ব্যবহৃত হয়। সবচেয়ে বেশী ব্যবহৃত এসাইনমেন্ট অপারেটর হলো =
উদাহরণঃ এসাইনমেন্ট অপারেটর
// সি প্রোগ্রামে এসাইনমেন্ট অপারেটর কিভাবে কাজ করে এই উদাহরণের সাহায্যে তা দেখানো হলো।
#include <stdio.h>
int main()
{
int a = 10, c;
c = a;
printf("c = %d \n", c);
c += a; // c = c+a
printf("c = %d \n", c);
c -= a; // c = c-a
printf("c = %d \n", c);
c *= a; // c = c*a
printf("c = %d \n", c);
c /= a; // c = c/a
printf("c = %d \n", c);
c %= a; // c = c%a
printf("c = %d \n", c);
return 0;
}
আউটপুট
c = 10
c = 20
c = 10
c = 100
অপারেটর:
আমরা সমান সমান চিহ্ন ব্যবহার করেছি। এই সমান সমান চিহ্ন হচ্ছে অপারেটর, যাকে বলা হয় Equal to অপারেটর। Equal to ছাড়াও আরো অনেক ধরণের অপারেটর রয়েছে। অপারেটর হল একটি প্রতীক, যা কাজ করে একটি ভ্যালু এর উপর অথবা একটি ভেরিয়েবল এর উপর। উদাহরণরুপঃ + একটি অপারেটর যা এর কাজ করে।
অপারেন্ড:
অপারেটর গুলো যে ভ্যারিয়েবল বা যে ডেটার উপর কাজ করে, তাকে আমরা বলি অপারেন্ড(Operand)। কিছু কিছু অপারেটরের জন্য একটা অপারেন্ড লাগে। কিছু কিছু অপারেটরের জন্য লাগে দুইটা অপারেন্ড।
সি প্রোগ্রামিং অপারেটর:
সি প্রোগ্রামিং এ অনেক অপারেটর আছে যা বিভিন্ন ধরনের কাজ করে থাকে। ভাল করে বুঝতে এদের কে বিভিন্ন শ্রেণীতে বিভক্ত করা হয়েছে।
- Arithmetic Operators
- Increment and Decrements Operators
- Assignment Operators
- Relational Operators
- Logical Operators
- Condional Operators
- Bit-wise Operators
- Special Operators
Arithmetic Operators:
অপারেটর অপারেটর এর অর্থ
+ যোগ
- বিয়োগ
* গুন
/ ভাগ
% বিভাজন করার পর ভাগশেয(মডুলাস বিভাজন )
এরিথমেটিক অপারেটর প্রোগ্রামিং সি তে কিভাবে কাজ করে তা নিচের প্রোগ্রামে দেখানো হল
#include <stdio.h>
main() {
int a = 21;
int b = 10;
int c ;
c = a + b;
printf("a+b= %d\n", c );
c = a - b;
printf("a-b= %d\n", c );
c = a * b;
printf("a*b= %d\n", c );
c = a / b;
printf("a/b= %d\n", c );
c = a % b;
printf("Remainder when a divided by b= %d\n", c );
return 0;
}
Output:
a+b=31
a-b=11
a*b=210
a/b=2
Remainder when a divided by b=1
Increment and Decrements Operators:
এখানে আপনারা বৃদ্ধি(increment) এবং হ্রাস(decrement) অপারেটর সম্মন্ধে জানবেন। প্রোগ্রামিং এ increment (++) অপারেটর ভ্যারিয়েবলের ভ্যালু ১ করে বৃদ্ধি করে এবং decrement(--) অপারেটর ভ্যারিয়েবলের ভ্যালু ১ করে হ্রাস করে। increment এবং decrement উভয় অপারেটর সিঙ্গেল অপারেন্ড ব্যবহৃত হয়। তাই ইহাকে ইউনারি(unary) অপারেটর বলা হয়। ইউনারি অপারেটর সর্বোচ্চ অগ্রাধিকার বহন করায় অন্য সকল অপারেটরের আগে ইউনারি অপারেটর সম্পাদিত(executed) হয়।
সিনট্যাক্সঃ
++ // increment operator
-- // decrement operator
increment এবং decrement অপারেটর এর ব্যবহার
মনেকরি, a = 3 তাহলে,
++a; // হবে 4
a++; // হবে 5
--a; // হবে 4
a--; // হবে 3
এখন পর্যন্ত অনেক সহজ মনে হচ্ছে। কিন্তু কিছু গুরুত্বপূর্ণ পার্থক্যও রয়েছে যা আপনাকে জানতে হবে। বিশেষ করে আপনি যখন এই অপারেটর দুটিকে prefix এবং postfix অপারেটর হিসাবে ব্যবহার করবেন তখন আপনার কাছে পার্থক্য প্রতীয়মান হবে।
নোটঃ কনস্ট্যান্টে increment এবং decrement অপারেটর ব্যবহার করা যায় না
উদাহরনঃ
a= 5++; // কম্পাইলার error দেখাবে কারণ এখানে 4 হলো constant
Increment অপারেটর এর প্রকারভেদ
pre-increment
post-increment
pre-increment (++ভ্যারিয়েবল) অপারেটর:
pre-increment এর ক্ষেত্রে প্রথমে ভ্যালু এক বৃদ্ধি পায় তারপরে ক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয়।
সিনট্যাক্স
++ variable;
উদাহরনঃ সি প্রোগ্রামিং এ pre-increment (++ভ্যারিয়েবল) অপারেটর এর ব্যবহার
#include<stdio.h>
#include<conio.h>
void main()
{
int a,count;
count=5;
a=++i;
printf("the value of a: %d",a);
printf("the value of i: %d",count);
return 0;
}
আউটপুট
the value of a: 6
the value of count: 6
উপরের প্রোগ্রামে প্রথমে count এর ভ্যালু এক বৃদ্ধি পেয়েছে এবং তারপরে count এর ভ্যালু এক্সপ্রেশনে ব্যবহৃত হয়েছে।
post-increment (ভ্যারিয়েবল++) অপারেটর:
post-increment এর ক্ষেত্রে ভ্যারিয়েবলের ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয় এবং তারপরে ভ্যালু এক বৃদ্ধি পায়।
সিনট্যাক্স
variable++;
উদাহরনঃ সি প্রোগ্রামিং এ post-increment (ভ্যারিয়েবল++) অপারেটর এর ব্যবহারঃ
#include<stdio.h>
#include<conio.h>
void main()
{
int a,i;
i=5;
a=i++;
printf("the value of a: %d",a);
printf("the value of i: %d",i);
return 0;
}
আউটপুট
the value of a: 5
the value of i: 6
উপরের প্রোগ্রামে count এর ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয়েছ তারপরে count এর ভ্যালু এক বৃদ্ধি পেয়েছে
pre-decrement (--ভ্যারিয়েবল) অপারেটর:
pre-decrement এর ক্ষেত্রে প্রথমে ভ্যালু এক হ্রাস পায় তারপরে ক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয়।
সিনট্যাক্স
--variable;
উদাহরনঃ সি প্রোগ্রামিং এ pre-increment (--ভ্যারিয়েবল) অপারেটর এর ব্যবহার
#include<stdio.h>
#include<conio.h>
void main()
{
int a,count;
count=5;
a=--i;
printf("the value of a: %d",a);
printf("the value of i: %d",count);
return 0;
}
আউটপুট
the value of a: 4
the value of count 4
উপরের প্রোগ্রামে প্রথমে count এর ভ্যালু এক হ্রাস পেয়েছে এবং তারপরে count এর ভ্যালু এক্সপ্রেশনে ব্যবহৃত হয়েছে।
post-decrement (ভ্যারিয়েবল--) অপারেটর:
post-increment এর ক্ষেত্রে ভ্যারিয়েবলের ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয় অথবা অন্য ভ্যারিয়েবলে ইনিশিয়ালাইজ(initialize) হয় এবং তারপরে ভ্যালু এক হ্রাস পায়।
সিনট্যাক্স
variable--;
উদাহরনঃ সি প্রোগ্রামিং এ post-decrement (ভ্যারিয়েবল--) অপারেটর এর ব্যবহারঃ
#include<stdio.h>
#include<conio.h>
void main()
{
int a,i;
i=5;
a=i--;
printf("the value of a: %d",a);
printf("the value of i: %d",i);
return 0;
}
আউটপুট
the value of a: 5
the value of i: 4
উপরের প্রোগ্রামে count এর ভ্যালু প্রথমে এক্সপ্রেশনে ব্যবহৃত হয়েছ তারপরে count এর ভ্যালু এক হ্রাস পেয়েছে।
Assignment Operators:
ভ্যারিয়েবলে ভ্যালু এসাইন করা বা জমা রাখার জন্য এসাইনমেন্ট(assignment) অপারেটর ব্যবহৃত হয়। সবচেয়ে বেশী ব্যবহৃত এসাইনমেন্ট অপারেটর হলো =
উদাহরণঃ এসাইনমেন্ট অপারেটর
// সি প্রোগ্রামে এসাইনমেন্ট অপারেটর কিভাবে কাজ করে এই উদাহরণের সাহায্যে তা দেখানো হলো।
#include <stdio.h>
int main()
{
int a = 10, c;
c = a;
printf("c = %d \n", c);
c += a; // c = c+a
printf("c = %d \n", c);
c -= a; // c = c-a
printf("c = %d \n", c);
c *= a; // c = c*a
printf("c = %d \n", c);
c /= a; // c = c/a
printf("c = %d \n", c);
c %= a; // c = c%a
printf("c = %d \n", c);
return 0;
}
আউটপুট
c = 10
c = 20
c = 10
c = 100

No comments