Софтуерно Инженерство
Loading...
AlexanderSD avatar AlexanderSD 0 Точки

За циклите

Здравейте извинявам се може въпроса ми да ви се строри глупав, но искам да попитам дали правилно съм разбрал това със циклите. Идеята ми е да си обясня всичко за да ми е ясно и разбираемо ,а не просто да го наизустявам това ми хрумна докато се упражнявах да правя това упражнение Числата от 1 до 20.

for (int i = 0; i < 20; i++)Console.WriteLine(i + 1);

i = 0 означава че минималната стойност е 0.

i < 20 означава че максималната стойност е 20, но ако след < сложа  и = тогава става от 1 до 21 което ме обърква тъй като съм задал максимума да е 20.

i++ това означава че се i се събира със i докато стигне до 20 поне така си мисля.

А за Console.WriteLine(i + 1); си мисля че задавам да се изписват числата като към всяко следващо се добавя 1, но като променя 1 на 2 става до 21 ако е 3 става 22 и.т.н

Бихте ли ми го обяснили малко по просто? Благодаря предварително.

Тагове:
0
C# OOP Basics
ThePSXHive avatar ThePSXHive 436 Точки

i++ означава увеличаване на текущата стойност на i с единица, а не с i. Освен това, вече увеличаваш i веднъж в частта с икрементирането (i++), а след това и при извеждане на стойността при i + 1. С i просто се обозначава стойността от която започва увеличаването. Ето какво се случва при изпълнението на горния код: 

Итерация 1: Стойността на i е 0, условието i < 20 е изпълнено (защото 0 < 20), и след това стойността на i + 1 бива изведена

0 + 1 -> 1

След като първата итерация приключи, стойността на i се увеличава с 1 (i++ се изпълнява след всяко изпълнение на тялото на цикъла), и сега стойността на i е

0 + 1 -> 1

Аналогично и с останалите итерации. Когато извеждаш i + 1, ти не променяш стойността на i; просто извеждаш текущата му стойност, увеличена с единица. Промяната на стойността на i се осъществява след извеждането, в инкрементацията. Относно объркването при условие i <= 20 - последната стойност, която ще бъде присвоена на i в този случай, е 20, и в тялото на цикъла се отпечатва

20 + 1 -> 21

защото в този случай, ограничението (условието на цикъла) включва и стойността 20.

0
AlexanderSD avatar AlexanderSD 0 Точки

Благодаря

0