BOSHQARUV STRUKTURALARIDA continue VA break
IFODALARINI QOLLASH
while, do/while, switch va for strukturalarida break operatorini qo'llaganimizda ushbu dastur bajarilishi ushbu strukturalaridan chiqib ketadi va navbatdagi kelayatgan ifodadan davom etadi. Bunda boshqaruv struk-turalaridagi breakdan keyin keluvchi ifodalar ijro ko'ra olmay qoladi.
Buni misolda ko'rsataylik.
//break va for ni qo'llash
# include
int main()
{
int h, k = 3;
for(h = 0; h < 10 ; h++){
cout << h << " ";
if (k == 6)
break;
cout << k++ << endl;
}
cout << "for dan tashqarida: " << h << " " << k << endl;
return (0);
}
Ekranda:
0 3
1 4
2 5
3
for dan tashqarida 3 6
if ning sharti bajarilgandan so'ng break dan keyin joylashgan cout << k++ << endl; ifodasi ijro ko'rmadi. Biz o'zgaruvchilarni for dan tashqarida ham qollamoqchi bo'lganimiz uchun, ularni for dan oldin e'lon qildik.
continue ifodasi while, do/while yoki for ichida qo'llanilganda, takrorlanish tanasida continue dan keyin kelayatgan ifodalar tashlanib o'tilib, takrorlanishning yangi sikli (iteratisyasi) boshlanadi. Buni programma qismi misolida ko'rib chiqaylik.
...
for (int e = 1 ; e<=10 ; ++e){
if ( (e%2) == 0 ) //juft son bo'sa siklni o'tqizvor
continue;
cout << e << " ";
}
...
Ekranda:
1 3 5 7 9
Bu yerda bir-ikkita aytib o'tiladigan nuqtalar bor. continue va break ni ishlatish strukturali dasturlash falsafasiga to'g'ri kelmaydi. Ular dasturni analiz qilishni murakkablashtirib yuboradi. Bular o'rniga strukturali dasturlash amallarini qo'llagan holda boshqaruv strukturalarining harakatini o'zgartirish mumkin. Lekin boshqa tarafdan albatta bu sakrash ifodalari ayni ishni bajaradigan strukturali dasturlash iboralaridan ko'ra ancha tezroq ishlaydi. Boshqaruv strukturalarini qo'llanilgan bir misol keltiraylik. Dastur futbol o'yinlarining nechtasida durang, nechtasida birinchi va nechtasida ikkinchi komanda yutganini sanaydi.
// while - switch - cin.get - EOF ga misol
Dostları ilə paylaş: |