সি এসাইনমেন্ট অপারেটর

আমরা পূর্বের পর্বে জেনেছি সি প্রোগ্রামিং এ ব্যবহৃত Increment and Decrement Operator (ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর) নিয়ে। এই পর্বে আমরা Assignment Operator (এসাইনমেন্ট অপারেটর) নিয়ে বিস্তারিত আলোচনা করব।

‘=’ এাটি হচ্ছে এসাইনমেন্ট বা (Equal to) অপারেটর। আমরা বাংলাতে একে সমান সমান চিহ্ন বলে থাকি। সি প্রোগ্রামিংসহ প্রত্যেকটা প্রোগ্রামিং ভাষায় এর ব্যবহার রয়েছে। এই এসাইনমেন্ট অপারেটরকে সবচেয়ে গুরুত্বপূর্ন অপারেটর হিসেবে বিবেচনা করা হয়। প্রোগ্রামিং এ ভেরিয়েবলের ভেল্যু এসাইন করতে হলে এই এসাইনমেন্ট অপারেটর দিয়ে করতে হয়। এই অপারেটর ব্যবহার করতে অনেকটা এই ভাবে-

Identifier = expression

এখানে Identifier হচ্ছে ভেরিয়েবলের নাম, যার অধীনে আমরা কোনো মান রাখবো আর expression হচ্ছে সেই মান বা ভেল্যু যাকে নিয়ে আমরা কাজ করবো। কয়েকটি উদাহরণ দেখা যাক –

x = 10;
y = 100;
pi = 3.1416;
total = x+y+pi;

এখানে x, y, pi, total এইগুলা হচ্ছে Identifier আর 10, 100, 3.1416 ও x+y+pi এইগুলা হচ্ছে Identifier এর অধীনের মান অর্থাৎ expression। ব্যাপারটি আরো সহজে বুঝার জন্য নিচের সি কোডটি দেখি-

#include<stdio.h>
int main()
{
int x, y;
float pi, total;
x = 10;
y = 100;
pi = 3.1416;
total = x+y+pi;
printf("Total: %f \n", total);
return 0;
}

আউটপুট

Total: 113.141602

এখানে x, y, pi এর মাঝে যথাক্রমে 10, 100 ও 3.1416 এসাইন করা হয়েছে।

সি তে অনেক ধরণের এসাইনমেন্ট অপারেটর রয়েছে, তা জানতে নিচের টেবিলটি লক্ষ্য করুন। উদাহরণে স্বার্থে এখানে x = 10 ও y = 3 ধরা হয়েছে। যেমন-

অপারেটর

উচ্চারণ

উদাহরণ

ব্যাখ্যা

আউটপুট

=

ইকুয়াল টু

x = y

x = y

3

+=

প্লাস ইকুয়াল টু

x += y

x = x+y

13

-=

মাইনাস ইকুয়াল টু

x -= y

x = x-y

7

*=

প্রডাক্ট ইকুয়াল টু

x *= y

x = x*y

33

/=

ডিভিশন ইকুয়াল টু

x /= y

x = x/y

3

%=

মড ইকুয়াল টু

x % y

x = x%y

1

এসাইনমেন্ট অপারেটর ব্যবহার করে নিচের সি প্রোগ্রাম কোডটি করা হয়েছে-

#include<stdio.h>
int main()
{
int x = 10, y = 5;
x += y; // x = x+y
printf("X: %d \n", x);
x -= y; // x = x-y
printf("X: %d \n", x);
x *= y; // x = x*y
printf("X: %d \n", x);
x /= y; // x = x/y
printf("X: %d \n", x);
x %= y; // x = x%y
printf("X: %d \n", x);
return 0;
}

আউটপুট

X: 15
X: 10
X: 50
X: 10
X: 0

এখানে আমি x = 10, y = 5 মান এসাইন করেছি। এরপর x += y এসাইন করেছি এবং এর মান প্রিন্ট করেছি। এরপর x এর বর্তমান মান 15 থেকে y এর মান 5 বিয়োগ করে 10 করেছি। একইভাবে x এর বর্তমান ভেল্যুর সাথে আবার গুণ করেছি, এরপর আবার x এর বর্তমান ভেল্যুর সাথে ভাগ করেছি, এরপর ভাগশেষ নির্নয় করেছি।

যদি আমরা scanf ব্যবহার করে উপরের কোডটি করতে চাই, তাহলে কোডের ধরণ এমন হবে-

#include<stdio.h>
int main()
{
int x, y;
printf("Enter two value: ");
scanf("%d %d", &x, &y);
x += y; // x = x+y
printf("X: %d \n", x);
x -= y; // x = x-y
printf("X: %d \n", x);
x *= y; // x = x*y
printf("X: %d \n", x);
x /= y; // x = x/y
printf("X: %d \n", x);
x %= y; // x = x%y
printf("X: %d \n", x);
return 0;
}

আউটপুট

Enter two value: 10 3
X: 13
X: 10
X: 30
X: 10
X: 1

Tags: সি এসাইনমেন্ট অপারেটর, সি প্রোগ্রামিং