سلام دوستان برنامهنویس! 👋 توی این آموزش قراره دستور switch رو در زبان برنامهنویسی C بررسی کنیم. با مثالهایی ساده و کاربردی یاد میگیریم چطور از این دستور برای ساختارهای چندانتخابی استفاده کنیم.
switch در C: ساختار تصمیمگیری چندحالته!
دستور switch وقتی به کار میاد که چند گزینه برای اجرا داریم و میخوایم یکی از اونها رو با توجه به مقدار دادهشده انتخاب کنیم. این ساختار خواناتر و مرتبتر از if...elseهای پلهای هست.
ساختارش به شکل زیره:
switch (عبارت) {
case مقدار_۱:
// دستورات
break;
case مقدار_۲:
// دستورات
break;
...
default:
// دستورات پیشفرض
}
دستور switch چگونه کار میکند؟
وقتی برنامه به دستور switch میرسه، عبارت داخل پرانتز فقط یه بار بررسی میشه و با مقدار هر case مقایسه میشه. اگر یکی از caseها برابر بود، دستورات اون بخش اجرا میشن تا به break برسیم. اگه هیچکدوم از caseها برابر نبودن، قسمت default اجرا میشه.
قسمت default اختیاریه، ولی بودنش کمک میکنه خروجی برنامه همیشه مشخص باشه.
مثال ۱: ماشینحساب ساده با switch
بیایید با یه مثال ساده بریم سراغ فهم بهترش. این برنامه از کاربر یه عملگر ریاضی میگیره و دو عدد، بعد با استفاده از switch عملیات رو انجام میده:
// ماشینحساب ساده با switch
#include <stdio.h>
int main() {
char operator;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf", &n1, &n2);
switch (operator) {
case '+':
printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", n1, n2, n1 * n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2);
break;
default:
printf("خطا! عملگر وارد شده معتبر نیست.");
}
return 0;
}
خروجی نمونه:
Enter an operator (+, -, *, /): -
Enter two operands: 32.5 12.4
32.5 - 12.4 = 20.1
همونطور که دیدیم، عملگر - توسط کاربر وارد شده، بنابراین برنامه عملیات تفریق رو انجام داده و بعد از اجرای break از دستور switch خارج شده.
نکات تکمیلی درباره switch
- از switch برای انتخاب بین گزینههای عددی یا کاراکتری استفاده میشه.
- هر case باید مقدار ثابت داشته باشه. نمیتونید از متغیر یا شرط استفاده کنید.
- استفاده از break ضروریه مگر اینکه بخواید چند case پشتسرهم اجرا بشن.
- قسمت default میتونه مثل else عمل کنه و وقتی هیچ گزینهای برابر نبود، اجرا بشه.
امیدواریم این آموزش براتون مفید بوده باشه! این مقاله توسط سایت علمی رایشمند برای شما آماده شده است.