![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Uchenik1989 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.2.2012 Репутация: нет Всего: нет |
доброго времени суток ... я начал С++ и некоторые вещи не могу понять вообще ... а именно циклы ... разобрал функции перескочивши циклы но пришлось вернуться ... не могу понять как работает :
Очень простая программа которая демонстрирует цикл ... где на консоль выводяться числа от 1 до n ... тоесть пользователь ввёл 100 и программа циклически начала выводить 1 2 3 4 5 6 и до 100 ... Но мне не понятно : cout<<i<<endl; i++; сиаут выводит переменную i и как программа понимает что к ней надо добавить одиницу если на консоль уже должно вывести эту одиницу ... а программа с начала выводит полный цикл от и до ... но я же сказал ---cout<<i<<endl-- что выведи одиницу а потом добавь ещё одиницу а как оно понимает .... короче я уже сам запутался что хотел сказать ... но смысл в том что как всё это понимает компилятор ? тоесть он смотрит что это цикл где i не должен быть больше n дальше он видит сиаут ... выводит одиницу а потом плюсует ... не могу понять как выполняеться цикл ... тоесть как система понимает что надо добавлять одиницу ... А если я скажу что надо добавлять двойку ? оно будет работать ? P.S. Читаю Шилдта но эти моменты мне вообще не понятны .... Помогите пожайлуста кто как может обьяснить ... Модератор: не забываем пользоваться кнопочкой "Код" Это сообщение отредактировал(а) bsa - 3.2.2012, 10:32 |
|||
|
||||
feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Гм. Понять из этого "сумбура вместо музыки", что именно Вам не понятно, не возможно
![]() Там у Вас написан такой маленький оператор:
благодаря которому как раз и прибавляется единица к i. Полагаю, что Вы пропустили не только циклы))) Если скажете так:
или так:
то, да, работать будет))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Uchenik1989, для начала, научись уважать себя и других программистов - форматируй код. Пока он простой, еще можно разобраться, но когда станет сложней - повесишься.
Итак, cout - это такой объект, у которого переопределен оператор << (аналогично cin, но для него переопределен оператор >>). Когда ты пишешь: cout << "что-то", то компилятор это воспринимает как: operator<<(cout, "что-то"). Этот оператор - типичная функция, которая возвращает свой первый параметр. В итоге запись: cout << "что-то" << "еще что-то" будет для него выглядеть так: operator<<(operator<<(cout, "что-то"), "еще что-то"). Как нетрудно догадаться, cout - это поток вывода на консоль. Ты в него отправляешь данные, а на консоли они появляются. Дальше, while. Это цикл, его тело выполняется пока выражение в скобках истинно (не равно нулю). i++ - это постфиксное увеличение i на 1. Лучше использовать префиксное: ++i. В общем случае оно быстрее. Подробнее тут. |
|||
|
||||
Uchenik1989 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.2.2012 Репутация: нет Всего: нет |
Огромное спасибо за пояснения !!!!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |