الدرس 19: هياكل التكرار: حلقة for
تعد حلقة for مثالية عندما يكون عدد التكرارات معروفاً مسبقاً أو عندما تحتاج إلى هيكل واضح للتهيئة، والتحقق من الشرط، والتحديث.
قاعدة حلقة for
c for (initialization; condition; increment/decrement) { // كتلة الكود للتنفيذ }
التعبيرات الثلاثة
- التهيئة (Initialization): تُنفذ مرة واحدة فقط في بداية الحلقة (مثلاً:
int i = 0;). - الشرط (Condition): يتم التحقق منه قبل كل تكرار. إذا كان صحيحاً، تستمر الحلقة.
- الزيادة/النقصان (Update): تُنفذ بعد تشغيل جسم الحلقة، وتُستخدم عادةً لتقديم متغير التحكم في الحلقة.
مثال: التكرار من 0 إلى 9
c #include <stdio.h>
int main() { int i; // تبدأ i بـ 0، تعمل ما دامت i < 10، وتزداد i بمقدار 1 في كل مرة for (i = 0; i < 10; i++) { printf("قيمة i هي: %d\n", i); } return 0; }
الحلقات المتداخلة (Nested Loops)
يمكنك وضع حلقة داخل حلقة أخرى. يُستخدم هذا بشكل شائع للتكرار عبر هياكل البيانات ثنائية الأبعاد (مثل الجداول أو المصفوفات).
c // مثال: طباعة شبكة 3x3 for (int row = 1; row <= 3; row++) { for (int col = 1; col <= 3; col++) { printf("(%d, %d) ", row, col); } printf("\n"); // الانتقال لسطر جديد بعد إنهاء صف }