loops c control statements
Цикли в C # Позволете на програмата да изпълнява блок от кодове няколко пъти. Този урок обяснява различни цикли като цикли While, For Loops и т.н. с примери:
В предишния ни урок научихме за различни Оператори на C # отколкото може да се използва заедно с изявленията за вземане на решения, за да се следва необходимия поток на изпълнение.
В този урок ще обсъдим операторите C # Loop, които позволяват на програмата да изпълнява итеративна логика.
=> Проверете за нашето крайно ръководство за обучение на C # тук
Какво ще научите:
Цикли в C #: Пълен преглед
Всички изрази, написани в C #, се изпълняват последователно, но може да има сценарий, при който програмата трябва да изпълни определен кодов фрагмент няколко пъти, за да се справи с този вид ситуация, C # предлага контролни изрази, които могат да се използват за обработка на сложни потоци на изпълнение .
Цикъл позволява на програмата да стартира блок от код няколко пъти, като следва общ израз в C #. C # предлага различни видове цикли за обработка на различни изисквания за изпълнение на програмирането.
Изявление за контрол
Преди да започнем да работим по цикли, трябва да знаем какво е контролен оператор. Контролен оператор позволява на цикъла да промени своя курс от нормалната си последователност. Езикът за програмиране C # предлага следните основни инструкции за управление на контура.
Продължете изявлението
Изявлението за продължаване в C # се използва по следните причини:
- За да изпълните следващата итерация на цикъла, докато пропускате всеки код между тях.
Синтаксисът на оператора continue е „ продължи;'
Изявление за прекъсване
Оператор Break в C # се използва по следните причини:
структура на данните за опашката c ++
- Използва се за прекратяване на цикъл, така че програмата да може да продължи със следващия оператор на цикъл. В вложени цикли може да се използва за спиране на изпълнението на вътрешния цикъл, като по този начин предоставя контрола на програмата към следващия оператор след текущия код.
- Може да се използва за прекратяване на изявление в Кейс за превключване.
Синтаксисът на оператора break е „ почивка; '
Докато Loop
Цикълът while проверява условие и след това изпълнява кодовия блок, стига условието, дефинирано в while, да е вярно.
Синтаксис
While(Boolean Condition) { //code block// }
Важни указатели:
- Булевият израз е валидиран преди изпълнението на кода.
- Ако булевият израз се потвърди като true, само тогава кодът се изпълнява.
- След като кодовият блок бъде изпълнен, контролата ще се върне към булев оператор за оценка.
- Цикълът ще продължи да се изпълнява, докато булевият израз оценява true.
- Ако булевият израз се изчисли на false, тогава кодовият блок се пропуска и следващият ред на кода извън цикъла while се изпълнява.
- Винаги се уверете, че актуализирате използваната променлива с булев израз, така че да разпознава края на цикъла при очакваната итерация.
- Ако променливата, свързана с цикъла while, не се актуализира или винаги връща истинска стойност, тогава тя ще се превърне в безкраен цикъл.
Пример за обикновен цикъл:
int a = 0; while (a <5) { Console.WriteLine(“The value of a is :”+a); a++; } Console.WriteLine(“The while block has been executed”);
Обяснение на кода
В горната програма сме предоставили булевия израз като (a<5) for “while”. It means that the loop will continue to execute the code snippet as long as the value of “a” is less than 5.
В кодовия блок отпечатваме стойността на „a“ и след това сме добавили оператора за увеличаване. Както обсъждахме по-рано в нашия предишен урок операторът за увеличаване се използва за увеличаване на стойността на цялото число с 1. Следователно, след като стойността на „a“ бъде отпечатана в конзолата, контролата ще премине през оператора за увеличение, което ще увеличи размера от 1.
Сега контролата ще се премести, за да оцени булевия израз. За текущия пример, тъй като вече дефинирахме началната стойност на a като „0“, той ще се увеличи с „1“. И така, булевият израз ще стане (1<5) which will evaluate to “true” and the code block inside the loop will get executed.
След като стойността на „a“ достигне 5, изпълнението ще спре, тъй като булевият израз ще се чете като false. След като булевият израз върне false, контролата ще съществува цикъл и ще изпълни следващия ред код извън блока while.
Ако програмата се изпълни, изходът ще бъде както е показано по-долу:
Изход
Стойността на a е: 0
Стойността на a е: 1
Стойността на a е: 2
Стойността на a е: 3
Стойността на a е: 4
Блокът while е изпълнен
Направете докато цикъла
Цикълът while е подобен на цикъл while с една разлика, условието се оценява в края на цикъла, вместо в началото, както го обсъдихме в случай на цикъл while. Това дава уникална характеристика на този цикъл, т.е. ще изпълни оператора вътре в границата на цикъла поне веднъж.
Докато от друга страна, други цикли оценяват булевия израз в началото, което означава, че ако изразът е false, цикълът няма да се изпълни.
Синтаксис
do { //code block for execution// } while( Boolean expression );
Важни указатели:
typecast char към низ c ++
- “Do while” работи подобно на цикъл while. Ключовата дума Do се поставя в началото на кодовия блок, а while се поставя след кодовия блок.
- Булевият израз се изчислява в края на цикъла вместо в началото. Ако условието се върне като вярно, тогава цикълът продължава. Ако изразът върне false, тогава цикълът завършва там сам.
- “Do while” изпълнява кодовия блок вътре в границите на цикъла поне веднъж.
Пример за обикновен цикъл на изпълнение:
int nmbr = 5; /* do loop starts*/ do { Console.WriteLine('value of nmbr is '+ nmbr); nmbr++; } while (nmbr <10); Console.ReadLine();
Обяснение на кода
В горния код декларирахме цяло число „nmbr“ със стойност 5. След това стартирахме цикъла, като поставихме ключовата дума „Do“. След Do и вътре в къдравите скоби сме дефинирали кода, който искаме да изпълним. Тук просто отпечатваме стойността на цяло число nmbr за конзола. Можете да напишете свой собствен сложен код в скобите.
Както виждаме, след като отпечатаме стойността на nmbr, ние я увеличаваме. След като кодовият блок бъде обработен, контролата се премества в “while”, където се изчислява булевия израз. Тук, докато nmbr има стойност по-малка от 10, той ще продължи да повтаря цикъла.
Така че, ако изпълним този кодов фрагмент, може да се наблюдава следният изход:
Изход
стойността на nmbr е 5
стойността на nmbr е 6
стойността на nmbr е 7
стойността на nmbr е 8
стойността на nmbr е 9
След като стойността на nmbr е достигнала 10 (чрез увеличаване с всяка итерация). Тогава условието while ще върне фалшива стойност, тъй като не е по-малко от 10. Това ще накара контролата да излезе от цикъла „Do while“ и контролата ще премине към следващия ред на кода.
За Loop
For цикъл в C # следва синтаксис, съвсем различен от цикъла “while”. Условието на цикъла “for” съдържа инициализация и модификация на условието вътре в самия синтаксис. Цикълът „за“ е доста полезен, ако знаете точния брой итерации, които трябва да изпълните за цикъла.
Дефиницията вътре в скобата на цикъла съдържа три части, разделени една от друга с точка и запетая. Първата част е инициализацията, след това имаме булев израз, последван от списъка с итерации.
Синтаксис
for(initializer; boolean expression; iteration list) { //code block for execution// }
Първата част на израза е блокът за инициализация. Този израз се използва за инициализиране на целочислената променлива. Това ще осигури стойността в началото на цикъла.
Втората част е булев израз, който се използва за оценка на истинското или фалшивото условие за продължаване на цикъла, точно както при цикъл while.
Третият израз е итерационната част. Тук можем да използваме операторите за увеличение или операторите за намаляване за увеличаване или намаляване на стойността на инициализираната променлива според изискванията за изпълнение.
Важни указатели:
- За цикли в C # позволявайте на програмистите да дефинират точния брой итерации, които трябва да бъдат изпълнени.
- Цикълът For също съдържа изрази за инициализация и итерация заедно с булевия израз, за да осигури условие за цикъла.
- Цикълът For се използва, когато ясно знаем броя на итерациите, изисквани от цикъла.
- Инициализирането на променливата се извършва в началото на цикъла.
- След инициализация контролата се предава във втория раздел за валидиране на булевия израз. Булевият израз може да бъде толкова сложен, колкото искате, но резултатът винаги трябва да връща true или false като стойност.
- След като булевият израз оцени като истина, кодовият блок в къдравите скоби се изпълнява и контролата отново се премества в горната част на цикъла и се изпълнява операторът за увеличаване или намаляване.
- След изпълнението на итерационния списък контролата отново се придвижва до логическия израз за оценка и цикълът се итерира, ако връща „true“ или се изпълнява следващият кодов ред извън цикъла, ако връща false.
Пример за обикновен цикъл:
/* for loop starts*/ for(int i=0; i<5; i++) { Console.WriteLine('value of i is '+ i); }
Обяснение на кода
В горния код инициализирахме цяло число i като 0. След това предоставихме булевия израз, за да оценим дали i е по-малко от 0 и оператор на инкремент.
Инициализацията се случва в началото на цикъла, след което се оценява булевото условие, последвано от изпълнението на кодов блок в къдравите скоби. След това контролата отново се предава на оператора за увеличение в горната част, който увеличава стойността на i с 1 по време на всяка итерация.
Нека да разгледаме резултата за повече яснота.
Изход
стойността на i е 0
стойността на i е 1
стойността на i е 2
стойността на i е 3
стойността на i е 4
За всеки цикъл
A За всеки цикъл се използва, когато дадена програма трябва да извърши итерация през съдържанието на списък. Може да се използва за колекции като списъци с масиви или масиви.
Синтаксис
foreach(item_type iterative_variable in list_type) { //code block for execution// }
„Item_type“ в синтаксиса е видът на елемента, съдържащ се в списъка. Например, ако използваме масив от цяло число, тогава типът ще бъде integer или int.
„Iterative_variable“ е избрано от вас име на променлива, а „in“ е ключова дума, която се използва.
„List_type“ е типът на списъка, който използвате. Например, ако използваме целочислен масив, тогава списъкът_тип ще бъде име на масив int.
Важни указатели:
- За всеки цикъл изпълнява кодовия блок срещу всеки елемент, присъстващ в посочената колекция.
- Всеки цикъл е само за четене, следователно не ви позволява да променяте итерационната променлива по време на изпълнение.
- За всяка итерация с помощта на този цикъл се извлича нова стойност от списъка. След това стойността се поставя вътре в променливата само за четене.
- След като всички елементи от списъка са изчерпани по време на итерация, контролата ще премине към следващия ред код.
Пример за просто за всеки цикъл:
/* specifies list*/ int() list = {1,2,3,4,5}; /* foreach loop starts*/ foreach (int nmbr in list) { Console.WriteLine('Numbers present in list are '+ nmbr); }
Обяснение на кода
Отначало дефинирахме масив „списък“ на първия ред. След това използвахме a за всеки цикъл, за да повторим и отпечатаме всички стойности на масива.
Вътре в инструкцията за цикъл сме декларирали променлива от цял тип „nmbr“, последвана от ключовата дума „in“, която след това е последвана от същото от масива. И така, тук искаме да кажем, че търсим цяло число „nmbr“ в „списък“.
След това изявлението е прост кодов блок за отпечатване на всички стойности. Отпечатваме променлива “nmbr” и както беше обсъдено по-рано, тя е променлива само за четене и съхранява нова стойност с всяка итерация.
Нека да разгледаме резултата за по-добро разбиране.
Изход
Номерата в списъка са 1
Номерата в списъка са 2
Номерата в списъка са 3
Номерата в списъка са 4
Номерата в списъка са 5
Безкраен цикъл
Цикълът може да продължи безкрайно време, ако условието, определящо цикъла, никога не връща фалшива стойност. Обикновено цикълът for или while може да се използва за извършване на операция с безкраен цикъл.
Безкраен цикъл, използван за цикъл
Можем да използваме „for loop“ за извършване на операция с безкраен цикъл, тъй като нито едно от трите израза не е задължително. Следователно, ако оставим всички изявления празни, тогава това ще създаде безкраен цикъл.
/* for loop starts*/ for (; ;) { Console.WriteLine('infinite loop”); }
Този цикъл ще продължи да отпечатва „безкраен цикъл“ в конзолата за безкрайно време.
Безкраен цикъл, използващ докато цикъл
Цикълът „while“ може да се използва и за извършване на операция с безкраен цикъл. Можем да направим това, като предоставим условие, което никога не може да бъде фалшиво.
Например x> 0 и увеличаване на x всеки път, започвайки от 1.
c ++ структура на данните за стека
/* while loop starts*/ int x = 1; while(x>0) { Console.WriteLine('infinite loop”); x++; }
Това ще продължи да отпечатва „безкраен цикъл“ на конзолата, тъй като стойността на x винаги ще остане по-голяма от 1. Следователно условието while винаги ще връща „истинска“ стойност, а кодовият блок вътре ще продължи да се изпълнява.
Заключение
Цикълът ви позволява да повтаряте блок код отново и отново. Езикът за програмиране C # предлага различни изрази за използване на цикъл като „за“, „докато“, „направи докато“ и „за всеки“.
Цикълът while изпълнява блок код, стига изразът вътре в блока while да е истина. Цикълът Do while позволява на потребителя да изпълни блок от код поне веднъж и след това ще продължи да се повтаря, докато изразът вътре, докато връща false.
Цикълът For се използва, когато вече знаем колко пъти трябва да повторим кода. За всеки цикъл се използва за изпълнение на всеки елемент в списък / колекция с помощта на даден блок код.
Обикновено цикълът се изпълнява, докато контролният израз не върне true, но изразът continue или break може да се използва за промяна на неговия поток на изпълнение.
Също така е възможно да се създадат безкрайни цикли, като се използват оператори for или while, за да се изпълни блок от код безкраен брой пъти. Тези кодови блокове ще продължат да се изпълняват, тъй като изразът, дефиниращ цикъла, винаги ще връща true.
=> Потърсете тук лесното ръководство за обучение на C #
Препоръчително четене
- Python Loops - За, докато, вложени цикли с примери
- VBScript Loops: За Loop, Do Loop и While Loop
- Изявления за контрол на Python (Python Continue, Break and Pass)
- Циклични конструкции в C ++ с примери
- Типове на цикъла на Unix Shell: Правете докато цикъл, За цикъл, До цикъл в Unix
- Добавяне на условни и циклични изявления в изглед на ключови думи - Урок за QTP # 4
- Урок за скриптове на Unix Shell с примери
- Създаване на макети и шпиони в Mockito с примери за кодове