• Инструкция за присвояване, празна иструкция, блок Програмата представлява последователност от инструкции, реализиращи алгоритъма на решаване на задачата. Инструкциите са предписания за извършване на определени действия. Всяка инструкция завършва с точка и запетая /;/. Празна е инструкцията, при която не се извършва нищо. Такава инструкция се отбелязва само с точка и запетая /;/. Всяка последователност от инструкции, заградена в големите скоби { и } представлява блок: // блок { инструкция1; инструкция2; ... } След блока не се записва ; /точка и запетая/. Блокът има смисъл на една съставна инструкция. Инструкцията за присвояване се записва като действие присвояване, следвано от знака ; /точка и запетая/: променлива = операнд ; Действието присвояване беше разгледано подробно в т.6. • Инструкция if-else Предназначение: Служи за избор и изпълнение на един от два взаимно изключващи се варианта. Синтаксис: if (израз) инструкция1; else инструкция2; if и else са ключови думи. Инструкциите 1 и 2 могат да бъдат произволни инструкции от езика, но само по една инструкция. При необходимост, всяка от двете инструкциите може да бъде оформена като блок: if (израз) { // блок1 } else { // блок2 } Изразът задължително се загражда в кръгли скоби. Трябва да се отбележи, че при всички инструкции в езика С/С++, изпълнението на които зависи от стойността на израз, изразът се загражда в кръгли скоби. Изпълнение: Изчислява се изразът. Ако стойността на израза е различна от нула се изпълнява инструкция1 /или блок1/, ако стойността на израза е равна на 0, се изпълнява инструкция2 /или блок2/. Кратка форма на инструкцията: if ( израз ) инструкция1; if ( израз ) { //блок1 } При нея липсва частта else. Изпълнението е аналогично. Ако изразът е различен от нула се изпълнява инструкция1 /или блок1/ . Ако изразът е равен на нула направо се преминава към следващата след if инструкция. • Вложени алтернативни структури Ако някоя от инструкциите, включени в състава на if – else е отново инструкция if-else, се получава вложена алтернативна структура. Вложените алтернативни структури могат да имат произволна форма. Пример: if ( а !=0) if (b = = 0) c = 10; else c = 20; От този запис не е ясно дали алтернативата след else / с = 20; / зависи от стойността на израза ( а !=0) или от стойността на израза (b = = 0) . Правилото при изпълнението на вложените алтернативни конструкции е следното: инструкцията след всеки else оператор се изпълнява в зависимост от стойността на израза след най-близкия до него предхождащ го if оператор. В този пример, при условие, че а е различно от 0, c приема стойност 10, ако b е равно на 0 и стойност 20, ако b е различно от 0. • Инструкция switch Предназначение: Служи за избор на един от няколко възможни варианта. Синтаксис: switch (израз) { case к1 : последователност1 от инструкции; break; case к2 : последователност2 от инструкции; break; ... case кN : последователностN от инструкции; break; default : последователностN+1 от инструкции; } switch – ключова дума / ключ/; (израз ) – израз от целочислен тип / int, char, изброяване, bool/; к1, к2, ..., кN – константни изрази от типа на израз. Трябва да бъдат различни; case - ключова дума / случай/; default – ключова дума / по подразбиране/. Изпълнение: Изчислява се стойността на израза. Последователно се проверява дали стойността на израза съвпада със стойността на константните изрази k1, k2, kN. В случай на съвпадение се изпълнява съответната последователност от инструкции. Инструкцията break предизвиква прекъсване изпълнението на инструкцията switch, при което се преминава към следващата в програмата инструкция. Вариантът default не е задължителен. Ако е включен, той се изпълнява при условие, че стойността на израза не съвпада с нито една от константите k1, k2, ..., kN. Възможно е също няколко варианта да изпълняват едни и същи действия. |