break و continue در C
کنترل جریان حلقهها با break برای خروج و continue برای رد کردن تکرار
break و continue
این دو دستور کنترل اجرای حلقهها را به شما میدهند:
break— حلقه را کاملاً تمام میکندcontinue— فقط تکرار جاری را رد میکند و به تکرار بعدی میرود
دستور break
قبلاً در switch دیدید که break از switch خارج میشود. در حلقهها هم همینطور است:
for (int i = 0; i < 10; i++) {
if (i == 4) {
break; // وقتی i برابر ۴ شد، حلقه تمام میشود
}
printf("%d\n", i);
}
// خروجی: 0 1 2 3
دستور continue
تکرار جاری را رد میکند اما حلقه ادامه مییابد:
for (int i = 0; i < 10; i++) {
if (i == 4) {
continue; // عدد ۴ رد میشود
}
printf("%d\n", i);
}
// خروجی: 0 1 2 3 5 6 7 8 9
مثال کاربردی break: جستجو
پیدا کردن اولین عدد بخشپذیر بر ۷:
for (int i = 50; i < 100; i++) {
if (i % 7 == 0) {
printf("پیدا شد: %d", i);
break; // لازم نیست بقیه را بگردیم
}
}
مثال کاربردی continue: فیلتر
چاپ فقط اعداد فرد:
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // زوجها رد شوند
}
printf("%d ", i);
}
// خروجی: 1 3 5 7 9
break در حلقه تو در تو
break فقط از داخلیترین حلقه خارج میشود:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) break; // فقط حلقه داخلی میشکند
printf("%d-%d ", i, j);
}
}
نکات مهم
- break و continue فقط داخل حلقهها (و break در switch) معتبرند
- استفاده زیاد از continue گاهی خوانایی را کم میکند — گاهی شرط را برعکس کنید بهتر است
- در while با continue مراقب باشید شمارنده قبل از continue افزایش یابد وگرنه حلقه بینهایت میشود
این مبحث بخشی از دوره آموزش کامل زبان C است.