شرط if...else در C
تصمیمگیری در برنامه با دستورات if، else if و else و ترکیب شرطها
دستورات شرطی
دستورات شرطی به برنامه اجازه میدهند بر اساس شرایط مختلف، تصمیمگیری کند و مسیرهای متفاوتی اجرا شود.
دستور if ساده
اگر شرط درست باشد، بلوک کد اجرا میشود:
if (condition) {
// این کد فقط اگر شرط درست باشد اجرا میشود
}
مثال:
int x = 20;
if (x > 18) {
printf("x بزرگتر از 18 است");
}
دستور else
اگر شرط if درست نباشد، کد else اجرا میشود:
if (condition) {
// اگر شرط درست باشد
} else {
// اگر شرط غلط باشد
}
مثال:
int time = 20;
if (time < 18) {
printf("روز بخیر");
} else {
printf("شب بخیر");
}
دستور else if
برای بررسی چند شرط پشت سر هم:
if (condition1) {
// شرط ۱
} else if (condition2) {
// شرط ۲
} else {
// اگر هیچکدام درست نباشد
}
مثال:
int score = 85;
if (score >= 90) {
printf("عالی (A)");
} else if (score >= 80) {
printf("خیلی خوب (B)");
} else if (score >= 70) {
printf("خوب (C)");
} else {
printf("نیاز به تلاش بیشتر");
}
ترکیب شرطها با عملگرهای منطقی
int age = 25;
int hasLicense = 1; // در C صفر یعنی غلط و غیر صفر یعنی درست
if (age >= 18 && hasLicense) {
printf("میتوانید رانندگی کنید");
}
شرط خلاصه (Ternary Operator)
یک روش کوتاه برای if...else ساده:
variable = (condition) ? valueIfTrue : valueIfFalse;
// مثال:
int time = 20;
char *greeting = (time < 18) ? "روز بخیر" : "شب بخیر";
نکات مهم
- اگر بلوک فقط یک دستور دارد، آکولاد لازم نیست — اما استفاده از آکولاد همیشه امنتر است
- دقت کنید
=انتساب است و==مقایسه؛ در شرطها همیشه از==استفاده کنید - در C هر مقدار غیرصفر «درست» و صفر «غلط» محسوب میشود
این مبحث بخشی از دوره آموزش کامل زبان C است.