C Break va Continue

O’tish operatorlari

Uzish break operatori. Ba’zi hollarda sikl bajarilishini ixtiyoriy joyda to’xtatishga to’g’ri keladi. Bu vazifani break operatori bajarishga imkon beradi. Bu operator darxol sikl bajarilishini to’xtatadi va boshqaruvni sikldan keyingi operatorlarga uzatadi.

Misol:

#include <stdio.h> 
int main()
{
    int n;
    while(1)
    {
        scanf("%d",&n); if(n == 1||n == 0) break;
      }
  printf("Sikl tugadi");
   return 0;
 }

Bu misolda while(1) operatori yordamida cheksiz sikl hosil qilinadi. Agar 1 yoki 0 soni kiritilsa sikl to’xtatiladi.

Qaytarish continue operatori. Sikl bajarilishiga ta’sir o’tkazishga imkon beradigan yana bir operator continue operatoridir. Bu operator sikl qadamini bajarilishini to’xtatib for va while da ko’rsatilgan shartli tekshirishga o’tkazadi.

Misol:

#include <stdio.h>
 int main()
{
    int n;
    for(;;)
    {
        scanf("%d",&n);
        if(n == 1||n == 0) continue;
        break;
     }
   printf("Sikl tugadi");
   return 0;
 }

Bu misolda for(;;) operatori yordamida cheksiz sikl hosil qilinadi. Agar 1 yoki 0 sonlardan farqli son kiritilsa sikl to’xtatiladi.

O’tish operatori goto. O’tish operatorining ko’rinishi:

goto <identifikator>

O’tish operatori goto. O’tish operatorining ko’rinishi:

goto <identifikator>. 

Bu operator identifikator bilan belgilangan operatorga o’tish kerakligini ko’rsatadi.

Misol uchun:

goto A1;…;A1:y = 5;

Strukturali dasturlashda goto operatoridan foydalanmaslik maslahat beriladi. Lekin ba’zi hollarda o’tish operatoridan foydalanish dasturlashni osonlashtiradi. Misol uchun bir necha sikldan birdan chiqish kerak bo’lib qolganda, to’g’ridan-to’g’ri break operatorini qo’llab bo’lmaydi, chunki u faqat eng ichki sikldan chiqishga imkon beradi.

#include <stdio.h>
int main()
{
    int n = 16,s = 0; int i,j;
    for(i = 1; i<5; i++)
    for(j = 1; j<5; j++)
    {
        if(i*j>n) goto A;
        s++;
    }
 A:printf("Sikl tugadi s = %d",s);
 return 0;
}