16 / 90

C++ continue Statement

C++ continue operatori

Kompyuter dasturlashda continue operatori siklning joriy iteratsiyasini o'tkazib yuborish uchun ishlatiladi va dasturni boshqarish keyingi iteratsiyaga o'tadi.

continue operatorining sintaksisi:

example.cpp
continue;

continue operatori haqida bilishdan oldin, quyidagilarni bilganingizga ishonch hosil qiling:

C++ continue operatorining ishlashi

C++ da continue operatorining ishlashi

Working of C++ continue Statement

1-misol: for sikli ichida continue operatori

for siklida continue joriy iteratsiyani o'tkazib yuboradi va boshqaruv oqimi update ifodasiga o'tadi.

example.cpp
// i qiymatini chop etish uchun dastur

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        // davom ettirish sharti
        if (i == 3) {
            continue;
        }

        cout << i << endl;
    }

    return 0;
}

Chiqish

kod
1
2
4
5

Yuqoridagi dasturda biz har bir iteratsiyada i qiymatini chop etish uchun for siklidan foydalanganmiz. Mana, kodga e'tibor bering,

example.cpp
if (i == 3) {
    continue;
}

Bu degani

  • i 3 ga teng bo'lsa, continue operatori joriy iteratsiyani o'tkazib yuboradi va keyingi iteratsiyani boshlaydi
  • Keyin, i 4 ga aylanadi va condition yana baholanadi.
  • Shunday qilib, 4 va 5 keyingi ikki iteratsiyada chop etiladi.

[!NOTE] continue operatori deyarli har doim shart operatorlari bilan ishlatiladi.

2-misol: while sikli ichida continue operatori

while siklida continue joriy iteratsiyani o‘tkazib yuboradi va dasturni boshqarish oqimi while condition ga qaytadi.

example.cpp
// faqat 50 gacha bo'lgan ijobiy raqamlarni hisoblash dasturi
// agar foydalanuvchi salbiy raqamni kiritsa,
// bu raqam hisobdan o'tkazib yuboriladi

// manfiy raqam -> siklni tugatish
// 50 dan yuqori raqamlar -> iteratsiyani o'tkazib yuborish

#include <iostream>
using namespace std;

int main() {
    int sum = 0;
    int number = 0;

    while (number >= 0) {
        // barcha ijobiy raqamlarni qo'shing
        sum += number;

        // foydalanuvchidan ma'lumot oling
        cout << "Enter a number: ";
        cin >> number;

        // holatini davom ettirish
        if (number > 50) {
            cout << "The number is greater than 50 and won't be calculated." << endl;
            number = 0;  // raqamning qiymati yana 0 ga teng bo'ladi
            continue;
        }
    }

    // summani ko'rsatish
    cout << "The sum is " << sum << endl;

    return 0;
}

Chiqish

kod
Enter a number: 12
Enter a number: 0
Enter a number: 2
Enter a number: 30
Enter a number: 50
Enter a number: 56
The number is greater than 50 and won't be calculated.
Enter a number: 5
Enter a number: -3
The sum is 99

Yuqoridagi dasturda foydalanuvchi raqam kiritadi. while sikli foydalanuvchi kiritgan ijobiy raqamlarning umumiy yig'indisini chop etish uchun ishlatiladi, agar kiritilgan raqamlar 50 dan katta bo'lmasa.

continue operatoridan foydalanishga e'tibor bering.

example.cpp
if (number > 50){
    continue;
}
  • Agar foydalanuvchi 50 dan kattaroq raqamni kiritsa, continue operatori joriy iteratsiyani o'tkazib yuboradi. Keyin dasturning boshqaruv oqimi while siklining condition ga o'tadi.
  • Agar foydalanuvchi 0 dan kichikroq raqamni kiritsa, sikl tugaydi.

[!NOTE] continue operatori do...while sikllari uchun xuddi shunday ishlaydi.

Ichma-ich (nested) sikllar ichida continue operatori

continue ichki sikllar bilan ishlatilsa, u ichki siklning joriy iteratsiyasini o'tkazib yuboradi. Masalan,

example.cpp
// ichida davom iborasidan foydalanish
// for loop ko'rinishida

#include <iostream>
using namespace std;

int main() {
    int number;
    int sum = 0;

    // for looplarga nisbatan

    // birinchi sikl
    for (int i = 1; i <= 3; i++) {
        // ikkinchi (ichki) sikl
        for (int j = 1; j <= 3; j++) {
            if (j == 2) {
                continue;
            }
            cout << "i = " << i << ", j = " << j << endl;
        }
    }

    return 0;
}

Chiqish

kod
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

Yuqoridagi dasturda, continue operatori bajarilganda, u ichki sikldagi joriy iteratsiyani o'tkazib yuboradi. Va dasturni boshqarish ichki siklning yangilanish ifodasiga o'tadi.

Demak, j = 2 qiymati hech qachon chiqishda ko'rsatilmaydi.

[!NOTE] break operatori siklni butunlay tugatadi. Biroq, continue operatori faqat joriy iteratsiyani o'tkazib yuboradi.