কম্পিউটার টিউটোরিয়াল

সি ভাষায় ব্যবহৃত বিভিন্ন অপারেটর এবং এক্সপ্রেশন কী কী?

সি ভাষায় অপারেটর এবং এক্সপ্রেশন

অপারেটর ডেটার ওপর অপারেশন সম্পাদন করে। এগুলিকে নিম্নলিখিত শ্রেণিতে ভাগ করা যায়:

  • অ্যারিথমেটিক অপারেটর (Arithmetic Operators)
  • রিলেশনাল অপারেটর (Relational Operators)
  • লজিক্যাল অপারেটর (Logical Operators)
  • অ্যাসাইনমেন্ট অপারেটর (Assignment Operators)
  • ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর (Increment and Decrement Operators)
  • বিটওয়াইজ অপারেটর (Bitwise Operators)
  • কন্ডিশনাল অপারেটর (Conditional Operators)
  • স্পেশাল অপারেটর (Special Operators)

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

এই অপারেটরগুলো সংখ্যাসূচক গণনার জন্য ব্যবহৃত হয়—যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি।

অপারেটর বিবরণ উদাহরণ a=20, b=10 আউটপুট
+যোগa+b20+1030
-বিয়োগa-b20-1010
*গুণa*b20*10200
/ভাগa/b20/102 (ভাগফল)
%মডুলার ভাগ (শেষাংশ)a%b20%100 (শেষাংশ)

প্রোগ্রাম উদাহরণ

#include <stdio.h>
int main() {
    int a = 20, b = 10;
    printf("%d ", a+b);
    printf("%d ", a-b);
    printf("%d ", a*b);
    printf("%d ", a/b);
    printf("%d ", a%b);
    return 0;
}

আউটপুট

30 10 200 2 0

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

দুই এক্সপ্রেশন তুলনা করার জন্য এই অপারেটরগুলো ব্যবহৃত হয়। ফলাফল হয় true (1) অথবা false (0)।

অপারেটর বিবরণ উদাহরণ a=20, b=10 আউটপুট
<ছোটa<b10<201
<=ছোট অথবা সমানa<=b10<=201
>বড়a>b10>200
>=বড় অথবা সমানa>=b10>=200
==সমানa==b10==200
!=অসমানa!=b10!=201

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

দুই বা তার অধিক এক্সপ্রেশন লজিক্যালভাবে একসাথে जोড়ার জন্য ব্যবহৃত হয়। মূলত তিনটি: লজিক্যাল AND (&&), OR (||) এবং NOT (!)।

লজিক্যাল AND (&&) ট্রুথ টেবিল

exp1exp2exp1 && exp2
TTT
TFF
FTF
FFF

লজিক্যাল OR (||) ট্রুথ টেবিল

exp1exp2exp1 || exp2
TTT
TFT
FTT
FFF

লজিক্যাল NOT (!) ট্রুথ টেবিল

exp!exp
TF
FT

অ্যাসাইনমেন্ট অপারেটর

ভেরিয়েবলে মান 대입 করার জন্য ব্যবহৃত হয়। ধরনগুলো:

  • সিম্পল অ্যাসাইনমেন্ট (=)
  • কম্পাউন্ড অ্যাসাইনমেন্ট (+=, -=, *=, /=, %=)
অপারেটরবিবরণউদাহরণ
=সিম্পল অ্যাসাইনমেন্টa=10
+=, -=, *=, /=, %=কম্পাউন্ড অ্যাসাইনমেন্টa+=10 অর্থাৎ a=a+10

ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটর

ইনক্রিমেন্ট (++)

ভেরিয়েবলের মান ১ বাড়াতে ব্যবহৃত হয়। দুই ধরনের:

  • প্রি-ইনক্রিমেন্ট (++a): আগে মান বাড়ায়, তারপর ব্যবহার করে।
  • পোস্ট-ইনক্রিমেন্ট (a++): আগে ব্যবহার করে, তারপর মান বাড়ায়।
// প্রি-ইনক্রিমেন্ট
z = ++a; // a = a+1; z = a

// পোস্ট-ইনক্রিমেন্ট
z = a++; // z = a; a = a+1

ডিক্রিমেন্ট (--)

ভেরিয়েবলের মান ১ কমাতে ব্যবহৃত হয়।

  • প্রি-ডিক্রিমেন্ট (--a): আগে মান কমায়, তারপর ব্যবহার করে।
  • পোস্ট-ডিক্রিমেন্ট (a--): আগে ব্যবহার করে, তারপর মান কমায়।

বিটওয়াইজ অপারেটর

বিট লেভেলে অপারেশন সম্পাদন করে।

অপারেটরবিবরণ
&বিটওয়াইজ AND
|বিটওয়াইজ OR
^বিটওয়াইজ XOR
<<লেফট শিফট
>>রাইট শিফট
~ওন্স কমপ্লিমেন্ট

কন্ডিশনাল অপারেটর (?:)

একে টার্নারি অপারেটর ও বলা হয়। সিনট্যাক্স: exp1 ? exp2 : exp3। যদি exp1 true হয়, exp2 এক্সিকিউট হয়, অন্যথায় exp3।

স্পেশাল অপারেটর

  • কমা (,): ভেরিয়েবল পৃথক করার জন্য।
  • অ্যাড্রেস (&): ভেরিয়েবলের ঠিকানা পাওয়ার জন্য।
  • সাইজঅফ (sizeof): ডেটা টাইপ বা ভেরিয়েবলের সাইজ (বাইটে) জানার জন্য।
  1. C ভাষায় বিভিন্ন পয়েন্টার অপারেশন এবং পয়েন্টার সমস্যা ব্যাখ্যা

  2. সি ভাষায় এক্সপ্রেশনের প্রকারভেদ (Types of Expressions)

  3. কম্পিউটার ভাষার প্রকারভেদ (Types of Computer Languages)

  4. সি ভাষায় বিভিন্ন সার্চিং টেকনিক কী কী?