در بخشهای قبلی (+) این سری مقالات آموزش زبان برنامهنویسی ++C با گزاره if..else..if آشنا شدیم که امکان اجرای یک قطعه کد را در میان گزینههای مختلف فراهم میسازد. با این حال اگر قصد دارید مقدار یک متغیر منفرد را با استفاده از گزارههای متوالی if..else..if بررسی کنید، بهتر است به جای آن از گزاره switch..case استفاده کنید. برای مطالعه بخش قبلی این سری ملاقات آموزشی زبان برنامهنویسی ++C به لینک زیر مراجعه کنید:
گزاره switch اگر نه همیشه، دستکم در اغلب موارد سریعتر از گزاره if…else است. ضمناً ساختار گزاره سوئیچ سادهتر و درک آن آسانتر است.
در شبه کد فوق تصور کنید مقدار n برابر با constant2 باشد. کامپایلر بلوک کدی را اجرا خواهد کرد با گزاره case مرتبط هستند تا این که به انتهای بلوک سوئیچ برسد یا با گزاره break مواجه شود. گزاره break برای جلوگیری از اجرای کد در case بعدی استفاده میشود.
شکل فوق نشان میدهد که گزاره switch چگونه کار میکند و شرایط مختلف چگونه درون بند case سوئیچ بررسی میشوند.
Enter an operator (+, -, *, /): + - Enter two operands: 2.3 4.5 2.3 - 4.5 = -2.2
عملگر (-) که از سوی کاربر وارد میشود در متغیر 0 ذخیره میشود. دو عملوند 2.3 و 4.5 به ترتیب در متغیرهای num1 و num2 ذخیره میشوند. سپس کنترل برنامه به دستور زیر میرسد:
cout << num1 << " - " << num2 << " = " << num1-num2;
در نهایت گزاره break موجب اتمام گزاره switch میشود. اگر گزاره break استفاده نشود، همه case-های بعد از حالت صحیح نیز اجرا خواهند شد. برای مشاهده بخش بعدی این مطلب به لینک زیر رجوع کنید: