Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433

Оператор break выходит из цикла и ветвления?

05.10.2015, 08:46. Показов 3425. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for(int j=0; j<10; j++)
{
if(j<10)
cout<<"Выход!";break;
Другие операторы;
Другие операторы;
Другие операторы;
}
 
for(int j=0; j<10; j++)
{
программа перейдёт сюда или выйдет из программы?
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.10.2015, 08:46
Ответы с готовыми решениями:

Составьте программу для решения поставленной задачи, используя оператор цикла и операторы ветвления
помогите пожалуйста((((

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры.
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения...

Как корректно прервать цикл? (нюансы использования циклов, операторов ветвления и оператора break)
Здравствуйте! такая форма работает...цикл нормально прерывается for(double i=1; i&lt;=10; i++){ if(i==8) break; ...

10
Заблокирован
05.10.2015, 08:51
программа выйдет из цикла и пойдёт дальше по программе (за пределами for)
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
05.10.2015, 08:57
Цитата Сообщение от Aqua77 Посмотреть сообщение
if(j<10)
cout<<"Выход!";break;
в вашем случае break вообще не является частью блока ветвления.

обратите внимание:

ваш случай:
C++
1
2
3
4
5
if(j<10)
{
    cout<<"Выход!";
}
break;
случай, когда break является часть блока ветвления:

C++
1
2
3
4
5
if(j<10)
{
    cout<<"Выход!";
    break;
}
1
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
05.10.2015, 09:01  [ТС]
Цитата Сообщение от hoggy Посмотреть сообщение
случай, когда break является часть блока ветвления
То есть выйдет только из ветвления if а цикл продолжится?
0
Заблокирован
05.10.2015, 09:06
правильней написать было бы вот так:

C++
1
2
3
4
5
6
7
8
9
10
for(int j=0; j<10; j++)
{
if(j<10) cout<<"Выход!";
 
break;
 
Другие операторы;
Другие операторы;
Другие операторы;
}
другие операторы просто не выполнятся, после условия на break прога выйдет из цыкла
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
05.10.2015, 09:10
Цитата Сообщение от Aqua77 Посмотреть сообщение
То есть выйдет только из ветвления if а цикл продолжится?
нет
в данном случае цикл прекратится всегда, на первой же итерации
а не тогда когда j<10
а почему так hoggy объяснил
посему лучше всегда использовать фигурные скобки для составного оператора
не лепить все в одну строчку
чтобы потом не вылавливать досадных ошибок

Добавлено через 1 минуту
Цитата Сообщение от tigerKR Посмотреть сообщение
правильней написать было бы вот так:
Цитата Сообщение от tigerKR Посмотреть сообщение
C++
1
2
3
if(j<10) cout<<"Выход!";
 
break;
и в чем разница по сравнению с
Цитата Сообщение от Aqua77 Посмотреть сообщение
C++
1
2
if(j<10)
cout<<"Выход!";break;
0
Заблокирован
05.10.2015, 09:13
разницы никакой, так просто читабельнее

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
не лепить все в одну строчку
приблизительно вот это хотел сказать )
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
05.10.2015, 09:15
правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int j=0; j<10; j++)
 {
 if(условия)
  {
 cout<<"Выход!";
  break;
 }
 Другие операторы;
 Другие операторы;
 Другие операторы;
 }
 //программа перейдёт сюда по окончании цикла или при срабатывании условия
 for(int j=0; j<10; j++)
 {
 
 }
но если написать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int j=0;j<10 ; j++)
 {
 if(j<10)
  {
 cout<<"Выход!";
  break;
 }
 Другие операторы;
 Другие операторы;
 Другие операторы;
 }
 
 for(int j=0; j<10; j++)
 {
 
 }
то опять же цикл прервется при первой же итерации поскольку j=0 а это меньше 10
0
25 / 25 / 19
Регистрация: 13.07.2015
Сообщений: 433
05.10.2015, 12:24  [ТС]
Кароче, чтобы выйти из цикла при условии. Нужно в if поместить оператор брэк; И тогда будет выполнятся следующий оператор или цикл
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
05.10.2015, 12:47
Цитата Сообщение от Aqua77 Посмотреть сообщение
Кароче, чтобы выйти из цикла при условии. Нужно в if поместить оператор брэк; И тогда будет выполнятся следующий оператор или цикл
1) короче, надо к ЕГЭ по русскому готовиться кое-кому.
2) break это не оператор, а ключевое слово языка.
3) Тебе уже сказали - всё дело в фигурных скобках, но ты, даже получив ответ, продолжаешь игнорировать это замечание.
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
05.10.2015, 12:52
Aqua77, break не наш выбор наш выбор terminate? ye а если серьезно представляй так, ты просишь пк делать одно и тоже, но только до 12-00. Это две ветки в цикле, а потом как приходит 12-00 ты выходишь оператором break/
И касаемо фигурных скобок правильно тебе люди говорят что бы не запутаться ставь их всегда, я лично настроил свою среду что даже если я пишу условия в одну строчку она все равно подставляет их, на много проще разбираться в ошибках и потом читать код!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.10.2015, 12:52
Помогаю со студенческими работами здесь

Оператор break как оператор go to next
Подскажите, в этом примере break эквивалентна действию оператора go to next?

While{switch{switch{break;}}} break выходит из while
В общем необходимо конструкцию switch запускать в цикле, в каждом case X: стоит свой break;, да бы выполнился один case, а не все. Проблема...

оператор Break
Дано 20 чисел. Вывести на экран порядковые номера элементов и элементы удовлетворяющие условию 0&lt; xi&lt;1

оператор break
Здравствуйте! Я где-то слышал, что использовать оператор break для выхода из цикла - не хорошо. И что его можно использовать только если...

Оператор break
Почему цикл if не прокручивается?? Только индекс первого элемента находит и все for i:=1 to 10 do begin if(a=5) then ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru