75.C++da do-while operatorini ishlatish va unga doir misollar
73-savolga qaralsin
76.C++da for va while operatorlarining ishlatilishi va ularning farqlari.
for takrorlash
operatorining sintaksisi quyidagi ko’rinishga ega: for (; ;)
; Bu operator o’z ishini ifodasining bajarishidan boshlaydi.
Keyin takrorlash qadamlari boshlanadi. Har bir qadamda tekshiriladi, agar
ning qiymati 0 qiymatidan farqli, ya‘ni rost bo’lsa, takrorlash tanasi −
bajariladi, so‘ngra bajariladi. Agar ning qiymati 0 (yolg‘on) bo’lsa,
takrorlanish jarayoni to’xtaydi va boshqaruv takrorlash operatoridan keyingi operatorga o’tadi.
Shuni ta‘kidlash kerakki, ifodasi vergul bilan ajratilgan bir nechta ifodalar
birlashmasidan iborat bo’lishi ham mumkin, bu holda vergul bilan ajratilgan ifodalarning
oxirgisi takrorlanish sharti hisoblanadi. Takrorlanish tanasi sifatida bitta operator, jumladan
bo’sh operator bo’lishi yoki operatorlar bloki ham kelishi mumkin.Quyida for operatori
parametrlarining vazifalari bilan tanishamiz: − takrorlash sanagichiga boshlang‘ich
qiymat berishga xizmat qiladi va u takrorlash jarayoni boshida faqat bir marta hisoblanadi.
Ifodada o’zgaruvchi e‘loni ham bo‘lishi mumkin va bu o’zgaruvchi takrorlash operatori
tanasida amal qiladi va takrorlash operatoridan tashqarida «ko’rinmaydi». −
takrorlanishning bajarishi yoki bajarilmasligini aniqlab beruvchi mantiqiy ifoda (shart), agar
shart rost bo’lsa, takrorlanish davom etadi, aks holda to‘xtaydi. Agar bu ifodaning o‘rni bo’sh
bo’lsa, shart doimo rost deb hisoblanadi. − odatda takrorlanish sanagichining
qiymatini oshirish (kamaytirish) uchun xizmat qiladi yoki unda takrorlanish shartiga ta‘sir
etuvchi boshqa amallar ham bo’lishi mumkin. Takrorlash operatorida qavs ichidagi
ifodalar bo’lmasligi ham mumkin, lekin sintaksis ;‘ bo’lmasligiga ruxsat bermaydi. Shu
sababli sodda ko’rinishdagi takrorlash operatori quyidagicha bo’ladi: for(;;). Agar
takrorlanish jarayonida bir nechta o’zgaruvchilarning qiymati sinxron ravishda o’zgarishi
kerak bo’lsa, va ifodalarida zarur operatorlarni ,‘ bilan yozish orqali bunga
erishish mumkin: for(int i=1,j=2;i<=15;i++,j=i+1) { … } Takrorlash operatorining har bir
qadamida i va j o’zgaruvchilarning qiymatlari mos ravishda o‗zgarib boradi. For operatorida
takrorlanish tanasi bo’lmasligi ham mumkin. Shuni ham ta'kidlash joizki, C++ tilida for
operatorining parametrlari haqiqiy turga tegishli bo'lishi, takrorlanishlar qadami ham ixtiyoriy
holatda belgilanishi mumkin. Bu imkoniyatlar operatorning keng qamrovli ekanligini
bildiradi. While takrorlash operatori, operator yoki blokni takrorlanish sharti yolg‘on (0)
bo’lguncha takrorlashni amalga oshiradi. Uning sintaksisi quyidagicha: while ()
; Agar qiymati doimo rost bo’lsa, takrorlanish jarayoni cheksiz
51
davom etadi. Xuddi shunday, takrorlanish boshlanishida rost bo‘lib, uning qiymatiga
takrorlanish tanasidagi hisoblash ta‘sir etmasa, ya‘ni uning qiymati o’zgarmasa, bu holda ham
takrorlanish cheksiz davom etadi. While takrorlanish shartini oldindan tekshiruvchi takrorlash
operatori hisoblanadi. Agar takrorlanish boshida yolg’on bo’lsa, while operatori
tarkibidagi bajarilmasdan cheklab o‘tiladi. Ayrim hollarda
qiymat berish operatori ko’rinishida kelishi mumkin. Bunda qiymat berish amali bajariladi va
natija 0 bilan taqqoslanadi. Natija noldan farqli bo’lsa, takrorlanish davom ettiriladi. Agar rost
ifodaning qiymati noldan farqli o’zgarmas bo’lsa, cheksiz takrorlanish ro’y beradi. Masalan:
while(1); // cheksiz takrorlanish Xuddi for operatoridagi kabi bu operatorda ham qavs
ichida ,‘ yordamida ajratilgan bir nechta ifodalarni yozish mumkin.
Do'stlaringiz bilan baham: |