Full transcript
0:00приветствую вас друзья меня зовут сергей
0:01мы с вами продолжаем изучать
0:03программирование на примере языка си
0:05плюс плюс
0:05в прошлом уроке мы с вами изучили цикл
0:08for
0:09и сегодня мы поговорим о некоторых его
0:11особенностях и особенностях его
0:13применения и работы особенности цикла
0:15for обуславливается его синтаксиса а
0:18именно тем что он находится вот этих от
0:20круглых скобочках прежде всего они
0:23касаются управляющей переменной это в
0:26данном случае переменная а и которая
0:28является итератором нашего цикла
0:30также условия срабатывания цикла которое
0:34проверяет будет выполняться цикл или нет
0:36вообще стандартном варианте управляющей
0:38переменной сепараторы инициализируется
0:41прямо круглых скобочках но она также
0:44может инициализироваться и вне цикла
0:46например вот таким вот образом таким
0:50образом здесь нам уже не нужно ее
0:53объявлять сейчас данном случае наша
0:55переменная
0:56ой объявляется вне цикла но
0:58инициализируется все еще в цикле но мы
1:01можем также и инициализировать
1:04нашу переменную а и наш оператор и дни
1:07цикла он будет как бы снаружи работает
1:12это все по-прежнему также как и работал
1:14из этого выходит что первая часть нашего
1:16цикла вообще не обязательно то есть мы
1:20можем пропустить
1:21первую часть после которой нет ; но ;
1:24стоять здесь все равно должно
1:26как это можно использовать а
1:28использовать это можно например вот так
1:30если у нас есть второй цикл for которому
1:34например нужны результаты работы
1:36итератора первого нашего цикла for таким
1:40образом нам нужно поместить
1:41итератор где-нибудь вне первого цикла
1:44потому что если мы сделаем к примеру вот
1:47так
1:47вернем его на место то наш второй цикл
1:52for скажет что он не видит такой
1:54переменной то есть я нету для этого
1:57цикла это перемена не существует он ей
2:00не видит потому что она находится только
2:01в этом цикле
2:02этот вопрос относится к области
2:05видимости и мы к нему еще вернемся
2:07так что если хотите в этом более
2:09подробно разобраться то не забудьте
2:10подписаться на канал покажи просто
2:13возьмите на заметку что переменная
2:15ой которая объявлена вот здесь цикле
2:18видно только этому циклу большею никто
2:21использовать не может но если мы ее
2:23отсюда уберем и объявим где-нибудь
2:25снаружи то этот цикл тоже сможет нее
2:28пользоваться таким образом
2:30образом смотрите как отработает а наша
2:33программа сначала выполнится первый цикл
2:36давайте сделаем чтобы нам было более
2:39понятно как все происходит таким образом
2:42перед выполнением первого цикла нам
2:47увидеться сообщение что у нас
2:51выполняется этот самый первый цикл
2:53а перед выполнением 2 цикла на увидеться
2:58сообщения что выполняется второй цикл
3:00давайте запустим посмотрим что у нас
3:02получится и так мой доходим до 13
3:06строчки нашей программы у нас
3:07выполняется первый цикл который
3:09использует нашу переменную ой которая
3:11объявлена где-то
3:12заранее вне цикла он использует в
3:16доходит генератором до 9 и дальше
3:18условие нашего первого цикла не
3:20выполняется
3:21поэтому программа идет дальше этого цикл
3:25доходит до 19 строчки и начинают
3:28выполнение 2 2 нашего цикла черном
3:31собственность сообщать вот этим
3:32сообщением но второй наш цикл
3:35используя ту же самую переменную ой
3:36которая объявлена вне цикла
3:39но она сейчас уже равна 10 после того
3:43как вот здесь последний раз отработал
3:44инкремент и здесь это условие вернуло
3:47fox
3:48но наш второй цикл может работать с
3:50переменной а и до тех пор пока оно будет
3:52равно меньше 20 поэтому он отрабатывает
3:56еще десять раз аж до тех пор пока это
3:58условие не перестает выполнится убили мы
4:01вот кусочек кода
4:02он нам пока не нужен перейдем к
4:04следующая особенность от цикла for
4:05это касается нашего оператора нашего
4:08счетчика опять же ну а теперь той его
4:10части тела управляющий перемены наши
4:13таратар
4:15изменяется то есть там где происходит
4:17как
4:17мент вот этот вот код можно вынести сюда
4:20вниз то есть получается
4:24; забыл получается вот здесь эта часть
4:31кода тоже не обязательно здесь для
4:34писания мы можем вынести куда нибудь
4:36другое место и в принципе сейчас наш
4:39цикл for стало немного похоже на цикл
4:42while еду во правде инкремент точнее
4:45изменения наши управляющей переменной
4:47который отвечает за выход из тела цикла
4:51из-за количества его срабатываний
4:54находится в теле цикла такая запись все
4:57равно равноценно таешь которая была в
5:02таком случае
5:07но к примеру мы сейчас уже может
5:09посмотреть что наш цикл может работать
5:11немножечко по-другому допустим если мы
5:14сделаем вот так если мы сделаем
5:16инкремент нашей переменной ой после себя
5:19лута где мы его вводим то нам на кону
5:23увидите немного другой результат если мы
5:25сделаем вот так и разница в том что
5:27здесь мы сначала
5:29изменяем переменную ой а потом выводим а
5:32вот так сначала выводим а потом изменяем
5:35появился здесь еще может быть какая-то
5:37логика в виде какого-то лифа здесь может
5:40быть какое-то условие и при его
5:43выполнении допустим наши наша переменная
5:46управляющего увеличивается при
5:48невыполнении нет и цикл может работать
5:50немножечко по-другому вот зачем это
5:52нужно
5:53давайте вернёмся на свои места теперь
5:55что касается условия проверки выполнения
5:57цикла его тоже нужно убрать без этого
6:00цикла будет работать она тоже не
6:02обязательно но сейчас данном случае у
6:05нас получается нету проверки условия
6:09выхода из цикла и данном случае у нас
6:12будет вечный цикл давайте запустим и
6:15посмотрим что у нас получится у смотрите
6:18наша программа он будет работать
6:20работать работать работать
6:22аж до переполнения переменной а и что
6:25такое перепугу не я вам расскажу немного
6:27позже следующих уроках и нам
6:30каким-нибудь образом все-таки нужно
6:32предусмотреть а выход из этого цикла это
6:35можно сделать не только с помощью
6:37это условия но и другими способами если
6:40вы хотите знать если вы хотите знать как
6:42это сделать то не пропустите следующий
6:44урок так что подписывайтесь на канал
6:46следующем уроке об этом обязательно вам
6:48расскажу
6:49исходя из того что мы сейчас узнали
6:52получается цикле for все его части на
6:57самом деле не обязательно и
7:00мы можем это проверить вот таким вот
7:03образом
7:16сейчас у нас будет бесконечный цикл
7:19который будет нам писать что он сработал
7:23у нас не предусмотрено ни какое условие
7:28выхода из этого цикла
7:30поэтому пока мы как-нибудь не завершим
7:32эту программу зато нет она будет
7:35надоедать нам своим сообщением следует
7:38отметить что хотя условия внутри цикла
7:41необязательные но двоеточие все равно
7:44должны присутствовать мы все равно
7:49должны их обозначать даже если мы
7:51поставим одну двоеточие то все равно
7:53будет ошибка при компиляции 2 : должны
7:57стоять и какое-то из этих условий помимо
7:59этого есть еще некоторые особенности в
8:02работе цикла for
8:05мы можем сюда добавить два часа вернемся
8:10как было мы можем сюда добавить например
8:13доверие перемен мы можем
8:15инициализировать прямо в цикле
8:17переменную допустим разъем на j
8:19она нас тоже будет нет она у вас будет
8:2210 и переменной джей у нас будет не
8:26увеличиваться и уменьшаться
8:34вот здесь еще запятую добавим давайте
8:38теперь мы видим наши переменные в нашем
8:42цикле на экран
8:45это у нас будет переменную ой
8:48и
8:58переменная j
9:01теперь получается в одном и том же цикле
9:05у нас есть две переменные одна из них
9:07равна нулю а другая 10 1 увеличивается а
9:11другая уменьшается и все это будет
9:14происходить столько раз пока выполняется
9:16вот это условие давайте посмотрим что у
9:19нас получилось и так
9:22переменной а и 0 j10 1928 в принципе я
9:28думаю вы сами видите как это работает с
9:30получается одна переменная у нас
9:32увеличивалась 10 раз другая переменная
9:34уменьшалась 10 раз сюда например можно
9:37поставить еще какой-то более сложные
9:39условием например
9:41и перемены джей
9:44не равно 5 когда переменная j будет
9:50равно 5 то этот цикл один раз то этот
9:55цикл перестанет выполнять вот как только
9:59переменной j достигла 5 цикл перестал
10:03выполнять цикл for довольно гибкая штука
10:06но то же время может быть немного сложно
10:08для новичков
10:09ничего страшного со временем вы
10:12разберетесь и вам будет довольно легко и
10:14просто в нем ориентироваться на этом мы
10:16пока закончим говорить про особенности
10:18цикл for
10:19если вам была полезна интересно это
10:22видео то не забудьте поставить под ним
10:23лайк и подпишитесь на канал если не
10:26хотите пропустить следующие видео всем
10:29спасибо за внимание пока