• 24 ta ko'rildi

C dasturlash tili / Takrorlash operatori

Oldingi shartli while operatori. Oldingi shartli while operatori quyidagi umumiy ko’rinishga egadir:

	while(ifoda) Operator

Bu operator bajarilganda avval ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator bajariladi va ifoda qayta hisoblanadi. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi. Agar dasturda while (1); satr qo’yilsa bu dastur hech qachon tugamaydi.

Misol: Berilgan n gacha sonlar yig’indisi.

#include <stdio.h>
void main()
{
long n,i = 1,s = 0;
scanf("%d",&n);
while (i< = n ) s+ = i++;
printf("\n s = %d",s);
 }
Bu dasturda s+ = i++ ifoda s = s+i; i = i+1 ifodalarga ekvivalentdir.

Quyidagi dastur to nuqta bosilmaguncha kiritilgan simvollar va qatorlar soni hisoblanadi:

#include <stdio.h>
int main()
{
int nc = 0,nl = 0;
char c;
while ((c = getchar())! = '.' )
{
++nc;
if (c = = '\n') ++nl;
};
printf("satrlar = %d simvollar = %d \n",nl,nc);
return 0;
}

Keyingi shartli do-while operatori. Keyingi shartli do-while operatori umumiy ko’rinishi quyidagicha:

	do
	Operator while(ifoda)

Sikl operatorining bu ko’rinishida avval operator bajariladi so’ngra ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator yana bajariladi va hokazo. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi.

Misol: Berilgan n gacha sonlar yig’indisi.

#include <stdio.h>
int main()
{
long n,i = 1,s = 0;
scanf("%d",&n);
do
s+ = i++;
while (i< = n); printf("\n s = %d",s);
return 0;
}

Bu dasturning kamchiligi shundan iboratki agar n qiymati 0 ga teng yoki manfiy bo’lsa ham, sikl tanasi bir marta bajariladi va s qiymati birga teng bo’ladi.