در آموزش های قبلی انواع حلقه در برنامه نویسی C را بررسی کردیم. در این آموزش به کمک مثال های مختلف شیوه استفاده از دستورات break و continue را یاد خواهید گرفت.
break در C
دستور break، بلافاصله حلقه را خاتمه می دهد و برنامه به بعد از حلقه منتقل می شود. ساختار break:
break;
در اکثر مواقع دستور break با دستور if…else داخل حلقه استفاده می شود.
دستور break چگونه کار می کند؟
مثال ۱: دستور break
// برنامه محاسبه مجموع اعداد ورودی (حداکثر ۱۰ عدد)
// اگر کاربر عدد منفی وارد کند، حلقه تمام می شود
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf(“Enter a n%d: “, i);
scanf(“%lf”, &number);
// اجرا می شود break اگر کاربر عدد منفی وارد کرده باشد، دستور
if (number < 0.0) {
break;
}
sum += number; // sum = sum + number;
}
printf(“Sum = %.2lf”, sum);
return 0;
}
خروجی
Enter a n1: 2.4
Enter a n2: 4.5
Enter a n3: 3.4
Enter a n4: -3
Sum = 10.30
این برنامه حداکثر مجموع ۱۰ عدد را محاسبه می کند و اگر قبل از رسیدن به تکرار ۱۰ ام حلقه، کاربر عدد منفی وارد کند، دستور break اجرا می شود و حلقه for به پایان می رسد. درنهایت مجموع محاسبه شده نمایش داده می شود.
در برنامه نویسی C از break با دستور switch نیز استفاده می شود.
continue در C
دستور continue، تکرار فعلی حلقه را رد می کند و با تکرار بعدی ادامه می یابد. ساختار دستور continue:
continue;
دستور continue تقریباً همیشه با دستور if…else استفاده می شود.
مثال ۲:دستور continue
// برنامه محاسبه مجموع اعداد ورودی (حداکثر ۱۰ عدد)
// اگر کاربر عدد منفی وارد کند، در مقدار مجموع محاسبه نمی شود
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf(“Enter a n%d: “, i);
scanf(“%lf”, &number);
if (number < 0.0) {
continue;
}
sum += number; // sum = sum + number;
}
printf(“Sum = %.2lf”, sum);
return 0;
}
خروجی
Enter a n1: 1.1
Enter a n2: 2.2
Enter a n3: 5.5
Enter a n4: 4.4
Enter a n5: -3.4
Enter a n6: -45.5
Enter a n7: 34.5
Enter a n8: -4.2
Enter a n9: -1000
Enter a n10: 12
Sum = 59.70
در این برنامه وقتی کاربر عدد مثبت وارد کند، این عدد با دستور sum += number; در مقدار مجموع اعداد محاسبه می شود. اما هنگامی که کاربر یک عدد منفی وارد کند، دستور continue اجرا شده و برنامه به ابتدای حلقه بر می گردد، در نتیجه عدد منفی در مقدار مجموع محاسبه نخواهد شد.