الدرس 18: هياكل التكرار: حلقة do-while
تشبه حلقة do-while حلقة while ، لكنها تضمن تنفيذ جسم الحلقة مرة واحدة على الأقل، بغض النظر عن الشرط الأولي.
قاعدة حلقة do-while
c do { // كتلة الكود المراد تنفيذها } while (condition); // ملاحظة: الفاصلة المنقوطة بعد شرط while إلزامية!
كيف تعمل (حلقة يتم التحكم فيها عند الخروج)
- يتم تنفيذ الكود داخل كتلة
doعلى الفور. - بعد التنفيذ الأول، يتم التحقق من شرط
while. - إذا كان الشرط صحيحاً، تتكرر الحلقة؛ وإلا فإنها تنتهي.
مثال: التحقق من صحة مدخلات القائمة
حالة استخدام شائعة هي إجبار المستخدم على إدخال قيمة معينة حتى يتم اتخاذ خيار صحيح.
c #include <stdio.h>
int main() { int choice;
do {
printf("1. ابدأ | 2. الخيارات | 3. خروج\n");
printf("أدخل اختيارك (1-3): ");
scanf("%d", &choice);
} while (choice < 1 || choice > 3);
printf("تم اختيار خيار صالح: %d\n", choice);
return 0;
}
مقارنة: while مقابل do-while
| الميزة | while | do-while |
|---|---|---|
| التحكم | عند الدخول (التحقق قبل التنفيذ) | عند الخروج (التحقق بعد التنفيذ) |
| الحد الأدنى للتنفيذ | صفر مرات | دائماً مرة واحدة على الأقل |
| الفاصلة المنقوطة | لا توجد بعد while (...) | مطلوبة بعد while (condition); |