ПредишенСледващото

Урок C / C ++ 10. избор Структура

1. Да започнем с концепцията на уреда. ще трябва да го много пъти. Блок - списък на оператори затворени в големи скоби:



Защо е необходимо? Блокът може да се разглежда като един няколко оператори. Това е само една малка отклонение, което ни липсваше в предишните уроци В допълнение, можете да дефинирате променлива единица, която ще бъде унищожена автоматично при излизане от блока, но така наречените зони на видимост и живот на променливите ще се занимават по-късно.

2. Ако. А сега преминете направо да изберете дизайн (или клонове). Позволете си да (прости ми, тези, които четат и двете от моите курсове) глухо повтори тази част от текста на урока в подобна тема VB курс

Същността на генерала, а след това просто. на български език в ежедневието, ние го използваме през цялото време. Това е нашата много често, ако. Когато позвъни, да отидем да се отвори. В този случай, на вратата се позвъни - това е състояние на тест (не забравяйте още един урок за логическите оператори?) И отиде otkryvat- изявление, че ще бъде правилно извършено в това състояние .. Това е един много прост пример за разклоняване. Какво клон тук? Един екшън от оператор същия клон вън? Фактът, че клонът е както следва: или аз ще отворя --- или аз не правя нищо.

Тъй като този вариант ще бъде записано?

ако (булева експресия)

оператор;

В нашия случай:

ако (покана към вратата = = вярно)

Хайде открият;

Нека да разгледаме 2 опции за запис:

ако (състояние)
statement1;


Както можем да видим, във втория случай, операторите трябва да се извършват, като един от снимачната площадка на блок скоби (както споменахме в началото на урока). По този начин, ние получаваме много съществена разлика в изпълнението на тези две опции.

В първия случай, при условие важи оператор1, докато операторът 2 държи във всеки случай, дори ако условието е невярно. Pomnite-, че ние го бутна да се оттеглят до нивото на втория оператор е сигнал, само за нас, но не и за компилатора. Той смята, че първото твърдение е част от блок, ако, но когато; който показва края на първия оператор, и завършва с цялото ако блок. И изпълнява statement2, които нямат нищо общо, ако не. Така че, това се изпълнява независимо от състоянието се тества.

Във втория случай, когато условието е вярно, както на оператора. Защо? И тъй като те са обединени блокови скоби и изпълнен като едно цяло. Фалшиво-, ако условието не е изпълнено нито statement1 или statement2. Тук имате две малки скоби!

3. Ако. друго. Усложни задачата.

Вариант, когато, когато условието е лъжа, също трябва да се има предвид някои изявления като това: ако трябва да работят днес - условието е вярно - аз ставам в 7 часа, и се измива, да се облече, perekushu и отивам на работа. Ако това не е необходимо условие е невярно (т.е., така или иначе) - Аз ще спя до 10 часа, и отивам на разходка.

Как ще изглежда така:

ако (тест състояние)
оператор1 (или блок от изявления, както видяхме)

още
statement2 (или блок на отчети)

ако (работа)
ставам в 7 часа;

отидете на работа;
>
още
10h преди да заспи;

// не забравяйте да посочите колко, но как си тръгне. (
>

ако изпълнението изявление започва с оценката на израза.

На следващо място, изпълнението се извършва в съответствие със следната схема:
  • ако експресията е вярно (т.е., различни от 0), тогава операторът 1.
  • ако експресията е невярно (т.е., = 0), тогава операторът 2.
  • ако изразът не е верен и няма оператор-2. То се извършва след ако изявлението.


4. Вложени структури. ако отчети могат да бъдат вложени една в друга. Вложени ако изявление може да бъде вътре в случай или пък вътре в структурата на друг оператор, ако. За да се направи програмата по-разбираеми, се препоръчва да се групови оператори и строителство в вложени ако отчети с помощта на скоби. Ако скобите се пропускат, сътрудници на компилатора всяка ключова дума друг с най-близките, ако, за които няма друго.


В резултат на тази програма ще бъде равен на R 2.

Ако програмата за освобождаване от фигурните скоби, които следват от оператора, ако, програмата ще бъде, както следва:

INT главната ()
Int т = 2, б = 7, R = 3;


В този случай, г означава 3, тъй като ключовата дума останало се отнася до втория оператор, ако това не се изпълнява, тъй като условие не е изпълнено, се проверява в първия оператор, ако.

Следният фрагмент илюстрира вложени ако:

ако (ZNAC == "-") X = Y - Z;

иначе, ако (ZNAC == '+') X = Y + Z;

иначе, ако (ZNAC == "*") X = Y * Z;

иначе, ако (ZNAC == "/") X = Y / Z;


От разглеждането на този пример, можем да заключим, че дизайнът използва вложени, ако са по-скоро тромав и не винаги надежден достатъчно. Друг начин да се организира изборът на много различни варианти е да се използва специален превключвател избор на оператор, която се е запознал в следващия урок.

(Имайте предвид, от Алфа:
Дизайнът на формата


е доста типично за да изпробвате различни, (може да се каже, един от идиомите на C ++), за по-лесно четене е форматиран, без отстъп, а в действителност не се разглежда като инвестиция (макар че такава е официално). Освен това, не е ясно откъде заключи, неловкост и несигурност този дизайн. Например, аз го използва в своята статия на рекурсия в раздела за определяне на модела на съвпадение низ.)

  • Въведете две числа. По-малко от тях трябва да смените размера, вписан номера, bolshee- разлика. Резултатите са показани на екрана.
  • Въведете номера. На екрана се показва съобщение, указващо дали броят е положително, отрицателно или нула.
  • Цел: 4 премахва метеорологична измерване на скоростта на вятъра на ден. Трябва да въведете
Тези четири числа в една програма за изчисляване на среднодневната скорост на вятъра и да го показват. ВИНАГИ: генериране на числа чрез вход, който не е бил взет с невалидна стойност (отрицателна). Ако не се показва резултата (средна скорост), както и да покаже съобщение вход Грешни данни!

Свързани статии

Подкрепете проекта - споделете линка, благодаря!