|
دستور های
break
و Continue
|
دستور
break هرگاه که در ساختارهای
while و
do/while و
for يا
switch اجرا گردد، باعث خروج فوری برنامه از آن
ساختار خواهد شد و برنامه اولين دستور بعد از آن ساختار را اجرا خواهد کرد. به
برنامه زير توجه کنيد:
#include <iostream.h>
int main()
{
int n;
for (n=10; n>0; n--)
{
cout << n << ",";
if (n==3)
{
cout << "countdown aborted!";
break;
}
}
return 0;
}
خروجی برنامه به صورت زير می باشد:
10,9,8,7,6,5,4,3,countdown aborted!
برنامه فوق اعداد 10 تا 4 را چاپ خواهد کرد و هنگامی که متغير
n عدد 3 می شود، شمارش معکوس به پايان می
رسد.
نکته :
در برنامه فوق شمارنده حلقه يعنی
n
در خارج از دستور
for تعريف شد. در چنين حالتی ، اين متغير خارج
از حلقه نيز می تواند مورد استفاده قرار گيرد ولی اگر تنها در داخل حلقه تعريف
شده بود ، تنها آنجا می توانستيم از آن استفاده کنيم و خارج حلقه تعريف نشده
بود.
دستور
continue هرگاه در ساختارهای
while و
do/while يا
for اجرا گردد دستورات بعدی آن ساختار ناديده
گرفته می شود و بار بعدی حلقه تکرار اجرا می شود. در دو ساختار
while و
do/while پس از اجرای دستور
continue
شرط حلقه مورد بررسی قرار می گيرد، اما در ساختار
for
ابتدا مقدار شمارنده افزايش يا کاهش می يابد، سپس شرط حلقه بررسی می شود. توجه
داشته باشيد که در حلقه
while وdo/while دستور
continue
همواره بعد از افزايش يا کاهش شمارنده به کار رود. به عنوان مثال برنامه زير
مجموع اعداد 1 تا 20 به جز 10 را محاسبه می کند.
#include <iostream.h>
int main( )
{
int n=0, sum=0;
while (n < 20)
{
++n; // n = n + 1;
if (n==10) continue;
sum += n; // sum = sum + n;
}
cout << "1+2+ ...(except 10)...+20=" <<sum << endl;
return 0;
}
خروجی برنامه به صورت زير می باشد.
1+2+ ...(except 10)...+20=200
برنامه عمل جمع را تا رسيدن به عدد 10 ادامه می دهد به محض اينکه
n
برابر 10 می شود دوباره به شرط حلقه منتقل می شود و چون شرط همچنان
برقرار است وارد حلقه شده و
n
يک واحد افزايش می يابد و جمع اعداد ادامه می يابد.
|