دستورات else-if در C

دستورات else-if در زبان برنامه‌نویسی C

در برنامه‌نویسی، تصمیم‌گیری و کنترل جریان اجرا از مباحث پایه‌ای است. زبان C با استفاده از ساختارهای شرطی مانند if، else و else-if این امکان را فراهم می‌کند. در این مقاله به بررسی دقیق ساختار else-if می‌پردازیم.


ساختار پایه else-if

ساختار else-if زمانی استفاده می‌شود که نیاز به بررسی چندین شرط متوالی دارید. این ساختار به صورت زیر تعریف می‌شود:

if (شرط1) {
    // کدهای اجرایی اگر شرط1 درست باشد
}
else if (شرط2) {
    // کدهای اجرایی اگر شرط2 درست باشد
}
else {
    // کدهای اجرایی اگر هیچ‌یک از شروط درست نباشد
}

برای درک بهتر می‌توانید اینجا را نگاه کنید تا مثال‌های عملی بیشتری ببینید.

مثال کاربردی

فرض کنید می‌خواهید برنامه‌ای بنویسید که نمره دانشجو را دریافت کرده و وضعیت تحصیلی او را مشخص کند:

محدوده نمره وضعیت
18-20 عالی
15-17.99 خوب
12-14.99 قابل قبول
کمتر از 12 مردود

کد مربوط به این برنامه به صورت زیر خواهد بود:

float score;
printf("نمره دانشجو را وارد کنید: ");
scanf("%f", &score);

if (score >= 18 && score <= 20) {
    printf("وضعیت: عالی");
}
else if (score >= 15 && score < 18) {
    printf("وضعیت: خوب");
}
else if (score >= 12 && score < 15) {
    printf("وضعیت: قابل قبول");
}
else {
    printf("وضعیت: مردود");
}

نکات مهم در استفاده از else-if

  • شرط‌ها به ترتیب از بالا به پایین بررسی می‌شوند
  • به محض برقراری اولین شرط، بقیه شرط‌ها نادیده گرفته می‌شوند
  • استفاده از else در انتها اختیاری است اما توصیه می‌شود
  • می‌توانید تعداد نامحدودی else-if بین if و else قرار دهید
توجه داشته باشید که ترتیب قرارگیری شرط‌ها در else-if بسیار مهم است. اگر شرط‌ها را به صورت نادرست مرتب کنید، ممکن است برنامه رفتار مورد انتظار را نداشته باشد.

تفاوت ifهای تو در تو و else-if

گاهی برنامه‌نویسان تازه‌کار بین استفاده از ifهای تو در تو و else-if سردرگم می‌شوند. تفاوت اصلی این دو در موارد زیر است:

else-if ifهای تو در تو
کد تمیزتر و خوانا‌تر کد پیچیده‌تر می‌شود
کارایی بهتر (بررسی شرط‌ها تا اولین تطابق) همه شرط‌ها بررسی می‌شوند
مناسب برای شرط‌های مستقل از هم مناسب برای شرط‌های وابسته به هم

برای مثال‌های پیشرفته‌تر می‌توانید به این آموزش مراجعه کنید.