توفر ++C عددًا من الحلقات أو عبارات التكرار، تستخدم لتكرار أجزاء من البرنامج على حسب الحاجة. هنالك ثلاثة أنواع من حلقات التكرار(loops) في ++C، وهي for، while و do while وسنتحدث في هذا المقال عن النوع الأول منها وهو الـ while.
حلقة التكرار while:
هي عبارة تكرارية مشابهة لعبارة التكرار for، تستخدم لتكرار خطوات البرمجية المحصورة بين قوسيها لعدد من المرات، وذلك بعد تفحُّص شرط التحقق، فإذا تحقق الشرط يبقى داخل الحلقة، وإذا لم يتحقق يتوقف عن التكرار.
طريقة استخدامها مشابه قليلاً لطريقة استخدام الكلمة المحجوة if.
الصورة العامة لـ while:
الحلقة تتكون من الكلمة الأساسية while يليها بين أقواس شرط التكرار ثم العبارة في حال أردنا تنفيذ عبارة واحدة.
( condition (while
; statement
وفي حال أردنا تنفيذ أكثر من عبارة تكون الصورة العامة:
(while (condition
}
;statement 1
;statement 2
.
.
;statement n
{
إذا كان الشرط صحيح فإنه سوف يتم إعادة تنفيذ الأوامر، وإذا كان خاطئ فسيتم الخروج من الحلقة، أي أن الحلقة تستمر بلا توقف طالما أن الشرط متحقق.
النقطة الأساسية للحلقة while هي أن الحلقة قد لا تعمل على الإطلاق عندما يتم اختبار الشرط والنتيجة خاطئة، سيتم تخطي جسم الحلقة وسيتم تنفيذ العبارة الأولى بعد حلقة while.
لتنفيذ الأوامر سيكون بدون توقف إلا أن يصبح الشرط غير صحيح، وإن كان الشرط ثابت أو أن قيمته لا تتغير فسيتم تنفيذ الأوامر عدد غير محدود من المرات، أي أن تنفيذ الأوامر سيبقى بدون توقف، لذا يجب علينا أن نستعمل مؤثرات الزيادة والنقصان أو أن نعطي الحريّة للمستخدم بإيقاف حلقة التكرار متى أراد.
الحلقة while تتيح تكرار فعل جزء من البرنامج إلى أن يتغير شرط ما، على سبيل المثال:
(while (x<50
x=x*2
هنا ستستمر هذه الحلقة في مضاعفة المتغير x إلى أن تصبح قيمة x أكبر من 50 عندها تتوقف. وفي حلقات التكرار دائمًا نستعمل متغيرات، وإلّا فإن الحلقة سوف تكون بلا نهاية، والمتغير الذي سوف نستعمله يكون العداد للحلقة، كما يجب علينا أيضًا أن نعطي المتغير قيمة يبدأ بها.