C++ оператор продолжения
С++ оператор continue
В этом руководстве мы узнаем об операторе continue и его работе с циклами с помощью примеров.
В компьютерном программировании continue
оператор используется для пропуска текущей итерации цикла, и управление программой переходит к следующей итерации.
Синтаксис continue
утверждение:
continue;
Прежде чем вы узнаете об операторе continue, убедитесь, что вы знаете о,
- С++ для цикла
- C++, если...иначе
- цикл while C++
Работа оператора C++ continue
<рисунок>
Пример 1:продолжение цикла for
В for
петля, continue
пропускает текущую итерацию, и поток управления переходит к update
выражение.
// program to print the value of i
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
// condition to continue
if (i == 3) {
continue;
}
cout << i << endl;
}
return 0;
}
Вывод
1 2 4 5
В приведенной выше программе мы использовали for
цикл для вывода значения i в каждой итерации. Здесь обратите внимание на код,
if (i == 3) {
continue;
}
Это означает
- Когда i равно
3
,continue
оператор пропускает текущую итерацию и запускает следующую итерацию - Затем i становится
4
, иcondition
оценивается снова. - Следовательно,
4
и5
печатаются в течение следующих двух итераций.
Примечание :continue
заявление почти всегда используется с заявлениями о принятии решения.
Пример 2:продолжение цикла while
В while
цикл, continue
пропускает текущую итерацию, и поток управления программы возвращается к while
condition
.
// program to calculate positive numbers till 50 only
// if the user enters a negative number,
// that number is skipped from the calculation
// negative number -> loop terminate
// numbers above 50 -> skip iteration
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int number = 0;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
// continue condition
if (number > 50) {
cout << "The number is greater than 50 and won't be calculated." << endl;
number = 0; // the value of number is made 0 again
continue;
}
}
// display the sum
cout << "The sum is " << sum << endl;
return 0;
}
Вывод
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
В приведенной выше программе пользователь вводит число. while
цикл используется для вывода общей суммы положительных чисел, введенных пользователем, если введенные числа не превышают 50
.
Обратите внимание на использование continue
заявление.
if (number > 50){
continue;
}
- Когда пользователь вводит число больше
50
,continue
Оператор пропускает текущую итерацию. Затем поток управления программы переходит кcondition
изwhile
петля. - Когда пользователь вводит число меньше
0
, цикл завершается.
Примечание :continue
оператор работает таким же образом для do...while
петли.
продолжить вложенный цикл
Когда continue
используется с вложенными циклами, он пропускает текущую итерацию внутреннего цикла. Например,
// using continue statement inside
// nested for loop
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// nested for loops
// first loop
for (int i = 1; i <= 3; i++) {
// second loop
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
cout << "i = " << i << ", j = " << j << endl;
}
}
return 0;
}
Вывод
i = 1, j = 1 i = 1, j = 3 i = 2, j = 1 i = 2, j = 3 i = 3, j = 1 i = 3, j = 3
В приведенной выше программе, когда continue
оператор выполняется, он пропускает текущую итерацию во внутреннем цикле. И управление программой переходит к выражению обновления внутреннего цикла.
Следовательно, значение j =2 никогда не отображается в выходных данных.
Примечание :Оператор break полностью завершает цикл. Однако continue
Оператор пропускает только текущую итерацию.
Язык C