Tip:
Highlight text to annotate it
X
[Powered by Google Translate] TOMMY MACWILLIAM: Да поговорим за електрически вериги, една от общите
програмиране изгражда, ще видим цялата CS50.
Ние ще използваме вериги, когато искаме да се извърши
задача повече от веднъж.
Например, ние може да искате да отпечатате "здрасти" 100 пъти или печат
от всички букви от азбуката.
В двата случая, ние имаме едно нещо, което искам да направя
няколко пъти, отпечатайте нещо.
Но това, което се печата, всеки път може да варира.
Така че можем да направим нещо по-различно за всеки един от тях
итерация, или преминават през на цикъла.
Ще видим три различни вида вериги в C, а
електрически вериги, за електрически вериги, и правя, докато вериги.
Въпреки че тези три вида вериги имат различен синтаксис,
идеите, които стоят зад тях, са едни и същи.
Ще се определят някои блок от код в рамките на фигурни скоби,
нарича тялото на цикъла, че искаме да бъде изпълнена
известен брой пъти.
Чрез промяна на стойностите на променливите, използвани в тялото, ние
може да направи нашата линия направим нещо различно всеки път, когато се изпълнява.
С всеки цикъл пишем, ние също така ще трябва да реши кога
линия ще спре да работи.
Ако не направите това, тогава нашия компютър надежден ще продължи
да тече този цикъл докато убием програмата.
Scratch, бихме могли да използваме повтаря N пъти
блокират, за да се създаде една линия.
Всички парчета вътре в блока, които се повтаря 10
ще се проведе 10 пъти.
И тогава, щяхме да се движат на парчета след тази линия.
Така ни спирка състояние е просто, този блок е
тече 10 пъти.
Така че нека да пресъздаде този C. За Scratch за да се гарантира
че се изпълняват парчета в рамките на повторение блок
точно 10 пъти, Scratch трябва да се следи на всеки
изпълнение на повторение блок.
За да следите колко пъти е нашата линия на тялото
екзекутирани, нека създадем променлива наречена аз.
Ще започна от нула, тъй като нашата линия
все още не се управлява.
Добре
Сега ние ще използваме тази дума, докато да започнем нашата линия.
Сега ще трябва да разбера, когато нашата цикълът ще спре, но
нека оставим това за сега и след това се върна към него.
Добре.
Вътре на нашата линия, нека просто да отпечатате съобщение, като
"Здрасти". Ние можем да използваме ФОРМАТ функция за това.
Добре.
Така че сега ние ще регистрираме, че повторение на цикъла орган
била изпълнена.
Ние можем да направим това чрез добавяне на 1, или увеличаване, нашият брояч
променлива.
За да направите това, ние може да се каже, че е равно да съм плюс 1 или повече
просто, аз плюс плюс.
Велики.
Така че сега можем да видим, че всеки път ни линия се управлява,
брояч променлива върви нагоре по един.
Така че ние знаем точно колко повторения сме свършили досега.
След едно повторение на цикъла, нашата ценностна
на ще бъде 1.
След две повторения, аз ще бъда 2.
И след 10 повторения, аз ще бъда 10.
Така че, ако искаме да тече този цикъл точно 10 пъти, след което
това е, когато искаме да спрем.
Така че ние искаме да стартирате тази линия, докато аз по-малко от 10 и
това е точно това, което ще напиша, докато аз
е по-малко от 10.
Това условие изглежда точно като условия, ако
иначе блокове.
След като тялото на нашата линия е била изпълнена, нашата програма
ще скочи обратно до състоянието вериги.
Ако условието е вярно, тогава тялото на
линия ще се кандидатира отново.
Ако условието вече не е вярно, тогава нашата линия няма да бъде
работи повече и ще се премине към следващия ред от кода
под нашата линия.
Добре.
Така че нека да погледнем от втория тип
контур, за контур.
До ключовата дума, докато в скоби, имахме едно нещо,
при условие, че трябваше да бъде вярно за
контур орган, който да се управлява.
Това означава, че ние трябваше да създадем брояч променлива извън
на цикъла и не забравяйте да увеличи го в някакъв момент
в рамките на цикъла.
Заглавието за нашата линия, от друга страна, има три
части, всяка от които ще бъдат разделени с точка и запетая.
В нашата първа третина, можем да заявим всякакви насрещни или помощник
променливите, които искате да използвате в нашата линия.
На практика това може да бъде много полезно.
Ние наистина не се нуждаят от тази променлива, аз след нашето време
контур е свършила, така че ние наистина не трябва да трябва да го декларират
извън цикъла.
Втората трета ще бъде условието, че трябва да е вярно
за тялото да се изпълнява отново, точно както
в линия, докато ни.
В последния трети, ние може да работи с изявление, което ще бъде
изпълнява след всяка итерация на цикъла, така че не е нужно
да го изгради в тялото на цикъла.
Така че нека да напишем за контур, който отброява 5-1.
Ще започнем с по ключови думи.
Ние можем да създадем насрещно променлива първият, който ще
настроен на 5 този път, тъй като ние сме броене,
последвано от точка и запетая.
След това е състояние, което ние ще се върнем към.
Трето, ние бихме искали да снижаване нашия брояч променливата след
всяка итерация на цикъла.
Така че вместо да кажа, че плюс плюс, ще кажа, че минус минус.
Добре.
Така че ние искаме тялото контур да тече, докато аз все още е
по-голям от 0.
В тялото на цикъла, нека да изведем стойността на АЗ.
За да направите това, ние ще използваме ФОРМАТ функция, използвайки% г
контейнера.
Помнете, че контейнера ще бъдат заменени с
стойност на АЗ.
И накрая, нека добавим изявление след нашата линия.
Когато стартирате тази линия, аз ще започне на 5,
така че 5 ще бъдат отпечатани.
След като аз се стигне до 0, продължаването състояние, аз
по-голяма от 0, вече няма задръжте.
Така че нашата линия ще спре изпълнение, и ще видим
изявление след приключването на цикъла.
Така че нека да изпълните този код.
Първо, ние ще съставят
countdown.c с обратно броене.
Сега, ние може да работи този код с / обратно броене.
Както по време на цикли и за примки, продължение
състояние ще бъдат проверявани преди тялото
на цикъла се изпълнява.
Това означава, че ако нашето състояние не е първоначално
вярно, тогава тялото на нашия линия никога не ще се работи.
Така че понякога е полезно да се провери състоянието след
тялото на цикъла, а не пред него.
Така че нека да напишем една линия, за да подтикне потребителя за редица
до положително число се доставя.
Ако потребителят входа отрицателно число, ще искам да ги попитам
за друг номер.
Така че ние ще искате този ред, за да бъде в рамките на
тялото на разстояние цикъла.
Въпреки това, когато примката се провежда за първи път, потребителят
не ни е дал номера си.
Така че няма смисъл да се провери дали това е положително.
Вместо това, ние ще искате да проверите броя, след като тялото на
цикъла се изпълнява.
Ние можем да направим това с правя, докато контур.
Първо, ние ще създадете променлива, N, който ще се проведе
вход на потребителя.
Сега ще използваме направи ключова дума, последвана от фигурни скоби, че
ще започне от тялото на нашата линия.
В организма, може да подтикне потребителя за редица с
GetInt функция.
Сега ще искам тялото на този цикъл, за да се изпълни отново, ако
въвели потребителя отрицателно число, така че ние ще кажем, докато н
е по-малко от 0.
Обърнете внимание на точка и запетая тук след време изявление.
Така че нека да изпълните този код.
Първо, ние ще съставят с положителен.
Сега можем да стартирате програмата. / Положителен.
Ако дадем тази програма е отрицателно число, като негатив
4, а след това ще бъдете подканени отново за брой, тъй като
състоянието на нашата Do линия, докато е вярно.
След като даде положително число, като 8, тогава
състоянието на нашата Do линия, докато вече няма да е вярно.
Така по веригата няма да бъде изпълнена отново.
И това е за трите вида вериги, които ще използваме в C.
Моето име е Томи, и това е CS50.