সি সুইচ স্টেটমেন্ট (C switch statement)

Computer Programming - সি প্রোগ্রামিং (C Programming) সি কন্ট্রোল স্টেটমেন্ট (C Control Statement) |
388
388

এই অধ্যায় শেষে আপনি সি প্রোগ্রামিং এ সুইচ(switch) স্টেটমেন্ট লেখা শিখবেন।


সি প্রোগ্রামিং switch...case স্টেটমেন্ট

 

নেস্টেড if...else স্টেটমেন্ট ব্যবহার করে আপনি অনেক ভ্যালুর বিপরীতে কোনো একটি নির্দিষ্ট কোড ব্লককে এক্সিকিউট(execute) করতে পারেন। কিন্তু আপনি যদি সিঙ্গেল ভ্যারিয়েবলের ভ্যালু চেক করাতে চান তাহলে nested if...else স্টেটমেন্টের পরিবর্তে switch স্টেটমেন্ট ব্যবহার করাই উত্তম হবে।

switch স্টেটমেন্ট প্রায়ই নেস্টেট if...else স্টেটমেন্টের চেয়ে দ্রুততর এবং সুইস স্টেটমেন্টের সিনট্যাক্সও তুলনামূলক সহজ ও স্বচ্ছ।


সি সুইস সিনট্যাক্স

 

switch (expression)
 {
    case value1:
        //expression এর ভ্যালু value1 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;

    case value2:
        //expression এর ভ্যালু value2 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;
        .
        .
        .
    default:
        //expression এর ভ্যালু কোনো value এর সমান না হলে  এই কোড এক্সিকিউট হবে;
}

 


 

switch...case স্টেটমেন্ট কিভাবে কাজ করে?

 

  • উপরের সিনট্যাক্সে expression প্রোগ্রামে শুধুমাত্র একবার এক্সিকিউশন(execution) হয়।
  • এক্সপ্রেশনের ভ্যালু সুইস ব্লকের যেই case value এর সাথে মিলে যায় প্রোগ্রাম কন্ট্রোল তার কাছে চলে আসে ফলে সেই case value এর কোড ব্লকটি সম্পাদিত(execution) হয়।
  • উপরের সিউডোকোড(pseudocode) এ expression এর ভ্যালু যদি value2 এর সমান হয় তাহলে কম্পাইলার case value2 এর কোড ব্লককে এক্সিকিউট করবে।
  • case value2 এর পরে কোনো break স্টেটমেন্ট না থাকলে সুইস ব্লকের শেষ পর্যন্ত এক্সিকিউশন হবে।
  • এক্সপ্রেশনের ভ্যালু সুইস ব্লকের কোনো case value এর সাথে না মিললে default এর কোড ব্লকটি সম্পাদিত হবে।
  • পরবর্তী case কে এক্সিকিউট থেকে বাধা দিতে break স্টেটমেন্ট ব্যবহার করা হয়।

সি সুইস স্টেটমেন্ট ফ্লোচার্ট

সুইস স্টেটমেন্ট এর ফ্লোচার্ট

 

উদাহরন ১: সুইস স্টেটমেন্ট

 

kt_satt_skill_example_id=230

 

উপরের প্রোগ্রামে ইউজার 4 ইনপুট দেওয়ায় এক্সপ্রেশনের ভ্যালু case 4 : এর সাথে মিলে গেছে এবং Tuesday প্রিন্ট হয়েছে।


 উদাহরন ২: সুইস স্টেটমেন্ট

 

kt_satt_skill_example_id=232

 

ইউজার - অপারেটর ইনপুট দেওয়ায় ইহা oparetor ভ্যারিয়েবলে জমা হয়েছে। এবং দুটি অপারেন্ড 32.5 এবং 12.4 ইনপুট দেওয়ায় এগুলো যথাক্রমে  firstNumber এবং secondNumber ভ্যারিয়েবলে জমা হয়েছে।

তারপরে প্রোগ্রামের কন্ট্রোল নিচের ব্লকে জাম্প করে।

printf("%.1lf - %.1lf = %.1lf",firstNumber, secondNumber, firstNumber-firstNumber);

অবশেষে break statement সুইস স্টেটমেন্টের সমাপ্তি ঘটায়।

যদি break স্টেটমেন্ট ব্যবহার করা না হত তাহলে সঠিক case এর পরবর্তী সকল case এক্সিকিউট(execute) হত। 

common.content_added_and_updated_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion