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

সি প্রোগ্রামিং-এ Switch Case স্টেটমেন্ট


একটি switch স্টেটমেন্ট একটি ভেরিয়েবলকে একটি মানের তালিকার সাথে সমানতার জন্য পরীক্ষা করতে দেয়। প্রতিটি মানকে একটি case বলা হয়, এবং যেটি সুইচ করা হচ্ছে সেটি প্রতিটি switch case-এর জন্য চেক করা হয়।

সিনট্যাক্স

switch(expression) {
    case constant-expression:
        statement(s);
        break; /* অপশনাল */
    case constant-expression:
        statement(s);
        break; /* অপশনাল */
    /* আপনি যেকোনো সংখ্যক case স্টেটমেন্ট রাখতে পারেন */
    default: /* অপশনাল */
        statement(s);
}

সুইচ স্টেটমেন্টের নিয়মাবলী

  • expression যা switch স্টেটমেন্টে ব্যবহার করা হয় সেটি অবশ্যই ইন্টিগ্রাল বা এনিউমারেটেড টাইপের হতে হবে, বা একটি ক্লাস টাইপ যেখানে ক্লাসটির একটি একক কনভার্শন ফাংশন থাকে ইন্টিগ্রাল বা এনিউমারেটেড টাইপে।
  • একটি switch-এ আপনি যেকোনো সংখ্যক case স্টেটমেন্ট রাখতে পারেন। প্রতিটি case-এর পর যে মানটির সাথে তুলনা করা হবে সেটি এবং একটি কোলন থাকে।
  • একটি case-এর জন্য constant-expression অবশ্যই switch-এ থাকা ভেরিয়েবলের মতো একই ডেটা টাইপের হতে হবে, এবং এটি একটি কনস্ট্যান্ট বা লিটারেল হতে হবে।
  • যখন সুইচ করা ভেরিয়েবলটি একটি case-এর সমান হয়, তখন সেই case-এর পিছনে থাকা স্টেটমেন্টগুলো এক্সিকিউট হবে যতক্ষণ না একটি break স্টেটমেন্ট পাওয়া যায়।
  • যখন একটি break স্টেটমেন্ট পাওয়া যায়, সুইচ টার্মিনেট হয়, এবং কন্ট্রোল ফ্লো সুইচ স্টেটমেন্টের পরের লাইনে চলে যায়।
  • প্রতিটি case-এ break থাকতে হবে এমন নয়। যদি কোনো break না থাকে, তবে কন্ট্রোল ফ্লো পরবর্তী case-এ ফেলে যাবে যতক্ষণ না একটি break পাওয়া যায়।
  • একটি switch স্টেটমেন্টে একটি অপশনাল default case থাকতে পারে, যেটি সুইচের শেষে থাকতে হবে। default caseটি তখন কাজে লাগে যখন কোনো case true না হয়। default case-এ break দরকার নেই।

উদাহরণ কোড

#include <stdio.h>

int main() {
    /* লোকাল ভেরিয়েবল সংজ্ঞায়ন */
    char grade = 'B';
    switch(grade) {
        case 'A':
            printf("Excellent!\n");
            break;
        case 'B':
        case 'C':
            printf("Well done\n");
            break;
        case 'D':
            printf("You passed\n");
            break;
        case 'F':
            printf("Better try again\n");
            break;
        default:
            printf("Invalid grade\n");
    }
    printf("Your grade is %c\n", grade);
    return 0;
}

আউটপুট

Well done
Your grade is B
  1. জাভাস্ক্রিপ্ট Switch স্টেটমেন্টে Return স্টেটমেন্ট ব্যবহার

  2. C ভাষায় স্যুইচ স্টেটমেন্ট ব্যাখ্যা

  3. সি/সি++-এ সвич-কেসে রেঞ্জ (Range) ব্যবহার

  4. C++-এ সিদ্ধান্ত গ্রহণের কাঠামো: if-else এবং switch-case