حلقه do-while در C
حلقه do-while که بدنه آن حداقل یکبار اجرا میشود و تفاوت آن با while
حلقه do-while
این حلقه شبیه while است با یک تفاوت مهم: بدنه آن حداقل یکبار اجرا میشود، حتی اگر شرط از ابتدا غلط باشد! چون شرط بعد از اجرای بدنه بررسی میشود:
do {
// کد تکرارشونده
} while (condition); // ⚠️ نقطهویرگول آخر فراموش نشود!
مثال
int i = 1;
do {
printf("%d\n", i);
i++;
} while (i <= 5);
تفاوت while و do-while
// while: شرط اول بررسی میشود
int x = 100;
while (x < 10) {
printf("اجرا نمیشود"); // ❌ هرگز اجرا نمیشود
}
// do-while: بدنه اول اجرا میشود
int y = 100;
do {
printf("یکبار اجرا میشود!"); // ✅ یکبار اجرا میشود
} while (y < 10);
کاربرد اصلی: منوها و ورودی کاربر
do-while برای مواقعی عالی است که باید حداقل یکبار کاری انجام شود؛ مثل نمایش منو تا زمانی که کاربر گزینه خروج را انتخاب کند:
int choice;
do {
printf("1. شروع بازی\n2. تنظیمات\n3. خروج\n");
scanf("%d", &choice);
} while (choice != 3);
مقایسه سه حلقه C
| حلقه | زمان بررسی شرط | حداقل اجرا | بهترین کاربرد |
|---|---|---|---|
for | قبل از بدنه | ۰ بار | تعداد تکرار مشخص |
while | قبل از بدنه | ۰ بار | تکرار تا رخ دادن رویداد |
do-while | بعد از بدنه | ۱ بار | منوها، ورودی کاربر |
نکات مهم
- نقطهویرگول بعد از
while(condition)در do-while اجباری است - اگر منطق برنامه نیاز دارد بدنه حداقل یکبار اجرا شود، do-while انتخاب درست است
این مبحث بخشی از دوره آموزش کامل زبان C است.