С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
#1

for и while - C++

17.10.2012, 10:47. Просмотров 1639. Ответов 32
Метки нет (Все метки)

Объясните плз, когда следует использовать for, а когда while. Пока я не могу сообразить в каких случаях выгоднее использовать while. Ведь можно спокойно использовать вместо него for(;условие; )?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
17.10.2012, 13:20 #16
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну если уж об экономии, тогда ++i вместо i++ =)

Добавлено через 40 секунд

C++
1
2
while(n=n->next){
}
Объявления и присваивания n не хватает, не находишь?
0
Catstail
Модератор
22919 / 11285 / 1834
Регистрация: 12.02.2012
Сообщений: 18,500
17.10.2012, 13:21 #17
Ох... Ну почему ничтожные по сути вопросы вызывают такое бурное обсуждение?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
17.10.2012, 13:21 #18
Цитата Сообщение от Герц Посмотреть сообщение
Объявления и присваивания n не хватает, не находишь?
А в твоем примере даже функции main нет =)))
0
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.10.2012, 14:42 #19
Цитата Сообщение от Герц Посмотреть сообщение
Никаких выражений1-3 в описании синтаксиса (грамматики) этого цикла нет
почитайте Курниган, Ритчи "Язык программирования С" тему "циклы - while и for", где именно такой синтаксис приводится, да и поинтересуйтесь для начала что вкладывается в значение слова "выражение", ну а потом повторите свою фразу еще раз для пущей убедительности
0
Catstail
Модератор
22919 / 11285 / 1834
Регистрация: 12.02.2012
Сообщений: 18,500
17.10.2012, 14:51 #20
Цитата Сообщение от Thinker Посмотреть сообщение
Курниган
- понимаю, что описка...
1
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.10.2012, 14:54 #21
Цитата Сообщение от Catstail Посмотреть сообщение
- понимаю, что описка...

Не по теме:

да, это от возмущения. спасибо

0
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
17.10.2012, 15:01 #22
Цитата Сообщение от Thinker Посмотреть сообщение
почитайте Курниган, Ритчи "Язык программирования С" тему "циклы - while и for", где именно такой синтаксис приводится, да и поинтересуйтесь для начала что вкладывается в значение слова "выражение", ну а потом повторите свою фразу еще раз для пущей убедительности
Вырезка из стандарта C++:

Цитата Сообщение от Working Draft, Standard for Programming
Language C++, N3376, page 1170, Appendix A, item 5
iteration-statement:
while ( condition ) statement
0
Thinker
17.10.2012, 15:04
  #23

Не по теме:

ну да, кому то чтобы что-то увидеть знакомое надо формулировку тютелька в тютельку привести, логика же не нужна...критерии не знаем)))

0
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
17.10.2012, 15:05 #24
Ты выдал сообщение с заявлением о том, что именно так описывается синтаксис этих двух циклов.
Синтаксис (грамматика) описывается не так, как ты написал, извини. Я привел общий вариант, ты - частный.
0
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.10.2012, 15:30 #25
Цитата Сообщение от Герц Посмотреть сообщение
Я привел общий вариант, ты - частный.
я дал эквивалентную формулировку из книги Кернигана и можно было включить голову, чтобы понять, что это и есть общий случай

Добавлено через 4 минуты
выражение
(a = b) < c
разве не условие?
а выражение
a < b
и т.д.
Короче, вместо спора лучше сначала головой думаем, а то скучно...


Не по теме:

ладно. я погорячился, не обижайтесь) и все из-за банальной ерунды. просто в слово "выражение" вкладывается нечто большее (например a=b=c; c<(a=b); a<b; i++; ++i < j; и т.д.), вот и все

0
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
17.10.2012, 15:41 #26
Цитата Сообщение от Catstail Посмотреть сообщение
Ох... Ну почему ничтожные по сути вопросы вызывают такое бурное обсуждение?
А на них отвечать легче

Цитата Сообщение от Fooly Посмотреть сообщение
Объясните плз, когда следует использовать for, а когда while.
Принципиальной разницы нет. Что удобнее в отдельно взятом случае, то и используйте (ну или что красивше).
1
silent_1991
17.10.2012, 18:57
  #27

Не по теме:

Герц, ведь Thinker привёл форму цикла while, которая по поведению эквивалентна циклу for. Не думаю, что его целью было дать грамматику цикла while в отрыве от контекста. И, собственно, к чему наезд, не понимаю.

1
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.10.2012, 19:10 #28
Цитата Сообщение от silent_1991 Посмотреть сообщение

Не по теме:

Не думаю, что его целью было дать грамматику цикла while в отрыве от контекста.

Не по теме:

спасибо, что хоть Вы поняли. естественно это не грамматика, а эквивалентная форма для обоих циклов, так как вопрос был именно в их сравнении. да я и сам хорош, наверное, изначально некорректно выразился

0
Catstail
Модератор
22919 / 11285 / 1834
Регистрация: 12.02.2012
Сообщений: 18,500
17.10.2012, 20:08 #29
Кроме for и while есть еще break
0
silent_1991
17.10.2012, 20:09     for и while
  #30

Не по теме:

Catstail, вы точно не ошиблись?

1
17.10.2012, 20:09
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.