break va continue — sikllarning ichki oqimini boshqaradigan ikki operator. Ba’zan siklni shart tugashini kutmasdan to’xtatish, ba’zan esa bitta takrorni o’tkazib yuborish kerak bo’ladi. Aynan shu ikki ehtiyoj uchun break va continue yaratilgan.
break — siklni butunlay to’xtatib, undan chiqadi. continue — joriy takrorni yakunlab, keyingisiga o’tadi.
break — siklni to’xtatish
break operatori siklni shart tugashini kutmasdan darhol to’xtatadi:
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 100; i++) {
if (i == 4)
break;
printf("%d ", i);
}
printf("\n");
return 0;
}
1 2 3
Sikl i <= 100 gacha ketishi kerak edi, ammo i to’rtga yetganda break uni uzib qo’ydi. Bu, masalan, ro’yxatdan kerakli elementni topgach izlashni to’xtatishda foydali.
continue — bir qadamni o’tkazib yuborish
continue joriy takrorni to’xtatib, keyingisiga o’tadi. Sikl to’xtamaydi:
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 6; i++) {
if (i == 3)
continue;
printf("%d ", i);
}
printf("\n");
return 0;
}
1 2 4 5 6
E’tibor bering: 3 chiqmadi. i uchga tengida continue printf gacha yetmasdan siklni keyingi takrorga o’tkazdi.
break va continue farqi
Ikkovining farqini jadvalda aniq ko’ramiz:
| Operator | Ta’siri | Sikl davom etadimi? |
|---|---|---|
break |
siklni butunlay to’xtatadi | Yo’q |
continue |
joriy takrorni o’tkazadi | Ha |
Amaliy misol: juft sonlar
Ikkovini birlashtirib, foydali natija olamiz — 1 dan 10 gacha faqat juft sonlarni chiqaramiz:
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0)
continue; /* toq bo'lsa o'tkazib yuboramiz */
printf("%d ", i);
}
printf("\n");
return 0;
}
2 4 6 8 10
Bu yerda continue toq sonlarni o’tkazib yubordi, natijada faqat juftlari chiqdi. Qoldiq operatori (%) bilan birga bu naqsh juda ko’p ishlatiladi.
Xulosa
Bu bo’limda break bilan siklni to’xtatish, continue bilan takrorni o’tkazish va ularning farqini ko’rib chiqdik. Bu ikki operator sikllar ustidan nozik nazorat beradi. Keyingi darsda massivlarga o’tamiz.