إن جملة for تستخدم التكرار تنفيذ أمر معين عدّة مرات، ملاحظة مهمة قبل البدء يجب أن تعلم أنه في لغة سي بلس بلس إذا وضعنا أمام المتغير (++) فإن المتغير سيزداد بمقدار واحد يعني أنه لو كان الرقم 5 ووضعنا أمام المتغير (++) فإنه سوف يصبح 6.
بالنسبة للأوامر التي تحتاج لتكرار فإنها توضع في جسم الحلقة.
تحتاج جملة الـ for إلى عدّاد تبدأ منه الدوران ورقم تنتهي إليه حتى تنفذ الدورات ومقدار الزيادة.
فلنبدأ الآن بالصيغة العامة لجملة التكرار for:
إذا كانت جملة واحدة تكون صيغتها:
(for (vari_delcration ; condition ; increment/decrement
;statement
ولا داعي لأن نضيف الأقواس.
أما إذا كانت أكثر من جملة فيجب علينا أن نضيف الأقواس {}، وتكون الصيغة العامة:
(for (vari_delcration; condition ; increment/decrement
}
;statement 1
;statement 2
.
.
{
أولا: for وهي كلمة من الكلمات المحجوزة وتدل على بداية التكرار.
ثانيًا: نأخذ ما بين الأقواس بعد for وهو السطر التالي:
(vari_delcration; condition ; increment/decrement)
نقوم بتقسيم السطر السابق إلى ثلاثة أجزاء بعد كل فاصلة منقوطة ( ; ) سنجد ما يلي:
الجزء الأول (vari_delcration): ويتم في هذا الجزء الإعلان عن المتغير وإعطاءه قيمة إبتدائية.
الجزء الثاني (condition): وهو شرط التكرار فإذا تحقق الشرط يتوقف التكرار وإذا لم يتحقق يستمر.
آخر جزء هو (increment/decrement): ويعني مقدار الزيادة المراد إضافتها للمتغير أو مقدار النقصان.
ثاالثًا: Statement: وهي الأوامر المراد تنفيذها داخل حلقة التكرار.
تفسيرالكلام السابق بمثال بسيط:
ماذا يعني السطر التالي (++int j = 1; j <= 4 ; j)؟
int j=1 يعني هنا عرّف متغير من النوع int بإسم j وقم بإعطائه القيمة 1.
j <= 4 يعني أنه عندما تصبح قيمة الـ j أقل من أو تساوي 4 توقف عن التكرار.
(++j) تعني أضف 1 إلى j في كل مرة.
في هذه الحالة سيكون التكرار من 1 إلى 4.
ملاحظة: قيمة j ستتغير في كل مرة يتم فيها التكرار.
مثال لو جعلنا int i =9 وجعلنا الحد i <= 19 هنا سوف يكون التكرار من 9 إلى 19.
تطبيق على جملة for:
مثال يطبع الأعداد من 0 إلى 10.
<include <iostream#
;using namespace std
()int main
}
(++for(int j=0;j<=10;j
}
;cout<<j<<endl
{
{
عرفنا متغير في البداية على أنه عدد صحيح وهو j وأعطيناه القيمة 0، ووضعنا الشرط وهو أن تتوقف الحلقة عندما تصبح قيمة j أقل أو تساوي 10 فإذا لم يتحقق الشرط سيستمر البرنامج بإخراج قيمة j وستزداد قيمة j واحدا بعد كل دورة.