دستورات 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های تو در تو |
---|---|
کد تمیزتر و خواناتر | کد پیچیدهتر میشود |
کارایی بهتر (بررسی شرطها تا اولین تطابق) | همه شرطها بررسی میشوند |
مناسب برای شرطهای مستقل از هم | مناسب برای شرطهای وابسته به هم |
برای مثالهای پیشرفتهتر میتوانید به این آموزش مراجعه کنید.