استخدام break وcontinue مع عبارات التكرار :
1-ايعاز break :
يستخدم هذا الإيعاز مع عبارات التكرار للإيقاف التكرار أي الخروج من هيكل الحلقة التكرارية .
وأحيانا يستخدم للإيقاف الحلقات التكرارية الغير منتهية .
مثال : البرنامج التالي يكرر من 10 الى 1 , ولكن يمكن باستخدام ايعاز break مسبباً توقف عند الرقم 3 كالتالي :
#include <iostream.h>
int main ()
{
int n ;
for (n=10; n>0; n--) {
cout << n << ", ";
if (n==3)
{
cout << " finish ";
break;
}
}
return 0;
}
Out put :
10, 9, 8, 7, 6,5, 4, 3,finish
مثال : المثال التالي يستخدم صيغة خالية لعبارة for التي تكون غير محتوية على شرط أي أنها تتكرر إلى مالا نهاية , والتي سيتم السيطرة عليها بإستحدام break كالتالي :
#include <iostream.h>
void main ( )
{
char ch;
for ( ; ;)
{
cin>>ch ;
cout < < " "<<ch ;
if (ch==’.’) break ;
}
}
2-إيعاز continue :
يسمى هذا الإيعاز بإيعاز القفز skip instruction والذي إذا استخدم داخل الحلقة التكرارية يسبب قفزة عند الوصول إليه إلى بداية الحلقة .
مثال : البرنامج التالي يطبع الأعداد من 01 إلى 1 ماعدا العدد 5 ؟
#include <iostream.h>
int main ( )
{
for (int n=10; n>0; n--) {
if (n==5) continue;
cout << n << ", ";
}
cout << "END!";
return 0;
}
Output :
10, 9, 8, 7, 6, 4, 3,2, 1, END!
مثال : البرنامج التالي يقرأ سلسلة من الرموز حتى أن ينتهي الإدخال بالرمز $ , بحيث كل رمز يقرأه يطبع الرمز الذي يقع بعده , أي إذا قرأ البرنامج الحرف A يطبع B وهكذا كالتالي :
#include<iostrem.h>
void code(void)
{
char ch;
int done ;
done = 0;
while(!done) {
cin<<ch ;
if(ch== $ )
{ done = 1;
continue;
}
cout<< ch+1 ; /* shift the alphabet one position higher */
}
}
أي ان عمل continue في هذا البرنامج يماثل عمل break .